匿名TORネットワークの機能を使用するボットネットは根本的に新しいものではなく、数年前にDefcon 18カンファレンスで既に議論されています(「
Torを使用したボリネットコマンドと制御 」)。 昨年、サイバー犯罪者が使用する実際のボットネットでのこれらのアイデアの使用に関するいくつかの興味深い事実を確認することができました。 このトピックは、2013年の初めにRapid7ブログで既に議論されていました(「
Skynet、Redditから直接Torを使用したボットネット 」)。 7月上旬、居住者のDancho Danchevは、TORを使用したC&Cルートキットコマンドサーバー
に関する情報を公開しました。
この夏、TORを使用するボットネットの成長に注目しました。 7月に、隠れたTORサービスプロトコルを使用してC&Cコマンドサーバーと対話する2つの異なるマルウェアファミリが発見されました。 このようなサービスは、秘密の通信チャネルを編成するのに適していますが、同時に感染したコンピューターから大量のデータを盗むのはかなり遅い方法です。 サイバー犯罪者にとって、C&Cとの通信の隠されたプロトコルサービスを使用するこの方法は、構成データの更新を受信するとき、または追加の悪意のあるモジュールをダウンロードするときに優先されます。
TORサービスを使用してC&Cと連携する2つの異なるボットネットを発見しました。 これらは、
Win32 / Atraxおよび
Win32 / Agent.PTAマルウェアファミリです。 どちらのファミリにも、ユーザーの入力を盗んでブラウザWebページの形式にする機能があります。
Alexander Matrosovと
Anton Cherepanovは、これらの悪意のあるプログラムを分析しました。 Atraxボットネットはより複雑で興味深いように見えるため、投稿を分析することから始めます。
Win32 / Atrax.AWin32 / Atrax.Aは、TORを使用した興味深いバックドアです。
Win32 / TrojanDownloader.Tiny.NIRとして検出される特別なダウンローダーを介してインストールされます。 ダウンローダーのエントリポイントは非常にシンプルで、下のスクリーンショットに示されています。
さらに興味深い情報は、コードにハードコーディングされたドメイン名「kundenservice-paypal.com」が6月中旬(2013年6月12日)に登録されたという事実です。 名前は、明らかに、PayPalの顧客サポートのためにドメインを提供するために与えられました。
PEヘッダーから抽出された情報によると、トロイの木馬とダウンローダーのすべてのコンポーネントは7月にコンパイルされました。
メインドロッパーファイルをロードして起動すると、3つのPEモジュール(TORクライアントとx32およびx64用の2つのDLLモジュール)のアンパック手順が開始されます。 WinAPI
RtlDecompressBufferは解凍に使用されます。 解凍機能のコードは次のとおりです。
インストールの前に、ドロッパーは仮想マシンまたはデバッガーのアクティビティを検出するための簡単なチェックを実行します。 ボットIDは、DigitalProductIDおよびMachineGuidレジストリ値を使用して計算されたMD5ハッシュです。 システムに感染する関数の呼び出しグラフをスクリーンショットに示します。
実行の最後に、関数は%APPDATA%ディレクトリでAES暗号化の原因となるプラグインを検索し、後で初期化しようとします。 すべてのプラグインには、次のパターン%APPDATA%\ CC250462B0857727 *に従って名前が付けられます。 プラグインはボットの初期化中にその場で復号化されますが、暗号化キーは感染したコンピューターに依存します。 このアプローチは、フォレンジックプロセス中にマルウェアファイルを抽出するプロセスを複雑にします。
TORクライアントはドロッパーボディにあり、暗号化されたAESファイルとして%APPDATA%ディレクトリに保存されます。 TORとの接続は、ブラウザが実行されているかどうかを確認した後に初期化され、その後、ntdll!NtSetContextThread APIを使用して、TORクライアントコードがブラウザプロセスのコンテキストに実装されます。 Win32 / Atrax.Aは、x86およびx64プロセスのコードインジェクションをサポートしています。
C&Cコマンドサーバーとボットの間のすべてのやり取りは、特別なHTTPリクエストによって編成されます。 この機能を担当する関数のプロトタイプを以下に示します。
2番目の
request_via_torパラメーターがtrueに設定されている場合、C&Cとの接続はTORを介して行われます。 この場合、関数呼び出しのグラフは次のようになります。
次に、次のパラメーターを使用してTorクライアントコードを実行する新しいスレッドが作成されます。
- AUTHENTICATE-認証用のパスワード。
- SIGNAL NEWNYM-プロキシノードのチェーンを変更します。
Atrax.Aは、C&Cとの最初の接続を確立したときに、感染したシステムについて収集した情報をTORネットワーク上のアドレスに送信します。
TORを使用する場合、元のC&Cアドレスまたはそのドメインを設定することはできませんが、TORネットワーク自体で生成されたアドレスを分析に使用することは可能です。 このような内部アドレスを設定することができ、C&Cの有効なコントロールパネルが見つかりました。
コントロールパネルの画像にあるAtraxという名前は、悪意のあるコードの検出を記録するためにWin32 / Atrax.Aという名前を選んだ主な理由です。
ボットの観点から見ると、Win32 / Atrax.Aは侵入先のコンピューターでのリモートコマンドの実行をサポートしています。 コマンドの解析と実行の主な機能は次のとおりです。
リモートでサポートされるコマンドのリストは次のとおりです。
- dlexec-ファイルをダウンロードして実行する
- dlrunmem-ファイルをダウンロードしてファイルに埋め込む
- dltorexec -TOR実行可能ファイルをダウンロードして実行する
- dltorrunmem -TOR実行可能ファイルをダウンロードし、ブラウザーに埋め込みます
- 更新 -自分で更新
- インストール -ファイルをダウンロードし、AESを使用して暗号化し、%APPDATA%に保存します
- installexec-ファイルをダウンロードし、AESを使用して暗号化し、%APPDATA%に保存してから実行します
- kill-すべてのスレッドを終了します
悪意のあるコードがさまざまな目的で使用するプラグインをさらにいくつかダウンロードできました。
最初のプラグインはフォームのグラバーであり、2番目のプラグインはパスワードを盗むように設計されています。 これらのロードされたモジュールは、ヘッダーのタイムスタンプで示されるように、7月にコンパイルされました。
[グラバーフォーム]
[パスワード盗難プラグイン]
Win32 / Atrax.Aは、TORを使用してボットネットを編成し、追加のプラグインにハードウェア設定に依存する一意のキーでAES暗号化を使用する悪質なコードの興味深い例です。
Win32 / Agent.PTA7月に追跡したTorを使用する別のファミリは、Win32 / Agent.PTAと呼ばれます。 このファミリは新しいものではなく、2012年から既に追跡されています。 同じ年に、Torと連携するためのこの悪意のあるコードの新しい機能が発見されました。 Torの秘密プロトコルサービスを使用してC&Cで動作します。 Agent.PTAには、TORネットワーク内のC&CアドレスでRC4を使用して暗号化された組み込みの構成情報が含まれています。 復号化された構成情報は次のとおりです。
Win32 / Agent.PTAは、追加のプラグインをダウンロードできるシンプルなフォームグラバーです。 このトロイの木馬は、C&Cから特別なコマンドを受信することにより、SOCKS5プロキシモードをアクティブにすることができます。
おわりに今年、すでにTORを使用するボットネットを見てきましたが、この夏、このような悪意のあるプログラムの数がまさに増加していることがわかりました。 技術的な観点から、このようなボットネットはC&Cの本当の場所を検出するのが難しいため、調査するのが非常に困難です。 しかし、Win32 / Atrax.Aボットネットを例として使用して、相互作用プロトコルを分析する方法は変わらず、TORネットワーク上のアドレスを操作する古い方法が関連しているという事実を示しました。