2026年初頭に登場した高度な新種のボットネットファミリー「RustDuck」は、2段構成の「Loader」と「Core」というアーキテクチャを利用し、IoTデバイスやルーター、企業向けサーバーをブルートフォース攻撃とリモートコード実行(RCE)脆弱性の悪用によって侵害しています。
RustDuckは複数の手口を組み合わせた感染戦略を採用しており、TelnetやSSHサービスに対する脆弱なパスワードを狙った攻撃と、多様なデバイスエコシステムにまたがる既知のRCE脆弱性の悪用を組み合わせています。
このボットネットは、Android ADBインターフェース、TVT APIエンドポイント、Ruijie・TP-Link・ZTEといったメーカーのデバイスに加え、ThinkPHP、Jenkins、YARNコンポーネントのWebアプリケーション脆弱性も標的としています。
CVE-2025-29635、CVE-2017-17215、CVE-2018-8007、CVE-2024-1781といった既存のCVEも積極的に武器化され、攻撃対象領域の拡大に利用されています。
このハイブリッド型の手法により、ルーター、IPカメラ、Android端末、サーバー環境にわたる大規模な自動侵入が可能となっており、拡散活動に関与しているIPアドレスは20以上確認されています。中でも特に目立つのが176.65.139.204です。
Loaderの段階は、ロードコード、圧縮されたコアデータ、そしてELFファイルのオーバーレイデータとして付加される設定情報という、3つの要素からなる簡潔な構成を採用しています。

2026年2月にQianxin傘下のXLABが発見したRustDuckは、C言語からRustへと移行し、高度なアンチ解析技術と堅牢な通信暗号化を実装するなど、ボットネット開発における大きな進化を体現しています。
リバースエンジニアリングの結果、暗号化と難読化の手法が段階的に高度化していく4つの異なる進化段階が明らかになっています。
IoTデバイスを標的とするRustDuckボットネット
第1世代(Variant 1)は、LCG(線形合同法)による疑似乱数生成とXOR復号、LZ4展開を採用し、ROL4とXOR演算を組み合わせた動的なマジックナンバー検証を実装しています。

第2世代(Variant 2)では、Xoshiro128暗号化とBLZ展開が導入され、サンプルごとに動的に変化するハードコードされた定数が使われており、静的な一括復号を著しく困難にしています。第3世代(Variant 3)は標準的なXORとLZ4に回帰しつつも、検証用に固定された平文のマジック文字列を採用しています。
最も進化した第4世代(Variant 4)はChaCha20ストリーム暗号を統合しつつLZ4展開を維持しており、より強固な暗号プリミティブへと明確に向かっていることがうかがえます。各Loaderバリアントの詳細な技術仕様も文書化されています。
Rustベースで書かれたCoreモジュールは、鍵導出、アンチデバッグ機構、通信プロトコルにおいて非常に高い技術的複雑さを示しています。
鍵生成は一貫してHKDF-SHA256を用いており、2つの鍵ソースが併存しています。1つは、リプレイ攻撃への対策として10分ごとに更新されるUTC時刻ベースの動的鍵、もう1つは、前方秘匿性のためにNoise_IK_25519アーキテクチャを用いたCurve25519の非対称鍵交換です。

対称暗号化は2つの実装に分かれており、一方は置換型の軽量暗号Ascon128を使用し、もう一方はハンドシェイク時にChaCha20-Poly1305を用い、コンプライアンス要件を満たすセッションではAES-GCMへと切り替えます。
RustDuckには環境検証のための動的な重み付けスコアリング機構が組み込まれており、複数の検知手法にまたがってリスクポイントを積算していきます。
WiresharkのスキャンやGDB、IDA、Frida関連プロセスの検出には100のリスクウェイトが割り当てられます。同様に、/proc/self/statusを読み取りTracerPidが0以外であるかを確認するデバッグチェックや、/proc/self/mapsを解析してインジェクションフレームワークの有無を確認するライブラリチェックについても同じ重みが設定されています。
SHA256チェックサム検証によりリバースエンジニアリングによるファイル改変を検出する一方、ハニーポットチェックではCowrieやDionaeaの設定ファイルの有無を確認します。
その他の対抗策としては、予約済みIPアドレスである192.0.2.1への接続を試みるネットワークブラックホール検知、サンドボックスによる時間加速を防ぐデュアルクロックソースによるタイムトラベルチェック、DMI情報や仮想マシン特有のMACアドレスOUIプレフィックスを利用した仮想化ハードウェアのフィンガープリンティングなどが挙げられます。
積算されたリスクが事前に設定された閾値を超えると、このマルウェアは自動的に痕跡を消去し、実行を終了します。
ネットワークプロトコルはNoiseフレームワークのIKパターンを色濃く参照しており、ハードコードされたサーバー側の静的公開鍵と実行時に生成される一時鍵を用いたECDHによってセッション鍵を導出します。
グローバルなMsgIDがメッセージの順序制御とローリング鍵生成に関与しており、ネットワーク側が平文の鍵を用いて復号することを防いでいます。
ハンドシェイク段階ではChaCha20によるトランスポート暗号化が用いられ、ログイン、検証、確認、確認応答という4段階のメッセージによるコンプライアンス確認が行われます。
ハンドシェイク後のコマンドループでは、アップリンクとダウンリンクの鍵を分離したAES-GCMに切り替わります。導出された88バイトのaesGCMKeyはclientKey、clientNonceKey、serverKey、serverNonceKeyという個別の要素に分割され、中間者攻撃(MITM)への耐性を最大限に高めています。
RustDuckの現時点でのDDoS活動レベルは主流のボットネットに比べると低いものの、その急速な技術的進化とC言語からRustへの全面的な移行は、セキュリティ上重大な注意を要するものです。
クロスプラットフォームでの適応能力に加え、アンチ防御技術と通信暗号化技術の継続的な改良が組み合わさることで、RustDuckはIoTおよび企業インフラ全体において、積極的な監視と防御体制の見直しを必要とする新たな脅威として位置づけられます。
翻訳元: https://gbhackers.com/rustduck-botnet-targets-iot-devices/