PoC Exploit Released for Critical Fortinet FortiClient EMS CVE-2023-48788 Flaw
2024/03/21 SecurityOnline — Fortinet FortiClient EMS (Enterprise Management Server) に存在する、深刻な脆弱性 CVE-2023-48788 (CVSS:9.3) に対する PoC エクスプロイト・コードが、Horizon3 のセキュリティ研究者たちにより公開された。この SQL インジェクションの脆弱性の悪用に成功した攻撃者は、影響を受けるシステム上で悪意のコードをリモートで実行することが可能になるため、企業ネットワーク全体が危険にさらされる恐れがある。なお、この脆弱性は、すでに野放し状態での悪用が確認されている。

Horizon3 チームの詳細な分析により、この脆弱性の原因は特定されている。具体的に言うと、FortiClient EMS 内でユーザー入力が不適切に処理されると、サニタイズされていないデータが SQL データベース・クエリにダイレクトに挿入される。つまり、高度な技術を持つ熟練した攻撃者が、これらのクエリを操作するという隙が生じるのだ。
Fortinet FortiClient EMS は、一般的な IT 管理ソリューションである。それを利用する企業は、ノート PC/デスクトップ PC/サーバーなどの大量のエンドポイント・デバイスを、安全かつ集中的に管理している。そのため、このソフトウェアに対するエクスプロイトが成功すると、ネットワーク・セキュリティに甚大な影響が生じることになる。
この脆弱性を理解するには、FortiClient EMS の構造を詳しく知る必要がある:
- FmcDaemon.exe:登録されたクライアントとの通信を促進する主要なサービスであり、通常はポート 8013 でリッスンしている。
- FCTDas.exe:データ・アクセス・サーバであり、リクエストを SQL クエリに変換して、Microsoft SQL Server データベースをダイレクトに操作する。
- 複数のエンドポイント・クライアントが FmcDaemon と通信し、潜在的な悪用の下地を作る。
Horizon3 チームが最初にスキャンしたのは、インストール・フォルダー内の一般的な SQL 文字列であり、それにより FCTDas.exe にたどり着いた。このコンポーネントは、ローカル・データベースに接続するだけではなく、着信接続をリッスンしているため、重要な手がかりとなった。このチームは、tcp/8013 を経由する通信により、FCTDas.exe を介して間接的にデータベースへのクエリが可能になるという仮説を立てた。
エンドポイント・クライアントと FcmDaemon.exe との間の通信を、さらに詳しく調査したところ、暗号化されたやり取りの存在が明らかになった。そこから得られたのは、FcmDaemon との有意義な通信のための、Python スクリプトを作成するという洞察である。このメッセージ・フォーマットの発見は、意図的な応答遅延を引き起こすことで SQL インジェクションの脆弱性を確認する、シンプルかつ効果的なペイロードにつながった。
SQL インジェクションを、リモート・コード実行 (RCE:Remote Xode Execution) の手段に変えるには、Microsoft SQL Server の xp_cmdshell 機能を活用する必要があった。当初は xp_cmdshell コマンド用に設定されていなかったが、これを有効化することは簡単であり、悪用プロセスにおける重要なステップとなった。

侵入を検知することは極めて重要であり、FortiClient EMS のログは、MS SQL のログとともに、不正な接続や xp_cmdshell によるコマンド実行を特定するための、重要なリソースとなり得る。包括的な防御戦略には、攻撃者が採用する可能性のある各種の手口や、痕跡を消そうとする取り組みを、認識することが不可欠である。
この、Fortinet FortiClient EMS の脆弱性 CVE-2023-48788 については、2024/03/13 の「Fortinet FortiOS/FortiProxy/FortiClientEMS の3つの脆弱性が FIX:直ちにアップデートを!」でも、簡単に触れられていました。そこから1週間ほどで、PoC エクスプロイトが公開されました。ご利用のチームは、ご注意ください。よろしければ、Fortinet で検索も、ご利用ください。
You must be logged in to post a comment.