detecting-t1003-credential-dumping-with-edr について
セキュリティ分析担当者向けに、MITRE ATT&CK T1003 の認証情報ダンプを調査する手順をまとめています。LSASS、NTDS、レジストリハイブ、DCSyncを対象に、イベントとSIEMクエリで影響を確認します。
主な機能
- 01LSASSプロセスアクセスの監視
- 02認証情報ダンプツールの特定
- 03NTDSとレジストリアクセスの検出
- 04DCSyncアクティビティの調査
- 05後続のラテラルムーブメントとの相関
活用シーン
- 01LSASSアクセスアラートの調査
- 02認証情報侵害範囲の特定
- 03LSASS保護機能の監査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill detecting-t1003-credential-dumping-with-edrインストール後、Claude Code で/detecting-t1003-credential-dumping-with-edrを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py詳細
EDR を使用した T1003 資格情報ダンプの検出
使用するタイミング
- 環境内で資格情報窃取の活動を探索(ハンティング)するとき
- 侵害の兆候から攻撃者が昇格した権限を持っていると推測されるとき
- LSASS へのアクセスや不審なプロセスメモリの読み取りに関する EDR アラートが発生したとき
- インシデント対応中に資格情報漏えいの範囲を特定するとき
- LSASS 保護制御(Credential Guard、RunAsPPL)を監査するとき
前提条件
- LSASS へのアクセス監視を有効にした EDR エージェントの導入(CrowdStrike、Defender for Endpoint、SentinelOne)
- LSASS 固有のフィルターを設定した Sysmon イベント ID 10(ProcessAccess)
- Windows セキュリティ イベント ID 4656/4663(オブジェクト アクセス監査)
- LSASS の SACL 監査の有効化(Windows 10 以降)
- SAM ハイブへのアクセスに対するレジストリ監査
ワークフロー
- LSASS プロセスアクセスの監視: 不審なアクセス権(PROCESS_VM_READ 0x0010、PROCESS_ALL_ACCESS 0x1FFFFF)を指定して lsass.exe へのハンドルを開くすべてのプロセスを追跡します。特権を持たないプロセスや通常とは異なるプロセスが LSASS にアクセスしている場合は、強い兆候となります。
- 資格情報ダンプツールの検出: 既知のツールのシグネチャを探索します。Mimikatz(sekurlsa::logonpasswords)、LSASS を対象とした procdump.exe、comsvcs.dll MiniDump、タスクマネージャーによる LSASS ダンプの作成などが対象です。
- NTDS.dit へのアクセスの監視: ボリューム シャドウ コピーの作成(vssadmin、wmic shadowcopy)に続いて NTDS.dit ファイルへアクセスする動き、または ntdsutil.exe による IFM の作成を検出します。
- SAM/SECURITY/SYSTEM ハイブへのアクセスの追跡: SAM、SECURITY、SYSTEM のレジストリ ハイブを対象とした reg.exe の save コマンドを探索します。
- DCSync アクティビティの検出: ディレクトリ レプリケーション(レプリケーション GUID を伴うイベント 4662)を要求する DC 以外のアカウントを監視します。
- 水平移動との相関分析: 資格情報ダンプの後、攻撃者は通常、水平移動を行います。資格情報アクセスのイベントと、その後に行われるリモート ログオンの試行を相関付けます。
- 影響の評価: 漏えいした可能性のある資格情報を特定し、パスワードのリセットを開始します。
主要な概念
| 概念 | 説明 |
|---|---|
| T1003.001 | LSASS メモリ -- LSASS プロセスから資格情報をダンプする |
| T1003.002 | セキュリティ アカウント マネージャー -- SAM からローカル アカウントのハッシュを抽出する |
| T1003.003 | NTDS -- Active Directory データベースからドメインのハッシュを抽出する |
| T1003.004 | LSA シークレット -- サービス アカウントのパスワードを抽出する |
| T1003.005 | キャッシュされたドメイン資格情報 -- DCC2 ハッシュを抽出する |
| T1003.006 | DCSync -- ドメイン コントローラーから資格情報をレプリケートする |
| Credential Guard | LSASS のシークレットを仮想化ベースで分離する機能 |
| RunAsPPL | LSASS 向けの Protected Process Light |
検出クエリ
Splunk -- LSASS アクセスの検出
index=sysmon EventCode=10
| where match(TargetImage, "(?i)lsass\.exe$")
| where GrantedAccess IN ("0x1FFFFF", "0x1F3FFF", "0x143A", "0x1F0FFF", "0x0040", "0x1010", "0x1410")
| where NOT match(SourceImage, "(?i)(csrss|lsass|svchost|MsMpEng|WmiPrvSE|taskmgr|procexp|SecurityHealthService)\.exe$")
| table _time Computer SourceImage SourceProcessId GrantedAccess CallTrace
Splunk -- 資格情報ダンプツールの検出
index=sysmon EventCode=1
| where match(CommandLine, "(?i)(sekurlsa|lsadump|kerberos::list|crypto::certificates)")
OR match(CommandLine, "(?i)procdump.*-ma.*lsass")
OR match(CommandLine, "(?i)comsvcs\.dll.*MiniDump")
OR match(CommandLine, "(?i)ntdsutil.*\"ac i ntds\".*ifm")
OR match(CommandLine, "(?i)reg\s+save\s+hklm\\\\(sam|security|system)")
OR match(CommandLine, "(?i)vssadmin.*create\s+shadow")
| table _time Computer User Image CommandLine ParentImage
KQL -- Microsoft Defender for Endpoint
DeviceEvents
| where Timestamp > ago(7d)
| where ActionType in ("LsassAccess", "CredentialDumpingActivity")
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName,
InitiatingProcessCommandLine, ActionType, AdditionalFields
| sort by Timestamp desc
Sigma ルール -- LSASS 資格情報ダンプ
title: LSASS Memory Credential Dumping Attempt
status: stable
logsource:
product: windows
category: process_access
detection:
selection:
TargetImage|endswith: '\lsass.exe'
GrantedAccess|contains:
- '0x1FFFFF'
- '0x1F3FFF'
- '0x143A'
- '0x0040'
filter:
SourceImage|endswith:
- '\csrss.exe'
- '\lsass.exe'
- '\MsMpEng.exe'
- '\svchost.exe'
condition: selection and not filter
level: critical
tags:
- attack.credential_access
- attack.t1003.001
一般的なシナリオ
- Mimikatz sekurlsa:
sekurlsa::logonpasswordsを使用して LSASS のメモリを直接読み取り、平文のパスワード、NTLM ハッシュ、Kerberos チケットを抽出します。 - ProcDump による LSASS:
procdump.exe -ma lsass.exe lsass.dmpを実行し、オフラインで資格情報を抽出するためのメモリダンプを作成します。 - Comsvcs.dll MiniDump: Windows に標準搭載された DLL を利用して LSASS をダンプします。
rundll32.exe comsvcs.dll MiniDump [LSASS_PID] dump.bin full - NTDS.dit の抽出: ボリューム シャドウ コピーを作成し、NTDS.dit と SYSTEM ハイブをコピーして、secretsdump によりオフラインでドメインのハッシュを抽出します。
- SAM ハイブのエクスポート:
reg save HKLM\SAM sam.saveを実行し、続けてreg save HKLM\SYSTEM system.saveを実行して、ローカル アカウントのハッシュを抽出します。 - タスクマネージャーによるダンプ: タスクマネージャーで LSASS を右クリックしてメモリダンプを作成します。正規のツールが資格情報窃取に悪用される例です。
出力形式
Hunt ID: TH-CRED-[DATE]-[SEQ]
Host: [Hostname]
Dumping Method: [LSASS_Access/NTDS/SAM/DCSync]
Source Process: [Tool or process used]
Target: [LSASS/NTDS.dit/SAM/SECURITY]
Access Rights: [Granted access mask]
User Context: [Account performing the dump]
ATT&CK Technique: [T1003.00x]
Risk Level: [Critical/High/Medium]
Credentials at Risk: [Scope assessment]
コメント
Markdown 対応