FortiGate CVE-2025-59718 Rapid7 IR実録 — 約2週間の低姿勢潜伏からSSL VPN有効化、内部横展開までを逆算特定

この記事は約17分で読めます。

Rapid7のインシデント対応チームが、FortiGateアプライアンスのCVE-2025-59718悪用を起点とした実インシデントの調査知見を2026年4月8日に公開しました。記事タイトルは「FortiGate CVE-2025-59718 Exploitation: Incident Response Findings」で、執筆はEric Carey氏、Olivia Henderson氏、Noah Hemker氏の3名です。本稿では、単なる脆弱性情報ではなく、実際の侵害調査の「内側から外側へ逆算する(inside-out)」プロセスと、約2週間にわたって低姿勢で潜伏した攻撃者の具体的な手口を、インフラ運用現場の視点から整理します。境界機器のテレメトリ欠如という構造的課題が、どのように調査を難しくし、同時に手がかりになったのかという論点に注目しています。

前提:CVE-2025-59718とは何か

Rapid7 IR実録の内容に入る前に、前提となるCVEを簡潔に整理します。

項目 内容
CVE ID CVE-2025-59718
Fortinet アドバイザリ FG-IR-25-647(CVE-2025-59719と共通、2025年12月9日公開)
CWE分類 CWE-347(Improper Verification of Cryptographic Signature、Fortinet PSIRTとカナダCyber Centreが明示)
CVSSスコア NVDの登録情報には2つのCVSS v3.1スコアが併存しています。Fortinet CNA付与値は9.1(Critical)NVD primary評価値は9.8(Critical)です。これはNVDが一次情報として両方を並列保持する標準的な形式で、前者は発番元ベンダーの自己評価、後者はNISTによる独立評価を示しています
影響対象(CVE-2025-59718) 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/FortiProxy 7.6.0〜7.6.3、7.4.0〜7.4.10、7.2.0〜7.2.14、7.0.0〜7.0.21/FortiSwitchManager 7.2.0〜7.2.6、7.0.0〜7.0.5。なお共通アドバイザリFG-IR-25-647の本文はFortiOS、FortiWeb、FortiProxy、FortiSwitchManagerの4製品を併記していますが、NVDおよびRapid7はFortiWebをCVE-2025-59719の影響対象として切り分けています
悪用前提 FortiCloud SSOログイン機能が有効化されている必要があります。同機能は工場出荷時の初期設定では無効ですが、FortiGate機器をFortiCareへGUI経由で登録する際、管理者が明示的にオプトアウトしない限り自動的に有効化されます。Fortinet PSIRTがこの挙動を公式に明記しています
攻撃概要 細工したSAMLレスポンスメッセージを送信することで、FortiCloud SSO認証を迂回し、アプライアンスの管理者アクセスを取得可能
CISA KEV登録 2025年12月16日に追加。米連邦機関に対しては12月23日までの対処期限が課されました

本脆弱性は公開後速やかに野生で悪用が確認された経緯を持ちます。Dataminrは2025年12月13日時点で攻撃者インフラによるFortinetハニーポット標的化を観測し、Rapid7は同年12月17日に自社ハニーポットでの悪用試行観測と、類似リクエストを生成するGitHub上のPoCコードの存在を報告しています。さらに2026年1月22日には、12月のパッチを適用済みのFortiGate機器に対して類似の侵害が継続していることが判明し、Fortinetが緊急ブログを公開しました。続く1月27日、Fortinetはこれを当初パッチの不完全性ではなく、別系統の新規脆弱性(net-new vulnerability)として公表し、CVE-2026-24858を発番しました。Rapid7も継続更新版ETRブログで「patch bypassではなく、新規脆弱性として確認された」と明言しています。CVE-2026-24858のCWE分類はCWE-288(Authentication Bypass Using an Alternate Path or Channel)であり、CVE-2025-59718のCWE-347(Improper Verification of Cryptographic Signature)とは根本原因が異なります。CVE-2026-24858はFortiCloudアカウントと登録済み機器を持つ攻撃者が、FortiCloud SSOが有効な他者の機器にログイン可能になるという異なる攻撃経路で、FortiOS、FortiManager、FortiAnalyzer、FortiProxy、FortiWebが影響を受けます。CVE-2026-24858もCISA KEVに追加されています。

