2019年に現れた Mirai 系 マルウェアである MooBot は、The cow says mooという使われない文字列や、二重起動防止用のファイル名.moopidといった文字列を持つという特徴がありましたが 1、2021年には、その代わりにランダムな文字列を作成するためのシードとしてw5q6he3dbrsgmclkiu4to18npavj702fという文字列を使用するという特徴を持つようになり 2、NICTにおいても、たびたびこの文字列を含むマルウェアの活動を観測しています。
ボットネットの相関
直近では、2025年9月10日からマルウェアの更新が再開され、DoS 攻撃活動を確認しました。過去にも何度か MooBot を感染させるエクスプロイトを検知していますが、2024年の3月と10月には RapperBot と共通のネットワークリソースが利用されたことが分かっています。
また、2025年6月2日のバージョンに関しては、NICT で観測している DVR の脆弱性を狙ったエクスプロイトとは別の経路(CVE-2025-3248)による、別のターゲット機器(Langflowサーバ)への感染が報告されていて、Flodrix ボットネットと呼ばれています。3 4
初期化しないメモリデータによる難読化
2025年5月の検体には、Command & Control (C2)サーバへの接続に、複雑な仕組みが使われていました。その接続フローは以下のようなものです。
特殊な手法が使われているのが最初のチェックサムで、送信データはほとんどが固定データですが、この C2 接続関数内では、送信データを格納するメモリ領域の一部が初期化されずに使用されています(下図赤枠)。通常このようなコードは該当のメモリ領域の値が不定になり、いわゆる初期化もれによるバグとなりますが、この検体の場合、攻撃者が制御可能な値になります。
該当するメモリ領域は、上記の C2 接続関数より前に、下図の C2 サーバの IP アドレスを取得する関数で先に使用されます。ここで、3つ目の IP アドレスをこのメモリ領域に格納したときに、第1オクテットおよび第3オクテットの各先頭2文字が、赤枠の初期化されないメモリアドレスにちょうどあてはまるようになっています。
このメモリ領域は各関数の内部でローカル変数として使用するスタック領域であるため、本来は赤枠の部分も初期化する必要がありますが、初期化しないことで、別の関数で設定されたデータをそのまま利用しています。
4バイトのチェックサムは、このデコンパイラが考慮できない過去のスタック領域のデータを含めて計算しなければいけないため、コードを見ただけではチェックサムを正しく計算できません。
この複雑な仕組みは、その後すぐに無効化され、使われなくなりました。ただし、複雑なコードは残したまま、ハンドシェイクの状態遷移を一部スキップして接続完了させる形で更新されています。
RapperBotから感染機器を奪ったことをレポート
このボットは競合マルウェアを対象とした killer 関数を持ち、例えば、一般的にマルウェアが広く実施する、自身の実行ファイルを削除するという特徴を利用して、/proc/{pid}/exeに(deleted)が含まれる場合、そのプロセスを強制停止させるようになっています。
いくつもある killer 処理の中でも最も注目される機能は、5月から6月の検体に含まれていた、特定の IP アドレスと TCP 接続を確立しているプロセスを検出した場合、そのプロセスを強制停止した後に、専用の ID 番号 5 でレポートサーバに機器情報を送信するというものです。
このIPアドレスは、すべて5月当時まだ活動していた RapperBot の C2サーバであり、レポート ID 番号 5 は明らかに RapperBot から感染機器を奪ったことを意味しています。しかし、一部ネットワークリソースを共有しているケースがあったこともあり、この MooBot を運用していたグループが Ethan Foltz と敵対していたのか、あるいは同一グループ内で botnet を切り替えたことを検出するための機能だったのか、動機は不明です。
TeamSpeak3攻撃ベクタ
C2の監視をした結果(2025年9月10日〜10月6日)、このボットネットの主な攻撃先はロシアであり、特に TeamSpeak3 というボイスチャットプロトコル専用の攻撃ベクタが多いのが特徴的です。
感染規模
ダウンロードサーバのログデータが公開状態になっていた時期があり、ログによると9月時点の MooBot の感染機器は 3160 台で、国別、および、感染機器の DVR などの名称を示すと推定される引数別の割合は以下の通りです。
このログを出力するダウンロードサーバは、機器によって引数とダウンロードポートを使い分けるという手法で稼働していました。それ以前の固定ポート25565、80を使用する方法とは異なるため、この感染規模は全体の一部であると考えられます。6月にTrend Micro社やCensys社から報告されている、Langflowサーバにおいて使用された引数は無く、DVR やルータをターゲットとした活動で使用されたダウンロード方式のようです。
また、変換テーブルの手前にロシア語のコメント文がありますが、このように MooBot ではロシア語圏で開発が行われているように見える痕跡が多く見つかります。
活動の終了
このボットネットは、9月に活動を再開してから約1ヶ月の間に10回以上のマルウェア更新を行い、仕様が定まらないまま、最終的に同じ C2 サーバを使いながらも異なるポートを使用する別のマルウェアに切り替わり、10月7日には 活動を終了しました。この別のマルウェアは、MountBot と同様に/proc/selfを/proc/1にマウントして自身のプロセスを隠蔽する手法を取り入れていますが、DoS 攻撃コマンドの処理を実装していないなど、まだ作り始めたばかりに見える未完成な状態のものでした。
短期間で活動を終了した理由は分かりませんが、9月から10月にかけて観測した DoS 攻撃の時間帯は、明らかに特定の地域の活動時間帯に偏っており、ロシア語圏で開発されている可能性があることも考慮すると、DDoS サービスを運用していたというよりは、開発、もしくは実験的な活動だったのではないかと推測しています。
IoC
マルウェア
SHA256
| 更新月 | ハッシュ値 |
|---|---|
| 5月 | 9dd852b9ddff7e1c2fbaa8e75e2b4905c100de1e83ce999157ece4e797484585 |
| 6月 | a6cf8124e9b4558aacc7ddfa24b440454b904b937929be203ed088b1040d1b36 |
| 9月 | b7083abcf87e6192904a08629e2f9e038b712a66132578df76ca9175d80e2841 |
| 10月 | b622a7b848a9846e2af4f8f985777bb8d095b8eb56d57a502f97d446cfe82e9b |
MD5
| 更新月 | ハッシュ値 |
|---|---|
| 5月 | 933d24c8b558a03b7285647875b920d5 |
| 6月 | 0473c6b98ad7273ab3e9a9fb6f00ea54 |
| 9月 | 7f78c49eaa67ce53044712c0aaf5c5f8 |
| 10月 | c974c2bfb758c06d61030b8af0ce270e |
ダウンロードサーバ
| 更新月 | IP |
|---|---|
| 5月 | 80[.]66[.]75[.]121:25565 |
| 6月 | 同上 |
| 9月 | 80[.]66[.]75[.]121:80 |
| 10月 | 78[.]153[.]140[.]92:80 |
C2サーバ
| 更新月 | IP / ドメイン |
|---|---|
| 5月 | 188[.]166[.]68[.]21:54707 206[.]71[.]149[.]179:54707 45[.]61[.]137[.]226:54707 |
| 6月 | 同上 |
| 9月 | 193[.]168[.]196[.]38:60177 5[.]144[.]176[.]160:60177 85[.]209[.]134[.]80:60177 |
| 10月 | blueblackside[.]com:60177 |