RondoDoxがDDoS攻撃を開始

2026年1月13日に RondoDox について報告しましたが 1、実質的に暗号通貨 Monero のマイニングに特化していたため、当時は DDoS 機能については触れませんでした。他の IoT マルウェア同様に本体には DDoS 機能が実装されていますが、マイニングツールをダウンロードして起動した後は、DDoS 攻撃はほとんど観測されず、C2との接続を維持するために keepalive コマンドを定期的に繰り返すだけでした。しかし、5月になり、NICT サイバー脅威分析室は、RondoDox が DDoS 攻撃を開始したことを確認しました。2025年7月の大規模なエクスプロイトから約10ヶ月も経っていました。

未だに開発中だった

5月9日に観測した最初の攻撃コマンドは、暗号化された C2 通信プロトコルで送信されたアスキー文字列によるコマンド "spoof" で、RondoDox のダウンロードサーバ自身である 204.10.194[.]134 を攻撃先としており、明らかにテストだと分かるものでした。この "spoof" というコマンドの名前は一見 DDoS 攻撃コマンドのようですが、実際には DDoS 攻撃ではなく、ipify のサービスを使って取得した感染端末のグローバル IP アドレス情報を、送信元を別の IP アドレスに偽装した上で、1パケットだけ攻撃先に送信するものです。偽装 UDP パケットを C2 サーバへ送信していた RapperBot や AISURU とは手法が異なりますが、このコマンドにより、送信元を偽装できる感染端末のリストアップをしていると推測されます。

真の DDoS 攻撃は5月19日に始まりました。我々は NICTER が検知している DDoS 攻撃の跳ね返りパケットを分析し、RondoDox の DDoS 攻撃コマンドがインターネット上で現実に実行されていることを確認しました。

/posts/2026-08/ddos_cmd_random_src.png

図1. 送信元を偽装した DDoS 攻撃をする C2 コマンド

図1の1つ目の "rand" オプションは TCP フラグに対するもので、8種類の組み合わせリスト “SYN, SYN/ACK, ACK, PSH/ACK, RST/ACK, SYN/PSH/RST, FIN/ACK, FIN/PSH/ACK” からランダムに選択されます。偽装する送信元 IP アドレスは、2つ目の "rand" オプションによって、ランダムな IP アドレスになります。実インターネット上の感染機器で選択されたランダムな IP アドレスは、多数の NICTER センサーに捕らえられ、攻撃先 IP アドレスからの跳ね返りパケットを605件受信しました。この “tcp” 攻撃コマンドの UTC タイムスタンプ 2026/05/21 21:59:27 は、NICTER の最初の検知時刻と完全に一致しています。

/posts/2026-09/drdos_packets_nicter.png

図2. NICTER センサーで検知した攻撃先 IP アドレスからの跳ね返りパケット

しかし、初期の C2 からの DDoS 攻撃コマンドは1日あたり 60 回にも満たないもので、頻繁なマルウェアの更新を伴っていました。

攻撃者はどこに?

マルウェアがまだ開発中だとすれば、コマンドの実行時刻は、攻撃者が居住するタイムゾーンを分析できる重要な情報となります。

/posts/2026-09/command_timestamps.png

図3. 米国太平洋標準時による C2 コマンド実行時刻の分布

1月2日から7月3日までの全ての C2 コマンドを1時間ごとの分布にまとめると、攻撃者の居住地は米国太平洋標準時付近のように見えます。また、とある一日のコマンドの実行時刻を並べてみると、太平洋標準時のタイムゾーンにおいて、朝食、昼食、夕食をとりながら、朝6時から深夜0時まで、RondoDox のテストをしている様子が見えてきます。

/posts/2026-09/oneday.png

図4. 太平洋標準時による、とある一日の C2 コマンドの実行時刻

太平洋標準時のタイムゾーンには北アメリカ大陸しか存在しないため、攻撃者は米国、またはカナダの西部に住んでいる可能性が高いと推測されます。

