「Conficker Worm using Metasploit payload to spread」より
January 15,2009 Posted by Xiao Chen
最近になって,ワーム「W32/Conficker」の分析用サンプルを新たにいくつか入手した。調査の結果,同ワームは最近話題の「MS08-067」(関連記事:Windowsの「緊急」脆弱性を突くウイルスが続出,パソコンを乗っ取られる恐れ)のぜい弱性を突き,セキュリティ検証ツール「Metasploit Framework」のモジュール「ms08_067_netapi」を流用して拡散を図っていた。以下は,ワームから送信されたトラフィック・パケットのキャプチャ(スナップショット)だ。
上記の画像から明らかな通り,このパケットにはms08_067_netapi.rbの「Rex::Text.rand_text_alpha」から生成されたと思われるランダムな英数字列がある。赤枠で囲んだデータのバイト順を変えたところ,「0x00020408」「0x6f8917c2」「0x6f88f807」という三つのアドレスが得られた。以下に示す通り,これらはms08_067_netapi.rbのエクスプロイトにおける内部ターゲットだ(metasploitから引用)。
# Metasploit's NX bypass for XP SP2/SP3
[ 'Windows XP SP3 English (NX)',
{
# Metasploit's NX bypass for XP SP2/SP3 [ 'Windows XP SP3 English (NX)', { 'Ret' => 0x6f88f807, 'DisableNX' => 0x6f8917c2, 'Scratch' => 0x00020408 } ], # JMP ESI ACGENRAL.DLL, NX/NX BYPASS ACGENRAL.DLL
metasploitの最新エクスプロイトは,Windows XP/2003を含め,複数の言語をターゲットとしている。英語,アラビア語,チェコ語,デンマーク語,ドイツ語,ギリシャ語,スペイン語,フィンランド語,フランス語,ヘブライ語,日本語,中国語などだ。metasploitのエクスプロイト・モジュールであるms08_067_netapiは,Windowsのバージョン情報,サービス・パック情報,ターゲットOSの言語情報を検出する「smb_fingerprint()」関数も備えている。こうした機能のおかげで,Confickerワームはプログラミングが大幅に簡易化され,非常に大きな被害を与えるられるようになる。metasploitの同モジュールをベースにコードを作ると,ウイルス/ワームのプログラマは,ダウンロードと感染を自動化する関数を実装するだけで済む。この作業は,エクスプロイトの基本知識と,そこそこのプログラミング・スキルを持つプログラマであれば可能だと思う。このトラフィック・キャプチャをさらに分析したところ,今回のワームにはOSバージョン情報とサービス・パック情報を検出する関数のみが組み込まれていた。OSの対応言語を判定する「機能」は備わっておらず,今回のワームは(当ブログ記事の執筆時点で)英語版のみをターゲットとしている。
我々は,今回のマルウエアがOSバージョン情報とサービス・パック情報を取得する際にやり取りしたパケットをとらえた。その一部を以下に示す。
SMBセッション設定要求を送ることで,ターゲット・マシンのOS情報を取得できる。OSが「Windows Server 2003」の場合,サービス・パック情報も返される。
Windows XPシステムの数は膨大なため,ワーム作者はこの情報を取り逃がしたくなかったに違いない。このため,Confickerワームでは「\SRVSVC」と名付けたパイプにアクセスし,サービス・パックのレベルを判断している。これは,metasploitのsmb_fingerprint()関数の方法とよく似ている。
if (os == 'Windows XP' and sp.length == 0) # SRVSVC was blocked in SP2 begin smb_create("\\SRVSVC") sp = 'Service Pack 0 / 1' rescue ::Rex::Proto::SMB::Exceptions::ErrorCode => e if (e.error_code == 0xc0000022) sp = 'Service Pack 2+' end end end
つまり,今回の例では,マルウエア/ワームの作者は,オープンソース・ツールを悪用して,作業を簡易化していた。
マシンに修正パッチを当てていないなら,今すぐMS08-067の修正パッチを適用してほしい。当社のホスト型IPS(不正侵入防止)製品またはネットワーク型IPS製品のユーザーは,それぞれシグニチャ「3961」および「0x40709d00」で対策済みだ。当社のウイルス対策ソフト「VirusScan」のユーザーは,ウイルス定義ファイル(DAT)「5444」で当該ワームが検出される。
Copyrights (C) 2009 McAfee, Inc. All rights reserved.
本記事の内容は執筆時点のものであり,含まれている情報やリンクの正確性,完全性,妥当性について保証するものではありません。
◆この記事は,マカフィーの許可を得て,米国のセキュリティ・ラボであるMcAfee Avert Labsの研究員が執筆するブログMcAfee Avert Labs Blogの記事を抜粋して日本語化したものです。オリジナルの記事は,「Conficker Worm using Metasploit payload to spread」でお読みいただけます。