mcpField
D
detecting-t1055-process-injection-with-sysmon

detecting-t1055-process-injection-with-sysmon

github.com/mukul975セキュリティ35.2k42 回インストール8 週間前に更新
リポジトリ

detecting-t1055-process-injection-with-sysmon について

Windows のセキュリティ分析担当者向けに、Sysmon を使ったプロセスインジェクションを調査するスキルです。イベントの分析と相関、ATT&CK サブテクニックの分類を扱います。

主な機能

  1. 01Sysmon イベント 8、10、7、25 の分析
  2. 02プロセス作成との相関による攻撃経路の構築
  3. 03不審な DLL 読み込みとプロセス間アクセスの特定
  4. 04ATT&CK インジェクションサブテクニックの分類
  5. 05Splunk と KQL のクエリ例

活用シーン

  1. 01リモートスレッドやメモリアクセスのアラート調査
  2. 02システムプロセスへのコード注入の調査
  3. 03インジェクション検知における Sysmon のカバレッジ検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill detecting-t1055-process-injection-with-sysmon

インストール後、Claude Code で/detecting-t1055-process-injection-with-sysmonを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

Sysmon による T1055 プロセスインジェクションの検知

使用するタイミング

  • 正規のプロセス内に悪意のあるコードを隠す防御回避テクニックを探すとき
  • 不審なプロセス間メモリアクセスやリモートスレッド作成に関する EDR アラートが発生した後
  • svchost.exe、explorer.exe などのシステムプロセスにインジェクトするマルウェアを調査するとき
  • インジェクションの亜種に対する検知をテストするパープルチーム演習中
  • インジェクション検知に対する Sysmon 設定のカバレッジを検証するとき

前提条件

  • Events 1、7、8、10、25 を取得する包括的な設定で Sysmon がデプロイされていること
  • リモートスレッド検知のために Event ID 8(CreateRemoteThread)が有効になっていること
  • 適切なアクセスマスクフィルターで Event ID 10(ProcessAccess)が設定されていること
  • DLL インジェクション検知のために Event ID 7(ImageLoaded)が有効になっていること
  • Sysmon 13 以降でプロセスホロウイングを検知するために Event ID 25(ProcessTampering)が有効になっていること
  • 相関分析とアラート用の SIEM プラットフォームがあること

ワークフロー

  1. CreateRemoteThread(Event 8)の監視: あるプロセスが別のプロセスのアドレス空間内にスレッドを作成したことを検知します。これは従来型の DLL インジェクションおよびシェルコードインジェクションの主要な指標です。
  2. ProcessAccess(Event 10)の分析: PROCESS_VM_WRITE(0x0020)、PROCESS_VM_OPERATION(0x0008)、PROCESS_CREATE_THREAD(0x0002)のアクセス権を伴うプロセス間ハンドル要求を追跡します。正規のプロセスがほかのプロセスに対してこれらを必要とすることはほとんどありません。
  3. 異常な DLL 読み込みの検知(Event 7): システムプロセスに、通常と異なるパス(ユーザーの一時ディレクトリ、ダウンロードフォルダーなど)から読み込まれた DLL を特定します。
  4. プロセスホロウイングの調査(Event 25): Sysmon 13 以降では、メモリ上の実行イメージがディスクからマップされたものと乖離した場合に ProcessTampering イベントを生成します。これはプロセスホロウイング(T1055.012)の典型的な兆候です。
  5. プロセス作成との相関: インジェクションイベントを発生元のプロセス作成(Event 1)に関連付け、初期実行からインジェクションまでの攻撃チェーン全体を明らかにします。
  6. 正常なプロセス間アクティビティの除外: プロセス間操作を行う正規のソフトウェア(デバッガー、ウイルス対策製品、アクセシビリティツール、RMM エージェント)を除外します。
  7. ATT&CK サブテクニックへのマッピング: 検知したインジェクションを、従来型インジェクション(T1055.001)、PE インジェクション(T1055.002)、スレッド実行ハイジャック(T1055.003)、APC インジェクション(T1055.004)、スレッドローカルストレージ(T1055.005)、プロセスホロウイング(T1055.012)、プロセスドップルガンギング(T1055.013)に分類します。

主要な概念

概念説明
T1055.001Dynamic-link Library Injection
T1055.002Portable Executable Injection
T1055.003Thread Execution Hijacking
T1055.004Asynchronous Procedure Call (APC) Injection
T1055.005Thread Local Storage
T1055.012Process Hollowing
T1055.013Process Doppelganging
T1055.015ListPlanting
Sysmon Event 8CreateRemoteThread の検知
Sysmon Event 10メモリ書き込み権限を伴う ProcessAccess
Sysmon Event 25ProcessTampering(イメージの不一致)
Access Mask 0x1FFFFFPROCESS_ALL_ACCESS -- プロセス間の完全な制御

