サイトマップ

マルウェア関連のトピックス

メモ帳修正テンプレート − HijackThisのログなどが開けない!

(このページはMech.MozillaさんがWikiで作られたものを焼き直したものです。より詳細な元のMech.Mozillaさんのページはこちらです

以前ほど見かけなくなりましたが、「about:blank search for型」と呼んでいるmalwareが蔓延した当初、notepad.exe(メモ帳)が不正ファイルに置き換えられるという症状が多数報告されました。この場合、HijackThisやアンインストール情報などで作成される「.log」、「.txt」といった形式のファイルが通常の方法では開けないという状態に陥り、質問専用掲示板で質問をする際に必要な情報(ログ)の開示に支障をきたします。

この症状が出た場合は、「notepad.exeの不正な書き換え」が起こっていないかを調査し、その上で正常な状態に修復する必要があります。

メモ帳の不正な書き換えの有無の調査

メモ帳(notepad.exe)がどのように上書きされているかを確認するため、Mech.Mozillaさんが作られたバッチファイル(noteCheck.bat)を使用します。

上のリンクをクリックして「noteCheck.bat」をデスクトップなどにダウンロードします。

ダウンロードした「noteCHK.doc」をダブルクリックすると、黒いDOS画面が現れてバッチファイルが実行されます。
image

しばらく待つと、「noteCheck.bat」と同じ場所に「noteCHK.doc」 が作成されます。このファイルはMicrosoft Word及びWordpadで開くことができます。

「noteCHK.doc」をダブルクリックすると警告が出る場合

「noteCHK.doc」をダブルクリックした際に、「コンバーターが必要です」という内容の警告が出ることがあります。 この警告は、Microsoft Word (2002以前)がインストールされている環境で起こります。この場合は「インストールしますか」の問いに「いいえ」と答えてスキップすることで開くことができます。

「はい」をクリックしてインストールしても構いませんが、その際にMicrosoft OfficeやMicrosoft WordのSetupCDが必要になります。

「noteCHK.doc」ログのチェック方法

これらは正常な「noteCHK.doc」のログの例です。Windows 9X系とWindows 2000/XP系とではログの見かけが違います。
ログの中の日付は人によって違うので例と異なっても気にしないで下さい。

・ Windows 9X系 (95/98/ME)

C:\WINDOWS\
NOTEPAD EXE 53,248 98-06-12 19:01 notepad.exe
C:\WINDOWS\system32\
C:\WINDOWS\help\
NOTEPAD CHM 59,840 98-06-12 19:01 NOTEPAD.CHM
NOTEPAD CNT 95 98-06-12 19:01 NOTEPAD.CNT
NOTEPAD HLP 8,369 98-06-12 19:01 NOTEPAD.HLP
C:\WINDOWS\system32\dllcache\
C:\WINDOWS\applog\
NOTEPAD LGC 3,487 04-07-05 13:08 NOTEPAD.LGC

・ Windows 2000

C:\WINNT\
2000/08/26 21:00 50,960 NOTEPAD.EXE
C:\WINNT\system32\
2000/08/26 21:00 50,960 notepad.exe
C:\WINNT\help\
2000/08/26 21:00 28,327 notepad.chm
2000/08/26 21:00 8,759 notepad.hlp
C:\WINNT\system32\dllcache\
2000/08/26 21:00 50,960 notepad.exe
C:\WINNT\applog\

*: 「C:\WINDOWS\system32\dllcache\notepad.exe」は、バッチを実行したユーザーに管理者権限が無いと表示されません。

・ Windows XP

C:\WINDOWS\
2001/08/28 18:58 66,048 notepad.exe
C:\WINDOWS\system32\
2001/08/28 18:58 66,048 notepad.exe
C:\WINDOWS\help\
2001/08/28 21:00 28,297 notepad.chm
2001/08/28 21:00 8,302 notepad.hlp
C:\WINDOWS\system32\dllcache\
2001/08/28 18:58 66,048 notepad.exe
C:\WINDOWS\applog\

このログで注目するのは、「notepad.exe」 の配置されているディレクトリ(フォルダ)とファイルサイズです。

OS 「notepad.exe」の場所 ファイルサイズ(KB)
windows 9X系 C:\WINDOWS\ 53,248
windows 2000 C:\WINNT\ 50,960
C:\WINNT\system32\ 同上
C:\WINNT\system32\dllcache\ 同上
windows XP C:\WINDOWS\ 66,048
C:\WINDOWS\system32\ 同上
C:\WINDOWS\system32\dllcache\ 同上
windows XP SP2 C:\WINDOWS\ 67,584
C:\WINDOWS\system32\ 同上
C:\WINDOWS\system32\dllcache\ 現れない

ログの中に「notepad.exe.bak」が存在した場合には、確実に不正な改竄が行われています。それが無い場合には、「notepad.exe」の場所とファイルサイズを確認します。これが上の表と異なる場合にはやはりやられている可能性が非常に高いです。

2000/XPの場合には三ヶ所に「notepad.exe」が現れますが、それで正常です。削除してはいけません。この中で特に注目して欲しいのが

C:\WINDOWS\system32\dllcache\notepad.exe

です。このファイルはシステム保護機能が働く際のバックアップとして使われます。このファイルが改竄されている場合は不正ファイルが管理者権限を持って実行されているということになりますので、悪質なトロイ等さらに深刻な被害を受けている可能性が高いです。

修正方法

以下が具体的な修正方法です。OSが9X系かどうか、正常なファイルが残っているかどうかで対処法が異なります。

なお、以後の作業でwindows 2000をお使いの方は「C:\Windows」をすべて「C:\WINNT」に読み替えて下さい。

Windows 9Xの場合の修正方法 − 正常なファイルが残っている場合

ファイルサイズが53,248の「C:\Windows\notepad.exe.bak」がログの中に現れた場合、リネームによって修復が可能な可能性があります
「notepad.exe.bak」が正常なファイルであった場合はこの手順だけで修復できます。

  1. 贋物の「C:\Windows\notepad.exe」を削除
  2. 「C:\Windows\notepad.exe.bak」に改名されている正常なファイルを「右クリック」→「名前の変更」からファイル名を 「notepad.exe」に戻す

「notepad.exe.bak」が24,800バイトなどの不正ファイルになっている事もありますので、ファイルサイズを必ず確認してください。

Windows 9Xの場合の修正方法 − 正常なファイルが残っていない場合

正常な「notepad.exe」が残っていないか損傷しているケース、あるいはnotepad.exe.bak までもが不正ファイルになっているケースではリネームによる修復を行うことができません。この場合は、sfc(98の場合)や msconfig(MEの場合)を使って「notepad.exe」をWindows Setup CD-ROM (以下 Windows CD と略)等から抽出する必要があります。

抽出の方法は、

<windows 98>

  1. [スタート]−[ファイル名を指定して実行] のテキストボックスに「sfc」と入力してEnter
  2. 「インストールディスクからファイルを1つ抽出する」を選択し、「noetpad.exe」を指定して「開始」をクリック
  3. 復元元として Windows CD の Win98 フォルダを指定し、保存先に「C:\Windows」を指定して、「OK」をクリック
  4. (メーカー製PCで Windows CD が無い(機器に特化したリカバリCDとして提供されている)場合は、復元元として 「C:\Windows\Options\Cabs」を指定)

<Windows Me>

  1. [スタート]−[ファイル名を指定して実行] のテキストボックスに「msconfig」と入力してEnter
  2. [全般] タブの「ファイルの抽出」ボタンをクリックし、「notepad.exe」を指定して「開始」をクリック
  3. 復元元として Windows Me CD-ROM の Win9x フォルダを指定し、保存先に「C:\Windows」を指定して、「OK」をクリック。
  4. (メーカー製PCでWindows CD-ROM がない場合は、復元元として「C:\Windows\Options\Cabs」を指定します)

Windows 2000/XPの場合の修正方法 − 正常なファイルが残っている場合

「noteCHK.doc」に

C:\WINDOWS\system32\dllcache\notepad.exe

が現れている場合は、先ずこれが改竄されていないかファイルサイズを確認します。
ただし、Windows XP SP2の場合は現れませんので、正常だと考えて進めて下さい。

ファイルサイズは、2000の場合は50,960、XPの場合は66,048です。これが正常な場合には、下記の操作で修復できます。

  1. 「C:\Windows\notepad.exe.bak」および「C:\Windows\System32」に存在する「notepad.exe」と「notepad.exe.bak」を破棄 (無いなら無いでOK)
  2. 「C:\Windows\notepad.exe」をコピーして「C:\Windows\System32」の中へ貼り付ける

もし、「C:\WINDOWS\system32\dllcache\notepad.exe」に異常が見られるようであれば、次の作業に移って下さい。

Windows 2000/XPの場合の修正方法 − 正常なファイルが残っていない場合

この作業が必要になるケースはまれです。しかし、前に書いたように「C:\WINDOWS\system32\dllcache\notepad.exe」に何らかの異常(ファイルサイズの違いなど)が見られる場合には、管理者権限を持った不正プログラムが実行された証拠ですので、他のシステムファイルが無事だという保証はありません。

この場合にはいっその事「sfc (System Files Checker)」 により、システムファイル全体をチェックした方が良いと思われますが、ここでは「notepad.exe」のみを抽出してとりあえずログが開ける様にする方法を紹介します。「notepad.exe」のみをCD-ROMなどから抽出します。

  1. Windows CD をCDまたはDVDドライブへ挿入。メーカー製PCで、Windows CDがない(機器に特化したリカバリCDとして提供されている)場合は不要です。
  2. 「スタート」→「ファイル名を指定して実行」から、テキストボックスに「cmd」と入力してEnter。
  3. プロンプトに「expand [Drive]:\i386\notepad.ex_ "%userprofile%\my documents\notepad.exe"」と入力し実行。(*注)
  4. これまでの操作で、「マイドキュメント」の中に「notepad.exe」が抽出します。これを、下記の3ヶ所にコピーします。
  5. 上の3ヶ所のフォルダに、「notepad.exe.bak」が存在すればすべて削除します。

*注 : [Drive]は、CDまたはDVDドライブのドライブレターを代入します。例えばCDドライブが「E」の場合は「expand e:\i386\notepad.ex_ "%userprofile%\my documents\notepad.exe"」になります。リカバリCDしかない場合は、「C」を入力します。抽出元の「notepad.ex_」の末尾が「_(アンダースコア)」である事と、その後に半角スペースが存在することに注意して下さい。なお、その他のスペースもすべて半角です。

「スタート」メニューのショートカットの修正

ファイルが修復できたら、次に「スタートメニュー」にある「notepad.exe」のショートカットをチェックし、必要に応じて修復します。この現象は、不正プログラムによるものと言うよりは「notepad.exe」があるべき場所に見つからないために、開こうとしたときにWindowsが適当なものへのリンクを貼ってしまった場合に起こります。

「スタート」→「プログラム」→「アクセサリ」→「メモ帳」を選択し、右クリックから「プロパティ」を左クリックします
image

すると、「プロパティ」の中の「ショートカット」タブが開きます
image

「リンク先」と「作業フォルダ (Win2000/XPの場合)」の内容をチェックします。

OS リンク先 作業フォルダ
windows 9X C:\Windows\notepad.exe 空欄でOK
windows 2000/XP %SystemRoot%\system32\notepad.exe %HOMEDRIVE%%HOMEPATH%

上の表と違っている場合は、同じになるように修正して「OK」をクリックして下さい。

これでメモ帳の修復作業は終了です

メモ帳を起動して、正常に動作することを確認してください。

windows 2000/XPに存在する3つの「notepad.exe」について

以下はやはりMech.Mozillaさんのページからの引用です。面白い情報ですのでご興味のある方は是非ご一読を。

windows 2000/XPの場合、正常な状態で下記の3ヶ所に「notepad.exe」が存在します。ただし、XPでSP2を当てている場合には1.の本体は現れません。

  1. 「C:\Windows\System32\dllcache\notepad.exe」
  2. 「C:\Windows\notepad.exe」
  3. 「C:\Windows\System32\notepad.exe」

1. 「C:\Windows\System32\dllcache\notepad.exe」

「C:\Windows\System32\dllcache」のフォルダは、非常に重要なフォルダで、「システム保護機能」が働く際の復元元として使われます。正常なファイルのバックアップと考えて良いです。このファイルを操作するためには管理者権限が必要で、もしここが不正に改竄されているとすれば他のシステム等になにをされているか解らず、非常に危険な状態です。

逆に言えば、このフォルダにあるファイルが無事な場合には「システム保護機能」によって自動修復されます。ただし、後で述べますが何故か修復されるのは「C:\Windows\notepad.exe」のみで、「スタート」メニューにある「メモ帳」のショートカットをはじめ実際に使われる「C:\Windows\System32\notepad.exe」は修復されません。ですので、自動修復されても肝心の実行ファイルが修復されず、症状が発生するケースがあります。

SP2を当てたXPの場合は、セキュリティ強化のためかログに現れなくなりましたが、原則として「C:\Windows\notepad.exe」に反映されているはずです。

2. 「C:\Windows\notepad.exe」

上に書いた様にこちらは自動修復されますが、実際にはあまり使われないファイルです。「noteCHK.doc」のログにおいて、「C:\Windows」直下に、同じサイズ(正常な)の「notepad.exe」と「notepad.exe.bak」が存在する事がままあります。これは、「C:\Windows」フォルダ内で「notepad.exe」が改竄されて「notepad.exe.bak」になった後に作成された偽物の「notepad.exe」が自動修復によって正常なものに上書きされた結果だと推察できます。

3. 「C:\Windows\System32\notepad.exe」

上の「メモ帳の修復」で書いた様に、このファイルが「スタート」メニューからリンクされているファイルです。このファイルが改竄されたり削除されていると、他の二つの「notepad.exe」が無事であっても症状が現れますし、逆に他が無事でもこのファイルがやられていれば症状が出ます。

謝辞

何度も書いてますが、このページは参考にしたというよりモロにMech.Mozillaさん作です。快く焼き直し転載の許可を下さったMech.Mozillaさんに感謝致します。

更新履歴

2004.11.27 ページ作成


【文頭に戻る】