MTXウィルスを駆除する

私の友人のマシンがMTXというウィルスに感染した。このウィルスは、Windowsシステムのファイルに次々感染し、かなり高い確率でシステムを起動不能にしてしまう。
以下は、私の駆除メモである。感染の際にこの通りにすれば除去できるということではないが、再インストールせずに除去ができたという証拠と、他のウィルス駆除などにも使えるテクニックが潜んでいるかもしれないということで、あえて公開する。


(0) 感染
メールに添付されてきたスクリーンセーバ(HANSON.SCR)を展開し、実行したところ、何も起こらずにプログラムが終了した。
しかし次回起動後、エクスプローラが立ち上がらなくなるなどの症状が発生した。
同じ添付ファイルを受け取った別の人より、上記の添付ファイルに"W95.MTX"というウィルスが含まれていることが連絡される。
いっぽう、感染したマシンは、セーフモードでかろうじて起動はできるが、どのファイルが感染しているかは不明なままである。
※このマシンにはウィルス検出ソフトがインストールされてはいたが、パターンが最新でなかったため、検出できなかった。
 シマンテックより、MTX駆除ツール(fixmtx.exe)をダウンロードして実行。
 駆除されたようにみえたが、次回立ち上げた時点で、ユーザIDとパスワードを入力後、「explorer.exeのエラーです。Windowsを再インストールして下さい」という(白地のウィンドウの…つまり、kernel32.dllからの)メッセージが出て、OKを押すとそのままシャットダウンされてしまう。
※おそらく、ウィルスの駆除過程で、explorer.exeが消されてしまったのだと思われる。

(1) 症状の確認
 症状を確認した。同じ症状はセーフモードでも発生。
 但し、[F8]キーを押し、Command prompt onlyで立ち上げることは可能。

(2) システムのチェック
 C:\WINDOWS\explorer.exeが存在していない。
※やはりウィルス駆除の際に消えたと思われる。MTXウィルスは感染したファイルを変えてしまうため、除去はそのままファイル自体の削除を意味する場合があるようだ。
 本来であればここでWindowsの再インストールとなるところだが、メールボックスなどのデータを消したくないため、そのままの状態で回復できる手段を探ることにする。

(3) エクスプローラの修復
 幸い近くにあった別のコンピュータが同じ、Windows 98であったため、ここからexplorer.exeをコピーしてくる。
 Command prompt onlyで立ち上げ、フロッピーでexplorer.exeをC:\WINDOWSにコピーして再起動したところ、正常に起動ができるようになった。
 しかし、この時点でもまだウィルスに感染したままのようである。

(4) McAfee VirusScanのインストール
 この状態のまま元のバージョンをアンインストールし、現バージョン(5.1)を再インストール。
 ファイルのアップデートを実行しようとしたが、アップデートプログラムが異常終了。

※MTXウィルスはWindowsにおいて通信を司るwsock32.dllファイルを書き換えてしまう。また、ウィルス駆除ソフトを作成している会社のドメインに含まれる文字列を含むサイトにアクセスしようとすると通信を妨害するらしい。今回もそれに引っかかったと思われる。

 2分に1回くらいの割合で、ダイアルアップ接続の画面が立ち上がる。
※これもMTXの症状らしい。2分に1回程度、サイトに接続してウィルスの本体をダウンロードしようとするらしい。

 そのままスキャンを実行。
 63個のファイルがMTXウィルスに感染していることを確認。駆除を試みるが、explorer.exeやMTX_.exeなどは削除できず。また、他の感染しているファイルも、多くは「駆除」をクリックしても駆除できない。おそらくファイルそのものを変更してしまっているためと考えられる。
 感染ファイルは、ほとんどがC:\WINDOWS直下にある*.exeというファイル。一部はtwain_32.dllなど、DLLファイルを含む。