ツールとシステム

ツール用途
Sysmonインジェクション検知の主要なテレメトリソース
Process Hackerプロセスメモリ領域の手動調査
PE-sieve実行中のプロセスをスキャンし、ホロウイング/インジェクションされたコードを検出
Monetaプロセス内の異常なメモリ領域を検知
Splunk / ElasticSysmon イベントの SIEM 相関分析
Volatilityインジェクションの痕跡に対するメモリフォレンジクス
Hollows Hunterホロウイングされたプロセスの自動スキャン

検知クエリ

Splunk -- リモートスレッド作成
index=sysmon EventCode=8
| where SourceImage!=TargetImage
| where NOT match(SourceImage, "(?i)(csrss|lsass|services|svchost|MsMpEng|SecurityHealthService|vmtoolsd)\.exe$")
| eval suspicious=if(match(TargetImage, "(?i)(svchost|explorer|lsass|winlogon|csrss|services)\.exe$"), "high_value_target", "normal_target")
| where suspicious="high_value_target"
| table _time Computer SourceImage SourceProcessId TargetImage TargetProcessId StartFunction NewThreadId
Splunk -- 不審な ProcessAccess パターン
index=sysmon EventCode=10
| where SourceImage!=TargetImage
| where match(GrantedAccess, "(0x1FFFFF|0x1F3FFF|0x143A|0x0040)")
| where match(TargetImage, "(?i)(lsass|svchost|explorer|winlogon)\.exe$")
| where NOT match(SourceImage, "(?i)(MsMpEng|csrss|services|svchost|taskmgr|procexp)\.exe$")
| table _time Computer SourceImage TargetImage GrantedAccess CallTrace
KQL -- リモートスレッドによるプロセスインジェクション
DeviceEvents
| where Timestamp > ago(7d)
| where ActionType == "CreateRemoteThreadApiCall"
| where InitiatingProcessFileName !in~ ("csrss.exe", "lsass.exe", "services.exe", "svchost.exe")
| where FileName in~ ("svchost.exe", "explorer.exe", "lsass.exe", "winlogon.exe")
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
    FileName, ProcessCommandLine
Sigma ルール -- プロセスインジェクション検知
title: Process Injection via CreateRemoteThread into System Process
status: stable
logsource:
    product: windows
    category: create_remote_thread
detection:
    selection:
        TargetImage|endswith:
            - '\svchost.exe'
            - '\explorer.exe'
            - '\lsass.exe'
            - '\winlogon.exe'
    filter_legitimate:
        SourceImage|endswith:
            - '\csrss.exe'
            - '\lsass.exe'
            - '\services.exe'
            - '\MsMpEng.exe'
    condition: selection and not filter_legitimate
level: high
tags:
    - attack.defense_evasion
    - attack.t1055

一般的なシナリオ

  1. 古典的な DLL インジェクション: マルウェアは VirtualAllocEx + WriteProcessMemory + CreateRemoteThread を使用して、悪意のある DLL を対象プロセスに読み込ませます。Sysmon Event 8 で検出されます。
  2. プロセスホロウイング (RunPE): 攻撃者は一時停止状態のプロセスを作成し、そのイメージをアンマップして悪意のある PE を書き込み、実行を再開します。Sysmon Event 25 で検出されます。
  3. APC インジェクション: マルウェアは QueueUserAPC を使用して、対象プロセスのスレッドに非同期プロシージャコール (APC) をキューイングします。検出が難しく、Event 10 の監視が必要です。
  4. リフレクティブ DLL インジェクション: DLL はディスクに触れることなくメモリから直接読み込まれるため、ImageLoaded による検出を回避します。メモリレベルの分析が必要です。
  5. プロセスドッペルゲンギング: NTFS トランザクションを利用して、正規のプロセスイメージを置き換えます。プロセスの整合性チェックによって検出されます。

出力形式

Hunt ID: TH-INJECT-[DATE]-[SEQ]
Host: [Hostname]
Source Process: [Injecting process path]
Source PID: [Process ID]
Target Process: [Target process path]
Target PID: [Process ID]
Injection Type: [DLL/Shellcode/Hollowing/APC]
Sysmon Events: [Event IDs triggered]
Access Mask: [Granted access value]
Risk Level: [Critical/High/Medium/Low]
ATT&CK Sub-Technique: [T1055.xxx]

コメント