山田ウイルス感染レポート番外編
今回紹介する感染例の報告はありません。
ハマーが作為的に作り出した状況です。
その状況とは、ズバリ『山田チェックツールが無効』となる状況です。

  1. 感染例
  2. 確認方法


1.感染例

もっともシンプルなウイルス実行方法です。
スタートアップ

ウイルス本体である偽装svchost.exeをスタートアップフォルダに置くだけです。
なぜなら、そこに登録されたプログラムはWindows起動時に自動的に実行されるからです。

たったこれだけのことですが、山田チェックツールはこのsvchost.exeを検出できません。





もう少し複雑な例も見てみます。

突然ですが、タスクマネージャーを起動してみます。
タスクマネージャー

explorer.exeが2つ、共にログオンユーザ名で起動しています。
経験を積んだ方ならすぐにわかるでしょうが、使用メモリの大きい方が本物のexplorer.exeです。
もう一つのexplorer.exeは、山田svchost.exeをリネームしたモノです。

それではウイルス本体の存在するフォルダを確認してみます。
ウイルス本体


次にこのexeファイルをスタートアップ実行させる方法です。
今までの感染レポートを読めば分かるように、二通りの方法があります。

一つはレジストリにウイルスへのパスを登録する方法です。
レジストリ登録型

exeファイルの名前とキーの名前が既存の物と異なります。


もう一つは、All Userスタートアップのショートカットにウイルスへのパスを追加する方法です。
スタートアップ偽装型

こちらはexeファイルの名前が既存の物と異なるだけです。


たったこれだけのことで、山田チェックツールは偽装されたexeファイルを検出できなくなります。
無力なチェックツール

HOSTSファイルやBoot.iniが改ざんされていない場合、チェックツールは完全に無力となります。





2.確認方法

ウイルス本体がリネームされている場合、いくらPC内を検索したところで見つかるはずがありません。
そこで山田ウイルスの特徴である、感染PCのHTTPサーバー化の観点から感染の確認とウイルスの存在する場所の特定を試みます。

まずはコマンドプロンプトを開きます。
そして『netstat -ano』を実行します。
注目するのは、ローカルポートにHTTPで使うポート(80、8080)が使用されているかどうかです。
C:\Documents and Settings\ハマー>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       1724
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       904
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING       968
  TCP    0.0.0.0:1028           0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:5000           0.0.0.0:0              LISTENING       1052
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       1724
  TCP    192.168.11.9:139       0.0.0.0:0              LISTENING       4
  TCP    192.168.11.9:1054      192.168.11.3:139       TIME_WAIT       0
  UDP    0.0.0.0:445            *:*                                    4
  UDP    0.0.0.0:1035           *:*                                    1040
  UDP    127.0.0.1:123          *:*                                    968
  UDP    127.0.0.1:1900         *:*                                    1052
  UDP    192.168.11.9:123       *:*                                    968
  UDP    192.168.11.9:137       *:*                                    4
  UDP    192.168.11.9:138       *:*                                    4
  UDP    192.168.11.9:1900      *:*                                    1052

分かりやすいように、文字色を変えてあります。
もしHTTPサーバーを立てていない場合、ポート80で待ち受けるプロセスは存在しないはずです。

今回のケースではプロセスのID(PID)は1724となっています。
それではこのプロセスが何なのか、tasklistコマンドを使って調べてみます。
C:\Documents and Settings\ハマー>tasklist /fi "PID eq 1724"

イメージ名                   PID セッション名     セッション# メモリ使用量
========================= ====== ================ ======== ============
explorer.exe                1724 Console                 0      3,884 K

このexplorer.exeが存在する場所を調べてみます。
プロセスパスを調べるのにはSlightTaskManagerを使用します。
SlightTaskManager

SlightTaskManagerではプロセスIDが16進数で表されています。
1724は16進数で表すと0x06BCです。
explorer.exeが『C:\Program Files\Common Files\Microsoft Shared\Euro』に存在するわけがないので、ウイルスと見て間違いないでしょう。



ちなみにこれまでの工程は、NEGiESを使用することで簡単に調べられます。
葱鴨

上の画像のように設定するだけで、ローカルポート・プロセスID・プロセス名・プロセスパスを一度に知ることができます。


あとは該当プロセスを停止し、プロセスパスの示す場所にあるウイルス本体を削除するだけです。
なお、該当プロセス名が複数あった場合は、[表示(V)]の列の項目にプロセスIDを追加し、それで判断します。
プロセスの停止


HOSTSファイルの修正等は今までと同じです。

ウイルス本体さえ削除すれば、ウイルスが実行されることはありません。
レジストリ等に残るゴミデータが気になるようでしたら、他の感染レポートを参考に、プロセスパスを示した項目を削除して下さい。




Topへ戻る