mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-06-26 11:44:37 +03:00
cb8d79e068
- Add validated mitre_attack frontmatter to all 754 skills (286 distinct techniques), verified against MITRE ATT&CK v19.1 via the official mitreattack-python library: 0 revoked, deprecated, or invalid IDs - Curate precise per-skill technique IDs for forensics, malware-analysis, threat-intel, and red-team skills (e.g. DCSync -> T1003.006, Kerberoasting -> T1558.003, Pass-the-Ticket -> T1550.003) - Reconcile v19.1 tactic restructuring: Defense Evasion split into Stealth (TA0005) and Defense Impairment (TA0112); revoked T1562.* family and T1070.001/.002 remapped to active equivalents (T1685.*) - Normalize word-split tags across 35 skills (remove filename-derived stopword tags, add semantic cybersecurity tags) - Add api-reference.md for 3 skills that were missing it - Update README ATT&CK section with accurate v19.1 tactic distribution
78 lines
2.6 KiB
Markdown
78 lines
2.6 KiB
Markdown
---
|
|
name: analyzing-powershell-script-block-logging
|
|
description: Parse Windows PowerShell Script Block Logs (Event ID 4104) from EVTX
|
|
files to detect obfuscated commands, encoded payloads, and living-off-the-land techniques.
|
|
Uses python-evtx to extract and reconstruct multi-block scripts, applies entropy
|
|
analysis and pattern matching for Base64-encoded commands, Invoke-Expression abuse,
|
|
download cradles, and AMSI bypass attempts.
|
|
domain: cybersecurity
|
|
subdomain: security-operations
|
|
tags:
|
|
- powershell
|
|
- script-block-logging
|
|
- event-id-4104
|
|
- obfuscation-detection
|
|
- windows-forensics
|
|
- endpoint-security
|
|
version: '1.0'
|
|
author: mahipal
|
|
license: Apache-2.0
|
|
nist_csf:
|
|
- DE.CM-01
|
|
- RS.MA-01
|
|
- GV.OV-01
|
|
- DE.AE-02
|
|
mitre_attack:
|
|
- T1059.001
|
|
- T1027.010
|
|
- T1140
|
|
- T1105
|
|
---
|
|
|
|
|
|
# Analyzing PowerShell Script Block Logging
|
|
|
|
|
|
## When to Use
|
|
|
|
- When investigating security incidents that require analyzing powershell script block logging
|
|
- When building detection rules or threat hunting queries for this domain
|
|
- When SOC analysts need structured procedures for this analysis type
|
|
- When validating security monitoring coverage for related attack techniques
|
|
|
|
## Prerequisites
|
|
|
|
- Familiarity with security operations concepts and tools
|
|
- Access to a test or lab environment for safe execution
|
|
- Python 3.8+ with required dependencies installed
|
|
- Appropriate authorization for any testing activities
|
|
|
|
## Instructions
|
|
|
|
1. Install dependencies: `pip install python-evtx lxml`
|
|
2. Collect PowerShell Operational logs: `Microsoft-Windows-PowerShell%4Operational.evtx`
|
|
3. Parse Event ID 4104 entries using python-evtx to extract ScriptBlockText, ScriptBlockId, and MessageNumber/MessageTotal for multi-part script reconstruction.
|
|
4. Apply detection heuristics:
|
|
- Base64-encoded commands (`-EncodedCommand`, `FromBase64String`)
|
|
- Download cradles (`DownloadString`, `DownloadFile`, `Invoke-WebRequest`, `Net.WebClient`)
|
|
- AMSI bypass patterns (`AmsiUtils`, `amsiInitFailed`)
|
|
- Obfuscation indicators (high entropy, tick-mark insertion, string concatenation)
|
|
5. Generate a report with reconstructed scripts, risk scores, and MITRE ATT&CK mappings.
|
|
|
|
```bash
|
|
python scripts/agent.py --evtx-file /path/to/PowerShell-Operational.evtx --output ps_analysis.json
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Detect Encoded Command Execution
|
|
```python
|
|
import base64
|
|
if "-encodedcommand" in script_text.lower():
|
|
encoded = script_text.split()[-1]
|
|
decoded = base64.b64decode(encoded).decode("utf-16-le")
|
|
```
|
|
|
|
### Reconstruct Multi-Block Script
|
|
Scripts split across multiple 4104 events share a `ScriptBlockId`. Concatenate blocks ordered by `MessageNumber` to recover the full script.
|