Rapid7 IR実録の舞台 — 内側から外側へ逆算する調査

Rapid7チームが関与したインシデントは、FortiGateアプライアンス上でCVE-2025-59718が悪用された事案です。Rapid7は記事の冒頭で調査方法論の重要性を強調しており、「エッジ機器の侵害が関与するケースでは、侵入経路(IAV:Initial Access Vector)が即座に明確にならないことが多く、調査者はテレメトリを多角的に分析し、攻撃者の行動を再構築して逆算する必要がある」と述べています。

記事の重要な知見のひとつは、「調査の出発点となる最初の疑わしいイベントが、攻撃チェーンの始まりであることはほとんどない」という点です。IR担当者は通常、攻撃チェーンの中盤以降から調査を開始し、内側から外側に向かってタイムラインを逆算していきます。本件も、最初に検出された内部環境での不審な挙動を起点に、FortiGate機器まで遡って侵入起点を特定したケースです。

攻撃チェーンの再構築 — 発見された順序と時系列の順序

Rapid7がテレメトリから再構築した攻撃の実際の時系列は以下の通りです。調査は逆順(下から上)に進められましたが、理解のために時系列順に記載します。

ステップ1:FortiGate機器への外部からの管理者SSOログイン

攻撃者は、公開されている管理インターフェースに対してFortiCloud SSOログインを行いました。重要なのは、ブルートフォース痕跡がまったく観測されていない点です。これは認証の「突破」ではなく、CVE-2025-59718の悪用によって認証プロセス自体を迂回していたことを示唆します。

初期アクセス成立から後続の悪意ある活動までには、約2週間の空白期間がありました。Rapid7は「この期間を攻撃者は環境内で永続的なアクセスを確保するために使用していた」と分析しています。この2週間の低姿勢潜伏こそが、最終的に調査側に時間的余裕を与え、内部環境への実害が広がる前に封じ込めを成功させた要因だとRapid7は指摘しています。

ステップ2:設定ファイルのダウンロード

攻撃者はFortiGateのGUIから設定ファイルをダウンロードしました。Rapid7はこの行為の価値を次のように説明しています。設定ファイルは攻撃者にとって「環境の設計図」として機能し、ネットワーク構成、認証メカニズム・設定、機器間の関係性、そして場合によっては機密認証情報そのものを露出させます。

この操作は実際にFortiGateシステムログに以下のような痕跡を残しました。

logid="0100032095" type="event" subtype="system" level="warning" 
vd="root" logdesc="Admin performed an action from GUI" user="admin" 
ui="GUI(104.28.227[.]105)" action="download" status="success" 
msg="System config file has been downloaded by user admin via GUI(104.28.227[.]105)"

ダウンロード元の外部IPアドレスはセキュリティベンダーによって「悪意あり」と分類されており、機器上の既存ローカルアカウントを使用したセッションから実行されていました。

ステップ3:複数の管理者アカウント作成

設定ファイルを入手した後、攻撃者はFortiGate機器上に複数の新規アカウントを作成しました。種類はSSO管理者、システム管理者、ローカルアカウントの3系統にわたります。

一部の新規SSO管理者アカウントはforticloud.comドメインに紐付けられており、ログには以下のような記録が残りました。

Object attribute configured(Add system.sso-forticloud-admin <attacker account>@forticloud.com-1)

また、他の新規アカウントはNamecheapがホスティングするインフラに紐付いたopenmail[.]proなどのドメインのメールアドレスと関連付けられていました。Rapid7は「複数の新規管理者アカウントの作成は、永続化が確立されたことの強い指標である」と説明しています。

ステップ4:SSL VPNの有効化と設定改変

本インシデントで特に示唆的なのは、当該環境ではそもそもFortiGateのSSL VPNコンポーネントが使用されていなかったという点です。攻撃者はこれを自ら有効化し、さらに以下の設定変更を加えました。

  • VPN設定の編集
  • 新規ファイアウォールポリシーの追加
  • 設定パラメータの調整

これらの変更はFortiGateのシステムログに以下のように記録されました。

