進化するDDoSボットネット 第1回:BlackEnergyボット

BlackEnergyは、ここ数年で最も有名なDDoSボットネットです。このボットは現在も開発中であり、新しい機能が絶えず追加されることで、悪質さを増しています。セキュリティ研究者はBlackEnergyを監視し続けており、現在あるBlackEnergyへのコマンド&コントロール(C&C)トラフィックの分析では、このボットネットがロシアのサイバー犯罪市場で生み出された可能性があることが判明しました。その証拠は、ボットの実行ファイルでも確認されています。シリーズの1回目となる今回は、このBlackEnergyボットのビルダーツールキットについて分析します。

このボットネットには、DoS攻撃を仕掛けるさまざまな機能が組み込まれており、ロシアのWebサイトをターゲットにしていることが確認されています。最近McAfee Labsは、BlackEnergyのビルダーツールキットを入手しました。このツールキットは、従来バージョンのビルダーと異なり、ウイルス対策ソフトによる検出を回避する、ポリモルフィックバイナリを作成するオプションが用意されており、またデバッグ対策機能も組み込まれていました。ツールキットには、ボットネットをコントロールするためのPHPスクリプトや、MySQLデータベースのスキーマなどの情報を含む、Web機能が用意されています。

BlackEnergy DDoSボットビルダー :

以下のスクリーンショットは、通常、自動ダウンロードやスパムメールによって配布されるボットクライアントを構築するために使用される、ビルダーツールキットです。

builder

以下は、ボットクライアントを構築するために使用されるデフォルトのパラメーターです。

Host: ボットクライアントと通信するC&Cサーバー

Request Rate: C&Cサーバーから新しいコマンドをフェッチする間隔を指定します

Build ID: 各ボット固有のビルドID。ビルダーツールキットが呼び出されるたびに変わります

Default Command: ボットクライアントがC&Cサーバーに接続できない場合に実行されるコマンド

Execute after: コマンドが実行されるまでの時間

Outfile : 最終的なボットクライアントの実行ファイル名

デフォルトのDDoSパラメーター:

ICMP Freq: 攻撃で送信されるICMPパケットの数

ICMP Size: 攻撃で送信されるICMPパケットのサイズ

Syn Freq: SYNフラッド攻撃で送信されるSYNパケットの数

HTTP Freq: HTTPフラッド攻撃で送信されるHTTPリクエストの数

HTTP Threads: 攻撃中に作成されるHTTPスレッドの数

TCP /UDP Freq: TCP/UDPフラッド攻撃中に送信されるTCP/UDPパケットの数

TCP Size: TCPペイロードのサイズ

UDP Size: UDPペイロードのサイズ

Spoof IP’s: フラッド攻撃中にIPスプーフィングを有効化/無効化するブール値

Use Crypt traffic: ボットクライアントの通信を暗号化するのに使われる可能性があります

Use polimorph exe: ウイルス対策ソフトウェアによる検出を回避するため、さまざまな暗号化ルーチンを挿入します

antidebug:デバッグ対策

すべての設定オプションを指定して「Build」ボタンをクリックすると、ボットクライアントが生成され、さまざまな手段で配布することが可能になります。

サーバーサイドのボットネットのコマンド&コントロールシステム

ツールキットには、ボットの感染を追跡するため、バックエンドに設置されているMySQLデータベースとやりとりするC&CサーバーサイドのPHPスクリプトが用意されています。ツールキットで確認されたファイルは以下の通りです。

Auth.php MySQL.php

Config.php Stat.php

Index.php db.sql

MySQL.php Readme.txt

C&Cシステムには、基本的なHTTPパスワード認証スキームが用意されています。Auth.phpで表示されるLogin/Password画面から、ボットマスターはボットネットをコントロールすることができます。

Auth

Admin、MySQL Loginの詳細は、以下のようにconfig.phpファイルに保存されます。

<?

// íàñòðîéêè áàçû

$opt[‘mysql_host’] = “localhost”;

$opt[‘mysql_user’] = “b0t2″;

$opt[‘mysql_pass’] = “2413038″;

