MuddyWaterのRustピボット:RustyWaterインプラントの内部
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
MuddyWaterは、中東の外交、海運、金融、通信組織を対象としたスピアフィッシングキャンペーンを開始しました。攻撃者は、RustベースのインプラントであるRustyWaterを展開するために、マクロが埋め込まれた武装化されたWord文書に依存していました。インストールされると、マルウェアはRunレジストリキーを通じて持続性を持ち、HTTPを介してコマンド&コントロールと通信し、通常のユーザーアクティビティに溶け込むためにexplorer.exeにコードを注入します。インプラントは解析防止の安全策を組み込み、攻撃者の制御を拡張するためのモジュール化されたポスト妥協機能をサポートします。
調査
CloudSEKのTRIADチームは悪意のあるドキュメントを分析し、16進数でエンコードされたペイロードを復元し、Rust実行ファイルreddit.exeを特定しました。静的検査では、HTTPベースのC2のためにreqwestライブラリを使用し、アンチデバッグのためのベクター化された例外ハンドラメカニズムを持ち、CurrentUser Runレジストリパスを介して持続性を維持することが示されました。動的テストでは、explorer.exeへのプロセス注入とランダム化されたコールバックタイミングを伴う非同期C2動作を確認しました。調査では、ハッシュ、レジストリアーティファクト、通信に使用された悪意のあるドメインなど、主要なインジケーターをまとめました。
緩和策
特にProgramData下に格納されたバイナリを指すエントリを含む、HKCUSoftwareMicrosoftWindowsCurrentVersionRunの怪しい変更に注意してください。OfficeがWScript.Shellを介してcmd.exeを呼び出すマクロ駆動の実行チェーンを検出します。JSON → Base64 → XORのエンコーディングとランダム化されたジッターを伴うビーコン通信のためのHTTPトラフィックパターン検出を追加します。不明または信頼できない送信者からのマクロ対応のWord添付ファイルをブロックまたは隔離するためのメール制御を強化します。
対応
RustyWaterの活動が検出された場合、エンドポイントを隔離し、注入に焦点を当てたフォレンジックを支援するためにメモリイメージを取得します。悪意のあるRunキー持続性を削除し、ProgramDataにドロップされたファイルを削除します。確認されたC2ドメインとIPを境界制御でブロックします。関連するマクロ活動とexplorer.exeの注入アーティファクトを環境全体で特定し、完全な封じ込めを確保するための狩猟を拡大します。
攻撃フロー
検出
実行可能バイナリの異常な拡張 (via process_creation)
表示
可能性のある持続化ポイント [ASEPs – Software/NTUSER Hive] (via registry_event)
表示
引数のない疑わしいプロセス (via cmdline)
表示
疑わしいMSオフィス子プロセス (via cmdline)
表示
IOC (HashSha256) を検出する: Reborn in Rust: Muddy WaterがRustyWaterインプラントでツールを進化させる
表示
Muddy Water RustyWater インプラント実行の検出 [Windows プロセス作成]
表示
Muddy Water APT スピアフィッシングアーティファクトの検出 [Windows ファイルイベント]
表示
シミュレーション実行
前提条件: テレメトリーとベースラインの事前チェックが合格している必要があります。
理論: このセクションでは、検出ルールをトリガーすることを目的とした攻撃者の技術的手法 (TTP) の正確な実行を詳しく説明しています。コマンドや説明は識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目的としています。
-
攻撃ナレッジとコマンド:
APTオペレーターは、悪意のあるマクロを含んだOfficeの添付ファイルを含むスピアフィッシングメールを受け取ります。開封されると、マクロは2つのペイロードファイルをドロップします—Cybersecurity.docandCertificationKit.ini—多くのアプリケーションで信頼されている場所に隠すためにディレクトリ。マクロはPowerShellを使用してファイルを書き込み、これがSysmonファイル作成イベントをトリガーし、検出ルールが監視します。directory to hide them in a location trusted by many applications. The macro uses PowerShell to write the files, which triggers Sysmon file‑create events that the detection rule monitors. -
回帰テストスクリプト:
# ------------------------------------------------- # MuddyWater APTファイルドロップシミュレーション (Windows) # ------------------------------------------------- $progData = $Env:ProgramData # ペイロード内容を定義 (テスト用のダミーデータ) $docContent = "これは検出テスト用のサイバーセキュリティ文書のモックです。" $iniContent = "[設定]`nキー=値`n" # Cybersecurity.docを作成 $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc" $docContent | Out-File -FilePath $docPath -Encoding UTF8 # CertificationKit.iniを作成 $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini" $iniContent | Out-File -FilePath $iniPath -Encoding UTF8 Write-Host "MuddyWaterシミュレーションファイルが作成されました:" Write-Host "`t$docPath" Write-Host "`t$iniPath" # ------------------------------------------------- -
クリーンアップコマンド:
# シミュレーションアーティファクトを削除 Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue Write-Host "シミュレーションファイルが削除されました。"