・感染したファイルのリスト(一部は記録できなかった)
 C:\WINDOWS以下の
  hwinfo.exe, cvtaplog.exe, drwatson.exe, explorer.exe, fontview.exe, regedit.exe, mm2ent.exe, msnicon.exe, olddiccv.exe, packager.exe, rundll32.exe, scanregw.exe, sigverif.exe, taskman.exe, taskmon.exe, tuneup.exe, upwizun.exe, vcmui.exe, welcome.exe, winrep.exe, accstat.exe, asd.exe, mplayer.exe, rg2catdb.exe, sndrec32.exe, sndvol32.exe, winhlp32.exe, twain_32.dll, cdplayer.exe, kodakimg.exe, kodakprv.exe, rauninst.exe, rsrcmtr.exe, sysmon.exe, tour98.exe, twunk_32.exe, irxfer.exe, snmpapi.dll, netstat.exe, ping.exe, winipcfg.exe, ipconfig.exe, netmib1.dll  C:\WINDOWS\SYSTEM以下の wsock32.dll, urlmon.dll

 別機を使い、最新の定義ファイルをNAIのホームページからダウンロード。ただ、ファイル自体が2MBあるため、CompactFlash経由で感染マシンへインストール。

(5) ウィルスのおおもとを削除
 結局、スキャンでは駆除できなかったため、ウィルス本体を手動で削除することにした。
 別機からwsock32.dllとurlmon.dll、explorer.exeを輸送し、感染マシンのファイルと置き換える。これは、Command prompt onlyで立ち上げ、フロッピーディスク経由で運んできてコピー。
 次に、MTX_.EXEの削除を行う。しかし、C:\WINDOWSディレクトリに移り、コマンドラインでDEL MTX_.EXEとしても、「ファイルがありません」といわれてしまう。
※これは、MTX_.EXEが自分自身を「不可視属性」にしているため。
 不可視属性を解除するため、"attrib -h mtx_.exe"を実行し、再度"DEL MTX_.EXE"を実行し、ファイルの削除に成功。
 また、同様にC:\WINDOWS\WIN32.DLLを削除。

(6) 再スキャン
 再度Windowsモードで起動し(起動に成功)、再スキャンを開始。
※ウィルスが除去された証拠として、先ほど発生していた2分に1回のダイアルアップ接続画面のポップアップがなくなった。
 しかし、まだ18個のファイルが感染したままになっていたため、これらのファイルをシステムファイルチェッカーを使って復元。
 また、システムファイルチェッカーは元のファイルをC:\WINDOWS\helpdesk\SFCにコピーするため、コピーしたこれらのファイルも削除。

 スキャンの結果では、ウィルスに感染したファイルは発見されなかった。


駆除の教訓

スキャンソフトは万能とは限らない
スキャンソフトを使ってもファイルからウィルスを駆除できない場合が多い。そのファイルが使用中であったり、ファイル自体が変質してしまっているなどのケースである。最悪もとのファイルから戻すことが必要になる。そのためには、システムファイルチェッカーなどが有効。

近くに同じOSのマシンを置く
友人などで同じOS(バージョンが)を持っている人がいれば、その人のマシンを一時的に借りるなどして、不足しているファイルを移動する手もある。あるいは、正常に起動しているときのWINDOWSディレクトリをCDなどにバックアップしておき(MOは、DOSモードでは使えない場合がある。その意味ではUSBやPCカードの記憶媒体も避ける)、そこから必要なファイルを戻すという手もある。

フロッピーディスクからの起動ができるようにする
少なくともフロッピーベースの「起動ディスク」は作っておく。これを書き込み禁止にしておけば、ウィルスに感染することもない。また、スキャンソフト自体が用意する「緊急用ディスク」も作っておくと安心。ただ、スキャンソフトの緊急ディスクの場合には、フロッピーディスクのウィルスパターンも時折アップデートしておく。

DOSモードにある程度慣れる
DOSモードでコマンドベースでの復旧を行えるように、少なくともプロンプトやコマンドで最低限必要となりそうなものを理解する。コマンドとしては、attrib, copy, del, dirくらいでも何とかなる。また、起動時に[F5]を押すとセーフモード、[F8]を押すと起動モードの選択になることは覚えておく。

ご注意…本ページの記述をもとにしてウィルス駆除などを行う場合は、必ず行う人の自己責任において行って下さい。筆者は、本ページの記述に基づいて行われた操作によって発生したあらゆる障害や損害について、明示的、非明示的を問わず全ての責任を負わないものとします。
また、本ページでは特定の会社名及び商品名に言及していますが、筆者はその商品の購入や使用を推奨ないしは強制するものではありません。
/usr/spaceトップへ
/usr/spaceトップへ