$opt[‘mysql_base’] = “b0t2″;

// ëîãèí è ïàññ ê àäìèíêå

$opt[‘admin_pass’] = “admin”;

$opt[‘admin_login’] = “132″;

?>

ボットのC&Cシステムには簡単なデータベーススキーマが用意されており、SQLクエリーがdb.sqlファイルに保存されています。以下はファイルからの抜粋です。

– Table structure for table `opt`

CREATE TABLE `opt` (

`name` varchar(255) NOT NULL,

`value` varchar(255) NOT NULL,

PRIMARY KEY (`name`)

);

以下は、index.phpにアクセスしたときにUIに表示されるデフォルト値です。

– Dumping data for table `opt`

INSERT INTO `opt` (`name`, `value`) VALUES (‘attack_mode’, ’0′),

(‘cmd’, ‘wait’),

(‘http_freq’, ’100′),

(‘http_threads’, ’3′),

(‘icmp_freq’, ’10′),

(‘icmp_size’, ’2000′),

(‘max_sessions’, ’30′),

(‘spoof_ip’, ’0′),

(‘syn_freq’, ’10′),

(‘tcpudp_freq’, ’20′),

(‘tcp_size’, ’2000′),

(‘udp_size’, ’1000′),

(‘ufreq’, ’1′);

db.sql には、ボットネットのサイズを追跡する時に使用される「stat」という名前の重要なテーブル構造が保存されています。ボットクライアントによってポスト(POST)されるすべてのデータは、ボットクライアントからC&Cシステムに送り返されるビルドIDと一緒に、このテーブルに記録されます。

– Table structure for table `stat`

CREATE TABLE `stat` (

`id` varchar(50) NOT NULL,

`addr` varchar(16) NOT NULL,

`time` int(11) NOT NULL,

`build` varchar(255) NOT NULL,

PRIMARY KEY (`id`)

);

Index.php は、SQLデータベースに接続し、GUIに表示される統計情報をフェッチするスクリプトです。以下は、このファイルで見つけたSQLクエリーの例です。

ボットネットのアーキテクチャー

BlackEnergyのコマンド&コントロールシステムを詳しく調べたところ、内部でスクリプトがどのようにやりとりしているかが判明しました。以下は、サーバーサイドのシステムが感染を追跡する他のモジュールとやりとりする様子です。

displaystats

ボットネットのコマンド

 

ボットクライアントのC&Cコードのリバースエンジニアリングを行った結果、主に3つのタイプのコマンドで構成されていることが確認されました。また、これらのコマンドの引数がReadme.txt、cmdhelp.htmlファイルにまとめられており、このパッケージのロシア語版が付属していました。その他、ボットクライアントのバイナリの分析中に、ヘルプファイルに記載されていない4番目のコマンドもを発見しました。各コマンドを見てみましょう。

A ) flood:-

「Flood」コマンドは、ボットクライアントに複数のタイプのフラッド攻撃を仕掛けるよう指示します。このコマンドの引数は、先に図1で示した他のパラメーターと一緒に仕掛けるフラッド攻撃のタイプをボットに指示します。フラッド攻撃のタイプの引数の例は以下の通りです。

-ICMP

-UDP

-SYN

-HTTP

-Data

Floodコマンドと引数、その他のパラメーターは、Base-64でコード化された形式で、サーバーからボットクライアントに送信されます。以下は、ボットクライアントにポート80でTCP SYNフラッド攻撃を仕掛けるよう指示する、デコードされたコマンドの例です。

4500;2000;100;1;0;30;500;500;200;1000;2000#flood syn mail.ru 80 #10#xEN-XPSP1_80D1F15C

B )stop:-

 

Stopコマンドは、ボットクライアントにDDoSフラッド攻撃を一時的に停止するよう指示します。

command1

C )die:-

Dieコマンドは、ボットクライアントに感染したシステムから自身を削除するよう指示します。ExitProcess APIを呼び出してプロセスを中断し、すべてのDDoS活動を停止します。

D ) open:-

これは、文書に記載されていないコマンドです。ボットクライアントのバイナリを分析したところ、他の実行ファイルをダウンロードしたり、ボットの実行ファイル自体を更新したりするのに使われる可能性があります。

