detecting-process-hollowing-technique について
プロセスハロウイングを調査するセキュリティ分析者向けの検出スキルです。メモリ、プロセスツリー、ネットワークを調べ、調査結果を記録する手順を示します。
主な機能
- 01サスペンド状態での作成とメモリ書き込みの検出
- 02メモリ上のイメージとディスク上のバイナリの比較
- 03親子プロセスと不審な挙動の分析
- 04不審なプロセスとネットワーク活動の関連付け
- 05調査結果と封じ込め措置の記録
活用シーン
- 01ファイルレスマルウェアやメモリ脅威の調査
- 02プロセスインジェクションの EDR アラート対応
- 03T1055.012 の検出範囲の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill detecting-process-hollowing-techniqueインストール後、Claude Code で/detecting-process-hollowing-techniqueを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
プロセスホロウイング手法の検出
使用するタイミング
- ファイルレスマルウェアまたはメモリ内の脅威が疑われる場合の調査時
- EDR がプロセスインジェクションや不審なメモリ操作についてアラートを発した後
- 侵害された環境で防御回避手法をハンティングする場合
- 脅威インテリジェンスの報告で、進行中のキャンペーンにおけるプロセスホロウイングが示されている場合
- T1055.012 の検出範囲を検証するパープルチーム演習中
前提条件
- メモリ保護を監視できる EDR(CrowdStrike、MDE、SentinelOne)
- Event ID 1(プロセス作成)、8(CreateRemoteThread)、25(ProcessTampering)を備えた Sysmon
- プロセスホロウイング向けの Windows ETW プロバイダー(Microsoft-Windows-Kernel-Process)
- メモリフォレンジック機能(Volatility、WinDbg)
- プロセス整合性監視ツール
ワークフロー
- ホロウイングの仕組みを理解する:プロセスホロウイングでは、正規のプロセスを中断状態で作成し、そのメモリのマッピングを解除して、悪意のあるコードを書き込んだ後、実行を再開します。
- 中断状態で作成されたプロセスを監視する:CREATE_SUSPENDED フラグを指定して作成された後、メモリへの書き込みとスレッドの再開が行われるプロセスをハンティングします。
- メモリセクションの異常を検出する:メモリ内のイメージがディスク上のバイナリと異なるプロセス(イメージの不一致)を特定します。
- 親子プロセスツリーを分析する:動作がバイナリ名と一致しないプロセス(例:異常なネットワーク接続を行う svchost.exe)にフラグを立てます。
- プロセスの整合性を確認する:プロセスのメモリセクションを、ディスク上の正規のバイナリと比較します。
- ネットワークアクティビティと相関させる:ホロウイングされたプロセスは C2 接続を確立することが多いため、不審なプロセスの動作をネットワークログと相関させます。
- 記録して封じ込める:調査結果を報告し、影響を受けたエンドポイントを隔離して、検出ルールを更新します。
主な概念
| 概念 | 説明 |
|---|---|
| T1055.012 | プロセスインジェクション:プロセスホロウイング |
| T1055 | プロセスインジェクション(親手法) |
| T1055.001 | DLL インジェクション |
| T1055.003 | スレッド実行の乗っ取り |
| T1055.004 | 非同期プロシージャ呼び出し |
| CREATE_SUSPENDED | プロセスを中断状態で作成する Windows フラグ |
| NtUnmapViewOfSection | プロセスメモリセクションのマッピングを解除する API |
| WriteProcessMemory | 別のプロセスのメモリに書き込む API |
| ResumeThread | 中断状態のスレッドを再開する API |
| イメージの不一致 | プロセスのメモリ内容がディスク上のバイナリと異なる状態 |
| プロセスドッペルゲンギング | NTFS トランザクションを使用する関連手法(T1055.013) |
ツールとシステム
| ツール | 目的 |
|---|---|
| CrowdStrike Falcon | メモリ保護とホロウイングの検出 |
| Microsoft Defender for Endpoint | ProcessTampering アラート |
| Sysmon v13+ | Event ID 25 による ProcessTampering の検出 |
| Volatility | メモリフォレンジック(malfind プラグイン) |
| pe-sieve | ホロウイングされたプロセスを検出するプロセスメモリスキャナー |
| Hollows Hunter | ホロウイングされたプロセスの自動検出 |
| Process Hacker | 実行中のプロセスメモリの検査 |
| API Monitor | NtUnmapViewOfSection 呼び出しの監視 |
よくあるシナリオ
- Svchost.exe のホロウイング:マルウェアが svchost.exe を中断状態で作成してホロウイングし、バックドアコードを注入します。プロセスは正規のものに見えますが、悪意のある動作をします。
- Explorer.exe のホロウイング:攻撃者が explorer.exe をホロウイングし、そのネットワーク権限と信頼されたプロセスのコンテキストを引き継ぎます。
- Rundll32 のホロウイング:悪意のあるローダーが rundll32.exe を作成し、そのメモリをインプラントコードで置き換えて C2 ビーコンを送信します。
- 多段階ホロウイング:ローダーが最初の段階でプロセスホロウイングを使用し、その後、サービスへの追加のインジェクションを実行します。
出力形式
Hunt ID: TH-HOLLOW-[DATE]-[SEQ]
Technique: T1055.012
Hollowed Process: [Process name and PID]
Original Binary: [Expected on-disk path]
Parent Process: [Parent name and PID]
Memory Mismatch: [Yes/No]
Suspicious APIs: [NtUnmapViewOfSection, WriteProcessMemory, etc.]
Network Activity: [C2 connections if any]
Host: [Hostname]
User: [Account context]
Risk Level: [Critical/High/Medium/Low]
コメント
Markdown 対応