logid="0100044546" type="event" subtype="system" level="information"
vd="root" logdesc="Attribute configured" user="admins"
ui="GUI(45.32.216[.]250)" action="Edit" cfgpath="vpn.ssl.settings"
msg="Edit vpn.ssl.settings"
logid="0100044547" type="event" subtype="system" level="information" 
vd="root" logdesc="Object attribute configured" user="admins" 
ui="GUI(45.32.216[.]250)" action="Add" cfgpath="firewall.policy" 
cfgobj="XX" msg="Add firewall.policy <redacted>"

Rapid7は「これらの変更は単体で見れば通常の管理作業に見える。しかし、IR担当者の視点からは、変更の組み合わせとタイミングが懸念を呼び起こす」と述べています。

ステップ5:内部ネットワークへの侵入

SSL VPNの有効化と新規アカウントの作成により、FortiGate機器は内部ネットワークへの進入点に変貌しました。攻撃者は自らが作成したアカウントを使ってSSL VPN接続を確立し、内部環境への認証を開始します。

Rapid7が攻撃者の起点をFortiGateだと断定する決定打となったのは、Windows環境への最初の認証が、既知の内部IPアドレス範囲に属さない「内部IP」から発信されていたという痕跡です。この未知の内部IPは、FortiGate機器のDHCPリース範囲に含まれていました。VPN利用者に割り当てられたIPと整合する一方、この環境ではSSL VPNが本来有効化されていなかったため、強い違和感を生む痕跡となりました。

ステップ6:内部環境での偵察とMimikatzによる資格情報窃取

内部侵入後、攻撃者はユーザー、システム、アクセス可能なリソースの列挙を行いました。この活動はSMBベースのファイルスクレイピングやネットワーク共有アクセスにまで拡大し、環境内に保存されたファイルを広範に閲覧しました。

資格情報収集では、Mimikatzが使用され、環境内の複数ソースから認証情報が抽出されました。Rapid7は「攻撃者の目的は、特権管理者アカウントの有効な資格情報を取得し、正規管理作業に紛れ込むことだった」と分析しています。

ステップ7:横展開と高価値標的への接近

資格情報を得た攻撃者は、PsExecMicrosoft Remote Desktop(RDP)を用いて横展開を実施しました。標準的なWebブラウザによるアプリケーションアクセスも組み合わせています。

攻撃者が特に関心を示した標的は、環境全体への広範なアクセスを提供する以下のシステムでした。

  • 仮想化プラットフォーム
  • ドメインコントローラー
  • バックアップインフラストラクチャを支えるサーバー群

Rapid7は「これらのシステムは、権限昇格、機密データへのアクセス、復旧能力の阻害を狙う攻撃者にとって高価値な標的である」と指摘しています。バックアップ基盤の優先的な標的化は、ランサムウェア展開前の典型的な前兆であり、実害が広がる前にRapid7チームが封じ込めに成功した意義の大きさを示唆しています。

検出機会 — 守る側の具体的な視点

Rapid7が示している検出観点は、InsightIDR/MDR顧客向けに実装した3つのシグネチャに集約されます。これらは本記事で取り上げた攻撃チェーンの各段階に対応しています。

  • Potential Exploitation – FortiGate Admin SSO Login and Config Download via External IP:外部IPからの管理者SSOログインと設定ファイルダウンロードの組み合わせを検出します。ステップ1〜2の検出に対応します
  • Exfiltration – FortiGate Config Downloaded Using GUI via External IP:外部IPからのGUI経由設定ファイルダウンロードを単独で検出します
  • Suspicious Authentication – FortiGate SSO Login via External IP:外部IPからのFortiGate SSOログイン自体を検出します

これらの検出観点が示しているのは、個別の操作(SSOログイン、設定ダウンロード、アカウント作成)はそれぞれ正規管理作業と区別しづらいものの、外部IPからの実行という条件を重ねると異常性が浮かび上がるという設計思想です。自社のSIEM/SOARで同等のロジックを実装する際の参考になります。

MITRE ATT&CKマッピング

Rapid7は観測した攻撃者の手法を以下のようにMITRE ATT&CKフレームワークにマッピングしています。