DDoS の強化

我々は2025年12月7日版のマルウェアを VirusTotal から入手して詳細を分析し、12月31日から C2 の監視を始めました。IoT マルウェアの中には、AISURU ボットネットのリバースシェルコマンドのように、リモートシェルの機能を持つものは時々ありますが、それがマルウェア自身の更新に使用されることはそれほど多くありません。しかし、RondoDox の場合、あまりにも多くの脆弱性を狙ったエクスプロイトを利用しており、頻繁なマルウェアの更新を行うためには、リモートシェルコマンドは必須だったのではないかと予想されます。そのため、ほとんどのマルウェアの更新は C2 通信のリモートシェルコマンドにより行われ、マルウェア更新のためのコマンドをこれまでに 24 回受信しています。

数件の DDoS 攻撃が1月末に試された後、C2 は約3ヶ月間も沈黙したままで、送信されるのは keepalive コマンドのみでしたが、5月7日にマルウェアの更新が始まり、最初の更新はマイニングツールのダウンロードサーバ変更でした。

5月19日に DDoS 攻撃を始めた後、5月30日以降の RondoDox マルウェアには、バージョン番号が与えられるようになりました。RondoDox は、コマンドをパースするプログラムの構造上の原因により、複数の攻撃先を指定するオプションを追加することが難しくなっています。代わりに、バージョン2からはマスクプレフィックスのオプションが追加され、サブネット IP アドレスによる攻撃先の指定を可能としました。

// UDP attack command parsing
// data_mode : raw rdns dns valve roblox wireguard openvpn openvpnauth openvpncrypt
//             openvpntcp openvpnauthtcp openvpncrypttcp dayz fortnite fivem raknet
//             mcrealm darkanddarker discord discord2 stun rtc dtls samp ssh mcjava
//             cs2 csgo
n = sscanf(str, "%s %s %s %d %d %d %d %d %d", opt->data_mode, opt->target_ip
           , opt->duration, opt->dst_port, opt->data_size, opt->src_port
           , opt->process_num, opt->interval_time, opt->target_prefix);

6月8日には、“icmp”、“gre”、“raw"といった攻撃コマンドを試した後、バージョン3に更新され、各種ネットワークソケットの生成可否をテストした結果を C2 に送信するようになりました。このバージョンでは同時に “tcp2”、“tcpbypass” という2つの攻撃コマンドが追加されています。

/posts/2026-09/socket_check.png

図5. ネットワークソケット生成をテストするコード

バージョン4では、RondoDox を二重起動できるオプションとして、第2引数が追加されました。

// 第2引数が1より大きい場合、二重起動が許可される。
$rondo [脆弱性名称].[CPUアーキテクチャ] [二重起動フラグ]

バージョン5では、ネットワークソケットの生成テストが、IPPROTO_RAWソケットのみに削減されました。また、攻撃コマンド “tcp” と “tcp2” に “handshake” オプションが追加されましたが、sscanf のフォーマット文字列にバグがあり、実際には機能しない状態でした。

バージョン6でバグは修正され、さらに2件のオプションが追加されています。また、攻撃コマンド “tcpbypass” と、送信元 IP アドレスを特定の IP レンジに偽装する “ovh” オプションが削除されました。“ovh” オプションに含まれる組織は複数あり、それぞれの組織に一定の割合で跳ね返り攻撃が行われるというオプションでした。

バージョン7で攻撃コマンド “socket” が追加され、バージョン8は我々の観測では見つかっていません。バージョン9において C2 サーバが追加され、難読化文字列を復号するためのパラメータも変更されました。競合ボットネットや Sandbox に対する “Killer” ファンクションも Netlink を利用して更新されました。

最後に、DDoS 攻撃のペイロードデータサイズオプションの選択肢を追加するなど、7月13日にバージョン 10 で細かい変更を加えた後、攻撃時間が増加しました。

/posts/2026-09/ddos_duration.png

図6. DDoS 攻撃時間 [秒] の推移

