Symantec Security Response Weblog
Waledac,Part 3:A Spammer,Downloader,and Infostealer--Among Other Things」より
August 24,2009 Posted by Gilou Tenebro

 「Waledac」を取り上げた前回は,Waledacの起動処理と防御策を解説し,通信プロトコルに触れた。今回は引き続き通信プロトコルを説明し,次にボット制御(C&C:command-and-control)メッセージ経由で主な機能を実現する方法を紹介しよう。具体的には,Waledacのタスクとコマンド,コンポーネント/アップデートのダウンロード方法,スパム・メッセージの作成方法,情報を盗む方法を説明する。

タスク・メッセージの種類

 前回の記事で書いたとおり,現在W32.Waledacの使っているタスク・メッセージは9種類ある。こうしたメッセージは,主にスパム・キャンペーン実行に必要なスパム用テンプレート/wordsリストの配布,レポートの送信,盗んだ情報の収集といった処理で使う。Waledacのスレーブ・ノードとリレー・ノードがよく行う通信処理を,図1に示した。なお,リレー・ノードは単なるプロキシ・サーバーとして機能し,マスターC&Cサーバーの指示に従っているに過ぎない。つまり,図1のやり取りはスレーブ・ノードとリレー・ノードの間で行われているように見えるが,実際にはマスターC&Cサーバーが命令/応答している。

 図1の例を使って詳しく説明しよう。「getkey」タスクの処理において,スレーブ・ノードは自己署名済み証明書の入ったメッセージを送り,リレー・ノードとのハンドシェーク開始を試みる。相手のリレー・ノードは,後で交換するメッセージの暗号化に使うセッション鍵を送り返す。セッションが確立すると,スレーブ・ノードは「first」トランザクションを実行し,自分のノード・ラベルとWindowsバージョンを報告する。リレー・ノードは,単に受信成功とだけ返す。その後スレーブ・ノードは起動/実行回数の情報を送って「notify」ルーチン・タスクを処理し,これに対する応答としてリレー・ノードからコマンドと別の設定データを受け取る。続いてスレーブ・ノードはスパム・タスク実行に必要な「taskreq」処理を開始し,リレー・ノードは1個または複数のスパム・タスクに使うスパム用テンプレートを送り返す。リレー・ノードからのテンプレートには,メール用テンプレートのほか,使用可能なコンポーネントまたはwordsリストの一覧が入っている。テンプレートという形で命令を受け取ったスレーブ・ノードは,各wordsリストを要求するために複数の「words」トランザクションを実行する。リレー・ノードは,要求に従ってwordsリストを返す。スパム・タスクが終わると,スレーブ・ノードはスパム送信に成功または失敗したメール・アドレスを知らせるレポートを送って「taskrep」トランザクションを処理し,リレー・ノードから受信成功という返答を受け取る。

 ところで,スレーブ・ノードは「emails」タスク・ルーチンの処理中に集めたメール・アドレスをメッセージに入れて,好きなときに送信できる。また,スレーブ・ノードは「creds」処理で入手に成功したログイン情報も送れる。いずれの場合も,リレー・ノードからは受信成功という返答が届く。


図1●スレーブ・ノードとリレー・ノードがよく行うやり取り

 これに対しリレー・ノードも図2に示した別のタスクを実行し,プロキシ・サーバーとして機能した際の接続状況レポートをC&Cサーバーに送る。このレポートには,要求されたファイルやIPアドレス,要求元のユーザー・エージェントといった情報が入る。


図2●リレー・ノードの実行する「httpstats」トランザクション。以下でnotify/taskreq/words/emails/credsタスクについて詳しく説明する

notifyタスク・メッセージ:Waledacはダウンローダとして機能

 Waledacのノードはnotifyタスク・メッセージを交換することで,図3に示したような設定データとコマンドを受信する。例えば,スレーブ・ノードがスパム・タスク実行時に接続するSMTPサーバーのIPアドレスといったデータがやり取りされる。スレーブ・ノードが設定データを受け取るだけでなく,リレー・ノードはDNSゾーンのドメイン名とDNSホストのIPアドレスを受信する。このことから,リレー・ノードは接続拒否やブラックリスト作成の目的で接続要求リストを入手していると思われるが,当記事の執筆時点でこの推測が正しいかどうか分からない。


図3●スレーブ・ノードの受け取るnotifyメッセージの例

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら