DNS通信に悪意あるデータを隠す「TrickBot」亜種 Windows端末を狙う新たな攻撃手法
情報元:ASCII.jp 2026-09-04T08:00:00.000Z
情報元による記事紹介
FortiGuard Labsは、C2通信にDNSトンネリングを利用し、モジュール型実行を採用するとともに、永続化と難読化の手法を用いるTrickBotの亜種を解析しました。
AIによる記事の要点
情報元の記事をもとに自動生成しています。誤りや省略が含まれる場合があります。詳細は元記事で確認してください。
【概要】 FortiGuard Labsが、DNS通信に悪意あるデータを隠すTrickBot亜種を確認した。このマルウェアはDNSトンネリングを利用してC2サーバーと通信し、Windows端末を完全に制御する能力を持つ。従来のHTTP通信ではなくDNS応答のIPアドレスにペイロードを埋め込む新たな手法を採用している。 【具体的なポイント】 ・**DNSトンネリングによるC2通信** TrickBot亜種は、標準的なDNSクエリ・応答に暗号化されたコマンドデータを埋め込んでC2サーバーと通信する。キー0xB9によるXOR暗号化、16進数エンコード、63文字ごとのピリオド挿入により、正規のドメイン構造を装いながら悪意あるデータを隠ぺいしている。 ・**3種類のDNSパケットによるデータ転送** 0x30パケット(リクエスト)でコマンドを送信、0x31パケット(サイズクエリ)で応答サイズを確認、0x32パケット(応答データ)でコマンド応答を受信する。0x30パケットが96バイトを超える場合は複数に分割され、セッションIDで関連付けられる。 ・**IPv4アドレスへのペイロード埋め込み** DNS応答の各IPv4アドレス第1オクテットの上位6ビットをインデックスとして使用し、残り3バイトにペイロードを格納。最初の2つのIPアドレスはデータオフセットとサイズ情報に予約され、1パケットあたり最大183バイトのペイロード転送が可能。DNSリゾルバによるIPアドレス順序の入れ替えに対応するため、IPインデックスに基づくソート機能を実装している。 ・**Windowsタスクスケジューラーによる永続化** TrickBotはタスクスケジューラーのCOMオブジェクト(Schedule.Service.1)を利用し、「Wireshark autoupdate #72784」のような偽装名でスケジュールタスクを作成。デバイス起動時と5分ごとに実行されるよう設定し、タスク名と実行ファイルパスをNTFS代替データストリーム($TASK、$FILE)にBase64エンコードして保存する。 ・**難読化による解析回避** 定数文字列はSUB命令またはXOR命令で暗号化され実行時に復号される。すべてのWindows APIはハッシュベースのルックアップで実行時に解決され、Get_API_By_Hash()関数を通じてAPIアドレスが動的に取得される。 ・**モジュール型アーキテクチャによる機能拡張** TrickBotはコマンド「5」でC2サーバーからDLLモジュールをダウンロードし、rundll32.exeプロセス内でエクスポート関数「Control_RunDLL」から実行。コマンド実行、プロセスインジェクション、PowerShell実行などの機能をサポートする12種類の応答制御コマンドを実装している。 ・**初期通信時の被害者登録** C2サーバーへ最初に送信されるコマンド「0」には、コンピュータ名、OSバージョン、ハードウェアID、ランダムな64バイト16進データ、32バイト検証データが含まれる。C2サーバーは検証データを応答パケットに含めて返し、TrickBotがmemcmp関数で検証データを比較することで通信の真正性を確認する。 【注目点】 DNSトンネリングを採用することで、従来のHTTP通信より検知が困難になり、ファイアウォールやDNSフィルタリングの回避が容易になる可能性がある。テスト環境での転送速度は約30.7KB/秒で、1.2MBのファイル転送に40秒を要した。FortiGuardのWebフィルタリング、IPS、アンチウイルスサービスおよびボットドメインDBサービスにより検知・ブロック可能だが、ユーザーは最新のシグネチャを適用した製品の運用が必須である。 **用語説明** - **DNSトンネリング|標準的なDNS通信に悪意あるデータを隠ぺいしてネットワークセキュリティ対策を回避する手法** - **TrickBot|過去10年にわたり観測されているモジュール型マルウェアファ