Symantec Security Response Weblog

The new Peacomm infection techniques」より
August 23,2007 Posted by Nicolas Fallier

 トロイの木馬「Peacomm」の最新版「Trojan.Peacomm.C」(順番で命名すると「Trojan.Packed.13」になる)は,感染テクニックに興味深い変更が施されていた。

 以前のブログ記事で紹介したが,Peacommを広めるスパム・メールは「applet.exe」というファイルへのリンクを設けたWebページにユーザーを誘導する。このWebページには,ユーザーが(賢明にも)「Secure Login Applet」(安全なログイン・アプレット)のダウンロードと実行をやめた場合に備え,Windows Media Playerのセキュリティ・ホールを攻撃する悪質なJavaScriptコードも組み込んである。攻撃に成功すると,感染したパソコンに小さなファイルをダウンロードさせ,そのファイルにapplet.exeをダウンロードさせる。どちらのファイルも,Trojan.Packed.13として検出される。

 applet.exeは起動すると,まず自分自身を「spooldr.exe」としてWindowsフォルダへコピーし,内蔵しているカーネル・ドライバを「spooldr.sys」としてSystemフォルダに入れる。さらに,「kbdclass.sys」というWindowsのデバイス・ドライバへの感染を試みる。これが,Peacommが使うロード・ポイントになる。次回のパソコン再起動時には,感染済みkbdclass.sysがWindowsにロードされ,そしてkbdclass.sysがspooldr.sysをロードする。

 spooldr.sysは複数の機能を備えており,悪賢い手口で目的達成を目指す。spooldr.sysはWindowsフォルダにあるトロイの木馬の本体,spooldr.exeを呼び出すローダーとして動作する。そのために,「explorer.exe」にシェル・コードのようなルーチンを注入してspooldr.exeプロセスを稼働させる。このロードの仕組みは非常に巧妙だ。まずspooldr.sysは,「CloseHandle」(カーネル・オブジェクトをクローズする引数)のアドレスを調べ,そのアドレス周辺で「MZヘッダー」を探すことで,「kernel32」をメモリーに配置する。その後「VirtualProtect」「WinExec」という二つのAPIのアドレスを調べる。そして小さなペイロードを作ってexplorer.exeに入れ,(エクスプローラなどの)ウインドウ対応アプリケーションがよく使う「PeekMessageW」APIのインポート・エントリにフックを設ける。このフック・ポイントはペイロードを指しており,エクスプローラがPeekMessageWを呼び出すとペイロードが実行される。ペイロードは,最初にこのインポート・エントリのフックを外してからspooldr.exe用のプロセスを作る。その上で処理を本物のPeekMessageWに飛ばし,正常なアプリケーション動作を行わせ,エクスプローラのクラッシュを回避する。このようにして,Trojan.Packed.13はエクスプローラ内にリモート・スレッドを作らないで済む。これはミドルクラスのマルウエアがよく使う手口であり,監視しているセキュリティ・ソフトウエアも存在する。

 Trojan.Packed.13はまた,新たに生成されたspooldr.exeのプロセスとspooldrで始まる全ファイルを隠す機能を持つ(この隠蔽は,システム・コール「ZwQueryDirectoryFile」にフックをかけて行っている)。このようにして,Trojan.Packed.13は三つのファイルspooldr.exe,spooldr.sys,spooldr.iniをユーザーから見えなくする。

 さらにルートキットも,サードパーティ製ファイアウオールやアンチウイルスなどのセキュリティ・ソフトウエアからトロイの木馬を守る。カーネルのコールバックは,プロセス生成を監視し,時にはマルウエアの邪魔になるソフトウエアのプロセスを停止するために「PsSetLoadImageNotifyRoutine」を使ってセットアップされる。さらにWindowsカーネルの「ntoskrnl.exe」と感染したWindows用ドライバkbdclass.sysという二つのファイルもロックする。重要なシステム・ファイルへのアクセスを禁止し,メモリーに読み込まれた改変済みのファイルとの違いをチェックされないようにすることで,ルートキット検出機能の動作を阻むことを目的としているのだろう。

 Peacommの機能は最新版でも変わっていないが,感染手口は高度化している。レジストリをロード・ポイントに利用しなくなり,Windowsの起動時にロードさせる手段としては,感染型ウイルス的な手法を採用した。

 ありがたいことにPeacommの新たな亜種のすべてと「Trojan.Mespam」などのPeacomm関連マルウエアは,当社がヒューリスティック手法でTrojan.Packed.13として発見したことにより,一網打尽にできる。


Copyrights (C) 2007 Symantec Corporation. All rights reserved.
本記事の内容執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。

◆この記事は,シマンテックの許可を得て,米国のセキュリティ・ラボの研究員が執筆するブログSecurity Response Weblogの記事を抜粋して日本語化したものです。オリジナルの記事は,The new Peacomm infection techniquesでお読みいただけます。