脅威動向 / THREATS / EDGE DEVICE EXPLOITATION
SOCRadarがFortiGate狙いの侵害キャンペーンを報告 — CVE-2025-25249を悪用し「PivotC2」で178台が感染、米国では内部侵入と情報持ち出しも
SOCRadarの脅威研究チーム(STRU)は2026年9月8日、FortinetのFortiOSとFortiSwitchManagerに存在する脆弱性CVE-2025-25249が野外で悪用され、FortiGate専用に作られたNode.js製の遠隔操作ツール「PivotC2」が展開されていると報告した。攻撃者は3万を超えるIPアドレスを狙い、178台の感染を確認。米国の2組織では内部ネットワークへの侵入とメールデータの持ち出しまで確認され、STRUはロシア語話者の金銭目的の犯罪グループと評価している。
要点
- セキュリティ企業SOCRadarの脅威研究チーム(STRU)は2026年9月8日、FortiOSとFortiSwitchManagerのCAPWAP制御デーモン「cw_acd」に存在する脆弱性CVE-2025-25249が野外で悪用され、FortiGate専用のNode.js製リモートアクセス型トロイの木馬(RAT)「PivotC2」が展開されていると報告した。悪用は少なくとも2026年7月から続いている。
- STRUによると、攻撃者は3万を超えるFortiGateのIPアドレスを標的にし、178台の感染を確認した。感染は米国が最も多く、次にチリ、コロンビア、英国が続く。
- 米国内の2組織では、FortiGateの設定ファイルと暗号化された認証情報の窃取、内部ネットワークの探索、Microsoft Exchangeのメールボックスファイル(.pst)の外部クラウドストレージへの持ち出しまで確認された。STRUは、残されたコメントがロシア語だったことなどから、ロシア語話者の金銭目的のサイバー犯罪者による活動と高い確度で評価している。これは言語や使われたツールの特徴に基づく評価であり、特定の国家機関の関与を示すものではない。
- STRUは対策として、CAPWAP制御ポート(UDP 5246〜5249)への外部からの通信を遮断すること、不正なNode.jsプロセスや
/tmp配下の不審ファイルを確認すること、侵害が疑われる場合は管理者パスワードやVPNの事前共有鍵などを一括で変更すること、修正版へ更新することを挙げている。
悪用された脆弱性 CVE-2025-25249
CVE-2025-25249は、FortiOSとFortiSwitchManagerのCAPWAP(無線アクセスポイントを集中管理するためのプロトコル)制御デーモン「cw_acd」に存在するヒープベースのバッファオーバーフローである。認証を受けていない攻撃者が、細工したパケットを送るだけで任意のコードやコマンドを実行できる。このデーモンは、CAPWAP制御用のUDPポート5246で待ち受けている。
NVD(米国立脆弱性データベース)の情報によると、影響を受けるのはFortiOS 7.6.0〜7.6.3、7.4.0〜7.4.8、7.2.0〜7.2.11、7.0.0〜7.0.17、6.4の全バージョン、およびFortiSwitchManager 7.2.0〜7.2.6、7.0.0〜7.0.5である。NVDは2026年1月13日にこの脆弱性を公開した。
深刻度の評価は公表元によって分かれている。**NVDはCVSS v3.1で9.8(Critical、緊急)**としている一方、**FortinetのPSIRTは8.1(High、重要)**としている。STRUはNVDの9.8を引用して「Critical」と位置づけている。
STRUは、Fortinetが修正版と回避策を公開済みだとしている。同チームが示した修正版は、FortiOSが7.6.4、7.4.9、7.2.12、7.0.18以降、FortiSwitchManagerが7.2.7、7.0.6以降である。
なお、米CISA(サイバーセキュリティ・インフラストラクチャ安全保障庁)は2026年9月9日、このCVE-2025-25249を含む4件を「Known Exploited Vulnerabilities(KEV)カタログ」に追加している。
攻撃の流れ — 脆弱性の悪用から「PivotC2」の起動まで
STRUが回収した攻撃ツールは、Linux向けの自己展開型の攻撃フレームワークfortirun.binである。ファイル名から、STRUはCVE-2025-25249を狙ったものとみている。攻撃者はBashとPythonのスクリプトを使い、成功するまで複数回試行する自動化された悪用ループを回していた。
STRUの分析によると、攻撃ツールは次の手順で動作する。
- 機器の特定とASLRの回避 — CAPWAPのDiscovery Requestを送り、応答に含まれるハードウェア改訂番号とファームウェアのバージョン文字列(例:
FGT60F-v7.4-build2731)を取得する。これらを内部に持つ13機種のFortiGateと2機種のFortiAP、FortiOS 7.4系の特定ビルドの一覧と照合し、一致しなければ処理を中止する。応答から得られるメモリ上のアドレスを使って、ASLR(アドレス空間配置のランダム化)を無効化する。 - ヒープの整形(ヒープグルーミング) — CAPWAPのAdd Station制御メッセージを繰り返し送り、メモリの空き領域の並びを攻撃者が制御できる状態に整える。
- バッファオーバーフローの発生 — Image Data制御メッセージのヘッダーに実際のデータ長より小さいサイズを宣言し、対象バッファの末尾を越えて16バイトを書き込ませる。これにより、隣接するメモリ管理構造体の前後ポインタを上書きする。
- 任意アドレスへの書き込みと制御の奪取 — 上書きしたポインタを利用して任意の8バイトを書き込める状態を作り、ROP(戻り先アドレスをつなぐ攻撃技法)を経由してコマンド実行関数に処理を移す。
悪用に成功すると、攻撃ツールはNode.jsを使ってリバースシェル(侵害した機器から攻撃者側へ接続するシェル)を開き、1行のJavaScriptを実行させる。このJavaScriptは、外部サーバ(hxxps[://]146[.]103[.]99[.]177:8443/0c5b76709523)から次の段階のプログラムを分割して取得し、Base64で復号したうえで各バイトをpivotというキーでXOR復号して、/tmp/.i.jsとして保存する。スクリプトはバックグラウンドで実行されるため、親のNode.jsプロセスが終了しても動き続ける。こうして読み込まれる最終段のプログラムが**「PivotC2」**である。
「PivotC2」の機能 — FortiGate専用に作られた遠隔操作ツール
PivotC2は、FortiOS上で動くFortiGateの侵害後の操作に特化したNode.js製のRATである。回収されたバージョンは0.2.3で、STRUは開発の初期段階にあるとみている。コードには詳細なコメントと利用手順が含まれており、STRUは開発にAIが使われた可能性が高いと評価している。
主な機能は次のとおりである。
- ファイル操作とコマンド実行 —
exec(コマンド実行)、ls、cat、rm、mv、mkdir、statなどのほか、ifconfig、netstat、ps、dnsによる情報収集を備える。 - トンネルと中継 — SOCKS5プロキシとHTTPプロキシ、ローカル・リモートのポート転送、CIDR単位のポートスキャンに対応する。通信はすべて単一のTLS接続にまとめ、SSHに似た多重化の仕組みで複数の通信路を同時に扱う。クライアント側から常に外部へ接続する方式のため、受信側のファイアウォールルールを迂回できる。
- FortiGateの設定収集と認証情報の復号 —
harvestコマンドは、グローバル設定(/data/config/sys_global.conf.gz)、ネットワークインターフェース設定(/data/config/global_system_interface.gz)、ENC形式のパスワードハッシュを含むVDOM設定(/data/config/sys_vd_root+root.conf.gz)、AES-128-GCMの鍵を含む機器固有のファイル(/data/etc/fsv_sync.dat)を/loot/<ip>/harvestに集める。STRUは、復号に成功するとVPNの事前共有鍵(PSK)、SSL-VPNの利用者認証情報、無線LANのPSK、LDAPのバインド用認証情報、管理者アカウントが平文で得られると説明している。 - 自動運用モード(
--auto) — 新しい端末が接続するたびに、設定の収集、認証情報の復号、内部ネットワークの抽出、ポートスキャンを人手を介さず実行する。ポートスキャンは22、80、389、443、445、902、1433、3389、5432を対象とし、判明した内部サブネットと10.0.0.0/24などのあらかじめ決められた範囲を走査する。 - 接続の維持 — 既定で30秒ごとにHEARTBEATを送り、90秒間届かない端末はサーバ側で切断扱いにする。接続が切れた場合は、ゆらぎ(jitter)を加えた指数バックオフで再接続を繰り返す。
被害の広がり方
STRUは攻撃者側のファイルを分析し、3万を超えるFortiGateのIPアドレスの一覧を確認した。そのうち178台が実際に悪用され、PivotC2に感染したことが確認されている。感染した機器の記録には、セッションID、ハードウェア名、OSのアーキテクチャ、Node.jsのバージョン、IPアドレスとポート、感染からの稼働時間が含まれていた。
感染したIPアドレスの分布は米国が最も多く、次にチリ、コロンビア、英国が続いた。STRUは、米国内の2組織ではネットワークへの完全な侵入に至り、データの持ち出しが確認されたとしている。
侵入後に使われた追加のツール
STRUは、米国の2組織への侵入で回収されたツールと操作の記録も公開している。
| ツール・操作 | 内容 |
|---|---|
ldapdomaindump |
LDAP経由でActive Directoryを列挙し、ドメインのコンピューターアカウント、グループ、グループポリシー、信頼関係、利用者一覧を取得する |
obfs4proxy / lyrebird |
ローカルのSOCKS5プロキシ(ポート9050)を構成し、C2通信をTorのプラガブルトランスポートとブリッジ経由に切り替える |
russh |
Rust製のSSHバイナリを使い、内部の標的へのリバースSSHの中継を確立する |
| SoftPerfect Network Scanner | サブネットの探索とネットワーク上のホストの調査を行う |
| レジストリの変更 | fDenyTSConnectionsとDisableRestrictedAdminを0に設定し、RDP(リモートデスクトップ)とパス・ザ・ハッシュ認証を有効にする |
| ブラウザの認証情報の窃取 | Google ChromeとMicrosoft Edgeの保存済み認証情報を取得し、トークンを偽装してDPAPIのマスターキーを取り出して復号する |
run.ps1 |
PivotC2のサーバからバイナリをダウンロードし、単一バイトのXOR(キー0xAB)とBase64の復号を経て、svchost.exeへプロセスインジェクションする |
| S3への持ち出し | Microsoft Exchangeのメールボックスファイル(.pst)をまとめ、攻撃者が用意したWasabiのS3バケットへ持ち出す |
STRUは、この攻撃グループがCVE-2024-47575(FortiManager)、CVE-2026-35273(PeopleSoft Enterprise PeopleTools)、CVE-2024-26304(ArubaOS)といった別の既知の脆弱性も標的にしていると付け加えている。
SOCRadarが示した対策
STRUは、Fortinet製品を運用する組織向けに次の対策を示している。
- 露出の抑制 — 外部インターフェースでfabricサービスを無効にするか、FortinetのPSIRTアドバイザリに従って、CAPWAP制御ポート(UDP 5246〜5249)への受信トラフィックをローカルイン・ポリシーで破棄する。
- 脅威ハンティング — FortiOSのCLIで、既知のC2アドレス(
146[.]103[.]99[.]177、46[.]151[.]29[.]58)への接続や、不正なNode.jsの痕跡を確認する。STRUが示した具体的なコマンドは次のとおりである。diagnose sys session filter daddr 146[.]103[.]99[.]177の後にdiagnose sys session listを実行し、確立中のセッションを確認するfnsysctl ls -la /tmp/.i.jsとfnsysctl ls -la /tmp/で不審なファイルを確認するdiagnose sys process list | grep nodeで不正なNode.jsの実行を確認する
- 認証情報の一括変更 — PivotC2の痕跡や不審な活動が見つかった場合、機器の設定ファイルがすべて持ち出されたと想定し、管理者パスワード、SSL-VPNの利用者認証情報、LDAPのバインド用認証情報、無線LANのPSK、IPsecの事前共有鍵を直ちに変更する。
- 修正版への更新 — CVE-2025-25249を解消するため、FortiOSを7.6.4、7.4.9、7.2.12、7.0.18以降に、FortiSwitchManagerを7.2.7、7.0.6以降に更新する。
日本の読者への注意点
STRUは、攻撃者がインターネットに直接公開された機器を自動化スクリプトで繰り返し狙っていると説明しており、標的を特定の国や業種に限定する記述はない。したがって、FortiGateをインターネットに公開して運用し、CAPWAP制御ポート(UDP 5246〜5249)が外部から到達できる状態にある組織は、自組織が対象になり得ると考えて点検する必要がある。
点検の優先順位は、次の3点である。
- 外部から到達できるCAPWAP制御ポートの有無を確認し、不要なら閉じる。
- 利用中のFortiOS・FortiSwitchManagerのバージョンが修正版に達しているかを確認する。
- 侵害の疑いがある場合は、CLIで
/tmp配下の不審ファイルとNode.jsプロセスを確認し、疑わしければ認証情報を一括で変更する。
STRUは、悪用が2026年7月から継続しているとしており、修正版が公開済みでも更新が済んでいない機器は依然として狙われる状態にある。
出典
- SOCRadar Threat Research Unit, 「CVE-2025-25249 Exploitation Delivers PivotC2, a FortiGate Post-Exploitation RAT」(2026年9月8日): https://socradar.io/blog/cve-2025-25249-pivotc2-fortigate-rat/
- NVD, 「CVE-2025-25249」: https://nvd.nist.gov/vuln/detail/CVE-2025-25249
- Fortinet PSIRT, 「FG-IR-25-084」: https://fortiguard.fortinet.com/psirt/FG-IR-25-084
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。