E )wait:-

ボットクライアントに、活動を行わずに沈黙を守り、指定された時間が経過した後、C&Cサーバーとコンタクトをとり、新しいコマンドを確認するよう指示します。このコマンドのフォーマットは以下の通りです。

4500;2000;100;1;0;30;500;500;200;1000;2000#wait#10#xEN-XPSP1_80D1F15C

 

上記は、ボットクライアントに10分待機してから新しいコマンドを確認するよう指示しており、以下のスクリーンショットからわかる内容とまったく同じです。

wait

ネットワーク通信

 

BlackEnergyのボットクライアントは、HTTPプロトコルを使って、C&Cサーバーと通信します。HTTP POSTリクエストを使用し、データをstat.phpページにポストするよう要求します。POSTリクエストのデータは、主にボット追跡に使用されるデータベースの「stat」テーブルに記録されます。HTTP POSTリクエストメッセージでボットクライアントが送信する情報には、IDとビルドIDがあります。

IDパラメーターは、SMBホスト名と感染マシンのC:\のボリューム情報を組み合わせたものです。以下のコードセクションから、IDパラメーターがどのように構築されているかがわかります。

build_code

Build_IDはボットビルダーがランダムに生成するパラメーターで、ボットネットの感染を追跡するために使用されます。リクエストを受け取ったC&Cサーバーは、以下のようにBase-64でコード化されたコマンドで応答します。

traffic

コマンドをデコードすると、以下が現れます。

4500;2000;100;1;0;30;500;500;200;1000;2000#wait#10#xEN-XPSP1_80D1F15C.

上記から、このボットネットで設定可能なDDoSパラメーターが分かります。#wait#コマンドでも、すべてのパラメーターが表示されます。同様に、以下のようなDoSコマンドがC&Cサーバーから発信されます。

# flood syn www.abc.com 25#10#

# flood http www.xyz.com#20#

# flood udp;dns;syn;1.1.1.1#10#

# flood icmp 1.1.1.1#5#

今回の分析により、ボットクライアントの実行ファイルを構築するのに使用されるツールキットにバックドアが設置されているということが判明しました。ツールキットの実行時、ビルダーのシステムのランダムなポートを受信待機モードで開きます。また、重要なシステム情報をリモートサーバーに送信することも確認されています。以下は、ボットを構築するツールキットを起動した際に撮影した、Base-64でコード化されたトラフィックのスナップショットです。

backdoored

上記のトラフィックをデコードすると、このツールキットからツールキットの作者に送信されている情報が現れます。

b64_decoded

また、ツールキットが以下のシステム情報を送信することも判明しました。

sysinfo

BlackEnergyに対するマカフィーの対応

McAfee Network Security Platformは、攻撃ID 0x48804c00 BOT: BlackEnergy Bot Traffic Detectedにより、BlackEnergyボットネットに対応しています。最新版をインストールしているユーザーは、BlackEnergyボットネットから保護されます。

関連記事

関連情報

※本ページの内容はMcAfee Blogの抄訳です。
原文:Evolving DDoS Botnets: 1. BlackEnergy

[レポート]クラウド環境の現状レポートと今後 ~クラウドの安全性の状況と実用的ガイダンス

 マカフィーでは、1,400人のIT担当者に年次アンケートを実施し、クラウド採用状況やセキュリティについて調査しました。
 調査の結果、クラウドの採用とリスク管理への投資を増やしている組織がある一方で、クラウドの採用に慎重なアプローチをしている組織が多いことがわかりました。
 本調査では、クラウドサービスの利用状況を分類し、短期投資の確認、変化速度の予測、重要なプライバシーおよびセキュリティ上の障害物への対応方法の概要を示しています。

 本レポートでは、クラウドの現状把握と今後の方向性、クラウド対応の課題やポイントを理解することができます。

<掲載内容>
■ 主要調査結果
■ 調査結果から言える方向性
■ 課題への対応
■ 変化への対応力
■ 考慮すべき点:安全なクラウドの採用で事業を加速