戦術 技術 詳細
初期アクセス Exploit Public-Facing Application(T1190) FortiGateファイアウォールにおけるCVE-2025-59718の悪用
永続化 Create Account(T1136) FortiGateファイアウォール上のローカルアカウント作成
永続化・初期アクセス Valid Accounts(T1078) 作成アカウント・侵害アカウントを用いたSSL VPNおよびRDP認証
防御回避 Impair Defenses(T1562) 攻撃者アクセスを許可するファイアウォールルール追加
資格情報アクセス OS Credential Dumping(T1003) ローカルシステムおよびWindowsレジストリハイブを標的としたMimikatz実行
偵察 System Network Configuration Discovery(T1016) 機密ネットワーク情報を含むFortiGate設定ファイルのダウンロード
偵察 Network Service Scanning(T1046) Advanced Port Scanner等のツールによるSMBプロトコル経由の内部IP範囲スキャン
横展開 Remote Services(T1021) RDPの使用
実行 Service Execution(T1569.002) 影響システムに対する認証情報検証のためのPsExecリモート実行

Rapid7が強調する防御側の教訓

Rapid7は記事末尾で防御側への具体的なメッセージを3点に整理しています。

第一に、調査における「好奇心」の重要性。効果的な調査には、証拠を掘り下げる意欲と、全体像を見据える視野の両方が必要であり、一見矛盾するこの2つの姿勢がそれぞれ異なる役割を果たすと述べています。表面的な観察で止まらず、ログを跨いでピボットし、活動を相関させ、時間軸を遡って行動を追跡する姿勢が、仮説を結論に変えると強調しています。

第二に、環境への可視性の重要性。どれほど強力な調査手法を用いても、適切なテレメトリへのアクセスがなければ侵入の完全な再構築はできないと指摘しています。本件の調査で特に重要な役割を果たしたのは、エッジ機器の活動への可視性でした。

第三に、エッジ機器監視の構造的課題。Rapid7は「ネットワークエッジは敵対的な環境であるにもかかわらず、頻繁に監視の手薄な領域になっている」と述べ、外部公開サービス・機器は恒常的に標的となっているが、その監視体制が内部エンドポイントと同等の水準にないことが多いと指摘しています。推奨策として、エッジ機器全体にわたる集中syslog監視の導入を提示しており、これにより接続試行、設定変更、悪用シグネチャの痕跡をリアルタイムの監査証跡として残せるとしています。

実務への含意

本IR事例から、実務担当者が組織防衛のために引き出せる示唆を3点にまとめます。

第一に、境界機器のテレメトリ集約は優先度の高い投資です。本件では、FortiGate機器のシステムログが残っていたこと(SSL VPN設定変更、設定ファイルダウンロード、アカウント作成)によって初めて攻撃起点の特定が可能になりました。FortiGateやFortiProxyのシステムログを中央syslogに送信していない環境では、同種の攻撃に遭遇した際に「なぜ内部に未知の内部IPが現れたのか」という根本疑問を解く手がかりが失われます。

第二に、FortiCloud SSO機能の有効化状態を即座に確認する必要があります。本機能は工場出荷時デフォルトでは無効ですが、FortiCareへの登録プロセスでオプトアウトしない限り自動的に有効化されます。自社のFortiGate機器がこの状態に該当していないかを確認し、不要であれば以下のコマンドで明示的に無効化するのが安全です。

config system global
set admin-forticloud-sso-login disable
end

第三に、CVE-2025-59718のパッチだけでは不十分です。2026年1月に判明した通り、別系統の新規脆弱性としてCVE-2026-24858が続いて公表されています。現時点では、FG-IR-25-647の最新版アドバイザリが提示する修正バージョンへの更新に加え、CVE-2026-24858(FG-IR-26-060)への対処も合わせて実施する必要があります。管理インターフェースをインターネット公開しない、VPNやジャンプホスト経由のアクセスに限定するといった根本的な露出削減も、パッチ適用と並行して進める価値があります。

Rapid7が締めくくりで述べているように、侵入の起点を辿る道筋は「しばしばすでに証拠の中に存在しており、どこをどう見るかを知っていることが必要になる」ものです。本IR事例の詳報は、エッジ機器を標的とする攻撃の発見と封じ込めを実現するために、何を記録し、何を相関させ、何を疑うべきかを具体的に示してくれています。

ソース

一次ソース

参考情報

コメント

タイトルとURLをコピーしました