偽造インストーラーが引き起こすマルチステージのシステム妥協
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
アクティブなマルウェアキャンペーンは、信頼できるベンダーを装って悪意のあるインストーラーを配布する偽のソフトウェアダウンロードサイトを使用しています。実行されると、インストーラーは、持続性を確立し、セキュリティコントロールを弱体化させ、攻撃者が制御するインフラストラクチャと通信するマルウェアを展開します。このキャンペーンは主に、中国語話者および複数の業種にわたる中国拠点の組織をターゲットにしています。
調査
Microsoft Defenderは、攻撃連鎖のいくつかの段階を検出し、自動隔離を通じて中断しました。調査者は、ダウンロードごとにアーカイブのハッシュを変更するサーバー側のペイロード再生成を特定しました。テレメトリは、特定の偽装されたドメインとペイロード配信ホストの回転セットに関連付けられた悪意のあるアーカイブにもリンクしていました。
軽減策
組織は、不信頼ソースからのダウンロードをブロックすることを優先し、許可されていないセキュリティ設定の変更を防ぐために改ざん防止が有効になっていることを確認する必要があります。SmartScreen、ネットワーク保護、およびMicrosoft Defender XDRも利用可能な場所で有効にする必要があります。ユーザーは、正当なソフトウェアベンダーを装った類似ドメインを認識し回避するよう指導されるべきです。
対応
悪意のある活動が検出された場合、対応者はすべての持続性メカニズムを完全に削除することに焦点を当てるべきです。自動的な中断ではすべてのスケジュールされたタスクを排除できない可能性があります。 FileOriginReferrerUrl は元のダウンロードソースを特定するのに役立ちます。アナリストは、世界中の書き込み可能なディレクトリ内のランダム化されたファイルドロップパターンを追跡し、関連する持続性アーティファクトを調査する必要があります。
攻撃フロー
この部分はまだ更新中です。
検出
LOLBAS Schtasks(コマンドライン経由)
公共ユーザープロファイルからの疑わしい実行(プロセス作成経由)
疑わしいVSSADMINアクティビティ(コマンドライン経由)
Windows Defenderの設定の疑わしい変更(PowerShell経由)
公共ユーザープロファイル内の疑わしいファイル(ファイルイベント経由)
検出するためのIOC(HashSha256):システム妥協への偽のインストーラー:欺瞞的なソフトウェアダウンロードキャンペーンの追跡
検出するためのIOC(SourceIP):システム妥協への偽のインストーラー:欺瞞的なソフトウェアダウンロードキャンペーンの追跡
検出するためのIOC(DestinationIP):システム妥協への偽のインストーラー:欺瞞的なソフトウェアダウンロードキャンペーンの追跡
非標準ポートを通じたコマンド・アンド・コントロール通信の検出[Windowsネットワーク接続]
偽のソフトウェアダウンロードキャンペーン活動の検出[Windowsプロセス作成]
シミュレーション実行
前提条件: テレメトリとベースラインプレフライトチェックが完了している必要があります。
根拠: このセクションは、検出ルールを引き起こすために設計された敵の技術(TTP)の正確な実行を詳細に示します。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または関連しない例は誤診につながります。
-
攻撃の説明&コマンド: 敵はスプーフィングされたウェブサイトを介してユーザーを攻撃します。ユーザーはapp_setup.6653004.zipという名前のファイルをダウンロードします。
Microsoft Edge経由で。攻撃者は悪意のあるMSIインストーラーを実行し、-Embeddingフラグを使用してその活動を偽装します。最終的にインストーラーは-Embeddingフラグを使って活動を偽装します。最後に、インストーラーはcmd.exeを実行してvssadmin delete shadows /all /quietを実行し、後のランサムウェア展開後に被害者がファイルを復元できないようにします。別途、攻撃者はPowerShellを使用して除外パスを追加し、Windows Defenderを回避しようと試みます。 -
回帰テストスクリプト:
# 偽のソフトウェアキャンペーンのシミュレーション Write-Host "[+] シミュレーション開始: 偽のソフトウェアキャンペーン" -ForegroundColor Cyan # 1. Edgeが特定のファイル名をダウンロードするシミュレーション(注:プロセスイベントをシミュレート) # Webサーバーなしでスクリプトによる名前指定を強制的にダウンロードは困難なので, # ルールが期待するプロセス作成イベントをシミュレーションします。 Write-Host "[+] ステップ1: 特定のダウンロードコマンドラインを持つEdgeプロセスをシミュレート..." Start-Process "msedge.exe" -ArgumentList "--downloads app_setup.6653004.zip" -WindowStyle Hidden # 2. MSIExecのエンベディング/悪用パターンをシミュレート Write-Host "[+] ステップ2: 悪意のあるMSIExecエンベディングをシミュレート..." Start-Process "msiexec.exe" -ArgumentList "-Embedding E GlobalMSI0000" -WindowStyle Hidden # 3. CMDを介したVSSAdmin影コピー削除のシミュレーション("Chain"完成) Write-Host "[+] ステップ3: CMDを介したVSSAdmin影コピー削除のシミュレーション..." Start-Process "cmd.exe" -ArgumentList "/c vssadmin delete shadows /all /quiet" -WindowStyle Hidden # 4. PowerShell除外(単独検出)のシミュレーション Write-Host "[+] ステップ4: PowerShell Defender除外をシミュレート..." Start-Process "powershell.exe" -ArgumentList "Add-MpPreference -ExclusionPath 'C:TempMalware'" -WindowStyle Hidden Write-Host "[+] シミュレーションコマンド完了。SIEMで警告を確認してください。" -ForegroundColor Green -
クリーンアップコマンド:
# クリーンアップ: シミュレーション中に追加された除外パスを削除 Write-Host "[+] クリーンアップ: PowerShell Defender除外を削除..." -ForegroundColor Yellow powershell.exe -Command "Remove-MpPreference -ExclusionPath 'C:TempMalware'" # 注記: VSSAdmin削除はスクリプトで"元に戻す"のが難しい; テスト環境でのみ使用される # 破壊的な動作です。