用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dandye/adk_runbooks --skill lateral-movement-hunt-psexec-wmi命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when evaluating threat detection opportunities (TDOs), generating synthetic UDM events, evaluating Chronicle rule coverage, and drafting YARA-L 2.0 rules.
Use when hunting for advanced persistent threat (APT) actor activity, tools, and infrastructure.
Use when initiating threat hunting operations driven by GTI threat campaign intelligence.
正在显示 SKILL.md
| name | lateral-movement-hunt-psexec-wmi |
| description | Use when hunting for lateral movement via PsExec, WMI, remote scheduled tasks, or WinRM. |
| category | hunting |
| version | 1.0.0 |
| type | Skill |
| title | Skill: Lateral Movement Detection Hunt (Example: PsExec/WMI) |
| generated | {"by":"process:google-labs-jules","at":"2025-12-21T03:04:42.000Z"} |
Proactively hunt for signs of lateral movement using common administrative tools like PsExec or WMI abuse, which attackers often leverage.
This runbook provides a template for hunting specific lateral movement TTPs, focusing on PsExec and WMI examples using SIEM queries.
${TIME_FRAME_HOURS}: Lookback period in hours for SIEM searches (default: 72).${TARGET_SCOPE_QUERY}: A UDM query fragment to narrow the scope (e.g., principal.hostname = "server1" or target.hostname = "domain_controller").${HUNT_HYPOTHESIS}: Brief description of the reason for the hunt (e.g., "Hunting for PsExec usage originating from non-admin workstations").secops-mcp: get_threat_intel (for technique understanding), search_security_events (core hunting tool), lookup_entity (for enriching findings).secops-soar: post_case_comment (for documenting hunt/findings), list_cases (optional, check related cases).gti-mcp: (Used for enriching findings if IOCs are discovered).okta-mcp.lookup_okta_user)skills/common/find-relevant-soar-case/SKILL.md${TIME_FRAME_HOURS}, optionally ${TARGET_SCOPE_QUERY} and ${HUNT_HYPOTHESIS}.secops-mcp_get_threat_intel for TTPs like T1570 (Lateral Tool Transfer - PsExec often copied), T1021.002 (Remote Services: SMB/Windows Admin Shares - PsExec uses this), T1047 (Windows Management Instrumentation - WMI abuse).secops-mcp_search_security_events UDM queries targeting indicators. Examples:
metadata.product_event_type = "ServiceInstalled" AND target.process.file.full_path CONTAINS "PSEXESVC.exe" (Requires appropriate Windows Event Log source - System Log Event ID 7045).services.exe spawning unusual processes, especially on remote machines shortly after potential SMB connection. metadata.event_type = "PROCESS_LAUNCH" AND principal.process.file.full_path = "C:\Windows\System32\services.exe" AND target.process.file.full_path NOT IN ("standard_service_process1.exe", "standard_service_process2.exe") (Needs significant tuning based on environment).metadata.event_type = "PROCESS_LAUNCH" AND principal.process.file.full_path = "C:\Windows\System32\wbem\WmiPrvSE.exe" (Look for WmiPrvSE.exe spawning suspicious child processes like cmd.exe, powershell.exe).metadata.event_type = "PROCESS_LAUNCH" AND principal.process.file.full_path = "C:\Windows\System32\cmd.exe" AND principal.process.command_line CONTAINS "wmic" AND principal.process.command_line CONTAINS "/node:" AND principal.process.command_line CONTAINS "process call create"__EventFilter, __EventConsumer, __FilterToConsumerBinding creation/modification (Requires specific WMI event logging or EDR visibility). Example: metadata.event_type = "WMI_ACTIVITY" AND description CONTAINS "__EventFilter"graph TD
START(["START"]) --> extract_lat_move_payload_node["1. extract_lat_move_payload_node<br/><i>(Extract Hunt Scope Payload)</i>"]
extract_lat_move_payload_node --> search_psexec_wmi_events_node["2. search_psexec_wmi_events_node<br/><i>(Search PsExec & WMI Remote Events)</i>"]
search_psexec_wmi_events_node --> lateral_movement_router{"3. lateral_movement_router<br/><i>(Event.actions.route)</i>"}
lateral_movement_router -- "HIGH_LATERAL_MOVEMENT" --> handle_high_lateral_movement_branch["4a. handle_high_lateral_movement_branch<br/><i>(Isolate Source & Target Hosts)</i>"]
lateral_movement_router -- "CLEAN_HUNT" --> handle_clean_lateral_hunt_branch["4b. handle_clean_lateral_hunt_branch<br/><i>(Document Clean Hunt Outcome)</i>"]
handle_high_lateral_movement_branch --> document_lateral_report_node["5. document_lateral_report_node<br/><i>(SOAR Comment & Report Summary)</i>"]
handle_clean_lateral_hunt_branch --> document_lateral_report_node
sequenceDiagram
participant Analyst
participant AutomatedAgent as Automated Agent (MCP Client)
participant SecOpsMCP as secops-mcp
participant SOAR as secops-soar
participant MITRE as MITRE ATT&CK (External)
participant IDP as Identity Provider (Optional)
participant GTI as gti-mcp
participant FindCase as skills/common/find-relevant-soar-case/SKILL.md
Analyst->>AutomatedAgent: Start Lateral Movement Hunt (PsExec/WMI)\nInput: TIME_FRAME_HOURS, TARGET_SCOPE_QUERY (opt), HUNT_HYPOTHESIS (opt)
%% Step 2: Research Techniques
AutomatedAgent->>SecOpsMCP: get_threat_intel(query="MITRE T1021.002")
SecOpsMCP-->>AutomatedAgent: Technique Context
AutomatedAgent->>SecOpsMCP: get_threat_intel(query="MITRE T1047")
SecOpsMCP-->>AutomatedAgent: Technique Context
AutomatedAgent->>MITRE: (Manual) Review ATT&CK Website
MITRE-->>AutomatedAgent: Detailed Procedures/Detections
%% Step 3: Develop SIEM Queries
Note over AutomatedAgent: Formulate UDM queries for PsExec/WMI indicators (incl. new WMI examples)
%% Step 4: Execute SIEM Searches
loop For each developed Query Qi
AutomatedAgent->>SecOpsMCP: search_security_events(text=Qi, hours_back=TIME_FRAME_HOURS)
SecOpsMCP-->>AutomatedAgent: Search Results for Qi
end
%% Step 5: Network Correlation (Optional)
opt Suspicious Activity Found
Note over AutomatedAgent: Construct Network Correlation Query Qn
AutomatedAgent->>SecOpsMCP: search_security_events(text=Qn, hours_back=...)
SecOpsMCP-->>AutomatedAgent: Network Correlation Results
end
%% Step 6: Analyze Results
Note over AutomatedAgent: Analyze results for anomalous PsExec/WMI usage & correlations
%% Step 7: Enrich Findings
opt Suspicious Activity Found
Note over AutomatedAgent: Identify SUSPICIOUS_ENTITIES (H1, U1...)
loop For each Suspicious Entity Ei
AutomatedAgent->>SecOpsMCP: lookup_entity(entity_value=Ei)
SecOpsMCP-->>AutomatedAgent: SIEM Summary for Ei
opt IDP Tool Available and Ei is User
AutomatedAgent->>IDP: lookup_user(user=Ei)
IDP-->>AutomatedAgent: User IDP Context
end
%% Potentially enrich related IOCs if found
opt IOCs Found (I1, I2...)
loop For each IOC Ii
AutomatedAgent->>GTI: get_..._report(ioc=Ii)
GTI-->>AutomatedAgent: GTI Report for Ii
end
end
end
Note over AutomatedAgent: Store combined enrichment (ENRICHMENT_RESULTS)
end
%% Step 8: Check Related SOAR Cases
opt Suspicious Activity Found
AutomatedAgent->>FindCase: Execute(Input: SEARCH_TERMS=SUSPICIOUS_ENTITIES, CASE_STATUS_FILTER="Opened")
FindCase-->>AutomatedAgent: Results: RELATED_SOAR_CASES
end
%% Step 9: Document Hunt
Note over AutomatedAgent: Prepare hunt summary comment (incl. negative results, related cases & suggested follow-ons)
AutomatedAgent->>SOAR: post_case_comment(case_id=[Hunt Case/Relevant Case], comment="Lateral Movement Hunt (PsExec/WMI) Summary: Scope [...], Queries [...], Findings [...], Enrichment [...], Related Cases: [...], Follow-on: [...]")
SOAR-->>AutomatedAgent: Comment Confirmation
%% Step 10 & 11: Escalate or Conclude
alt Confirmed Malicious Activity Found
Note over AutomatedAgent: Escalate findings (Create new case or link to existing)
AutomatedAgent->>Analyst: attempt_completion(result="Lateral Movement Hunt complete. Findings escalated.")
else No Significant Findings
AutomatedAgent->>Analyst: attempt_completion(result="Lateral Movement Hunt complete. No significant findings. Hunt documented.")
end
## Rubrics
The following rubric is used to evaluate the execution of this **Threat Hunt/Analysis** runbook by an LLM agent.
### Grading Scale (0-100 Points)
| Criteria | Points | Description |
| :--- | :--- | :--- |
| **Scope & Query** | 25 | Defined a clear scope and executed effective queries (UDM, search). |
| **Data Analysis** | 30 | Analyzed results to identify patterns, anomalies, or malicious behavior. |
| **Findings** | 15 | Accurately identified and filtered findings (True Positives vs. False Positives). |
| **Documentation** | 15 | Documented the hunt methodology and results clearly. |
| **Operational Artifacts** | 15 | Produced required artifacts: Sequence diagram, execution metadata (date/cost), and summary. |
### Evaluation Criteria Details
#### 1. Scope & Query (25 Points)
- **10 pts**: Correctly defined the time range and entities/indicators for the hunt.
- **15 pts**: Constructed and executed valid, efficient queries to retrieve relevant data.
#### 2. Data Analysis (30 Points)
- **15 pts**: Effectively analyzed the returned data for the hypothesized threat.
- **15 pts**: Correlated events or indicators to strengthen the analysis.
#### 3. Findings (15 Points)
- **15 pts**: Correctly classified the findings and provided evidence for the conclusion.
#### 4. Documentation (15 Points)
- **15 pts**: Recorded the hunt process, queries used, and findings in the system of record.
#### 5. Operational Artifacts (15 Points)
- **5 pts**: **Sequence Diagram**: Produced a Mermaid sequence diagram visualizing the steps taken.
- **5 pts**: **Execution Metadata**: Recorded the date, duration, and estimated token cost.
- **5 pts**: **Summary Report**: Generated a concise summary of the actions and outcomes.
.ps1) or command lines using Invoke-WmiMethod, Get-WmiObject, or Invoke-CimMethod for remote interaction. Example: metadata.event_type = "PROCESS_LAUNCH" AND target.process.file.full_path CONTAINS "powershell.exe" AND target.process.command_line CONTAINS "Invoke-WmiMethod"${TARGET_SCOPE_QUERY} if provided.secops-mcp_search_security_events with hours_back=${TIME_FRAME_HOURS}.metadata.event_type = "NETWORK_CONNECTION" AND target.port = 445 AND target.ip = "TARGET_IP" AND principal.ip = "SOURCE_IP" (Adjust IPs and timeframe based on findings).secops-mcp_lookup_entity for involved source/destination hosts, users. Let these be SUSPICIOUS_ENTITIES.
* (Optional) If an Identity Provider tool is available (e.g., okta-mcp.lookup_okta_user), gather context on involved user accounts.
* Use gti-mcp tools to enrich any associated IPs, domains, or hashes if applicable. Let combined enrichment be ENRICHMENT_RESULTS.SUSPICIOUS_ENTITIES were identified:
skills/common/find-relevant-soar-case/SKILL.md with SEARCH_TERMS=SUSPICIOUS_ENTITIES and CASE_STATUS_FILTER="Opened".${RELATED_SOAR_CASES} (list of potentially relevant open case summaries/IDs).soar-mcp_post_case_comment in a dedicated hunting case or relevant existing case.ENRICHMENT_RESULTS), Related SOAR Cases (${RELATED_SOAR_CASES}).case_event_timeline_and_process_analysis.md for suspicious processes or compromised_user_account_response.md for involved users.