Ver. 日付 更新内容
- 2025-12-07 最初の投稿日 2025-12-07 の検体 (VirusTotal)
2 2026-05-30 サブネット IP による攻撃用にマスクプレフィックスオプション追加。
3 2026-06-07 ネットワークソケット生成テストの追加。
4 2026-06-12 二重起動を可能にする第2引数の追加。
5 2026-06-23 ネットワークソケット生成テストを削減。“tcp”/“tcp2” にバグ混入。
6 2026-06-27 バグの修正。攻撃コマンド “tcpbypass” と、“ovh” オプションの削除。
7 2026-06-29 攻撃コマンド “socket” の追加。
9 2026-07-07 C2 の追加。文字列の難読化パラメータ変更。
10 2026-07-13 DDoS 攻撃オプション追加などの小変更。

表1. RondoDoxバージョン一覧

開発の完了

7月15日の攻撃時間の増加は、活動時間の変化を伴っていました。それまでは明らかに太平洋標準時に依存した活動でしたが、どのタイムゾーンにも依存しない24時間の活動が観測され始めました。

/posts/2026-09/ddos_times.png

図7. C2 コマンドの実行時刻の推移(太平洋標準時)

攻撃先の IP アドレスを時系列でプロットすると、攻撃先についても7月15日からバラツキが変化しており、攻撃者がバージョン 10 で一旦開発完了とし、DDoS サービスを開始したことを示唆しています。

/posts/2026-09/ddos_targetip.png

図8. DDoS 攻撃先 IP アドレスの推移

まとめ

2025年5月に Fortinet FortiGuard Labs が 発見した 2 RondoDox は、さまざまな脆弱性を利用して拡散を試みていることが報告されており 3 4、Bitsight がマルウェアの詳細な分析を行なっていますが 5、サイバー脅威分析室では、DDoS 攻撃機能が実際に使われ始めたことを確認しました。調査したマルウェアは ARMv7 アーキテクチャの検体であり、ルータやネットワークカメラなど、主に IoT デバイスへの感染を狙ったものです。NICT が参画している NOTICE プロジェクトが注意喚起を行なっている通り、インターネットから直接アクセス可能な便利な IoT 機器に対しては、不正なアクセスをされないよう、適切な管理をすることが重要です。

  • 推測されにくい複雑なパスワードに変更する。
  • ファームウェアが最新版でない場合はアップデートする。
  • 使用しない機能や設定は無効にする。
  • サポートが終了したルーターやネットワークカメラは買い替えを検討する。

IoC

C2: (ハードコード。ドメイン不使用。)
45.94.31[.]89
45.125.66[.]100
45.153.34[.]46

ダウンロードサーバ:
41.231.37[.]153 (〜1/12)
204.10.194[.]134 (〜6/13)
45.153.34[.]153

SHA256:
2025/12/7版 e52ad4e490fa762002ec0d1f918c81841a86f6b7492fdd5881be68b6d3f1a2b4
Version  2  02498daa5b3e5fbdf6ee64f7ed93654508e4a3dd2c2d74df4e7216589eb329b1
Version  3  707eea1fec7bc628630696ce96d68d8658fa9d62146cbd7bc3a1ccad83090402
Version  4  c7d00e3c5da44ab369cfcba400900f3417ecf0e43c2bee9e39186dd8cc7eae7d
Version  5  f804bdce4da9335a4580bf163e2c82a6c72a6e11b539df36656631e49251a8c4
Version  6  5fae68dbcc84ac2e2982c73a56c2956bd6425012909d2803b2cc64b18cf7e604
Version  7  e532a46a4401eb1b88e9ec860f49442a65c5635f0cfae90bf3f884708cf48b05
Version  9  10f40192239b81bb3b9c3aa1ebb11b312077be0dc0e211492fd0e8dfbc0f4463
Version 10  f5e21d36221d97389f9ca896a7b397040f70422eb20fa53b26e629c9a7835753