threat-hunting
Skill489 starsChanged 5 days agoMITView on GitHub
Conduct proactive, hypothesis-driven threat hunts — search SIEM / EDR / logs for adversaries who haven't tripped an alert yet. ATT&CK-driven, hypothesis-based methodology. Use when the user mentions 'threat hunting,' 'proactive hunt,' 'TaHiTI,' 'PEAK framework,' 'MITRE ATT&CK hunt,' 'hypothesis-driven hunt,' 'hunt hypothesis,' 'living off the land,' 'LOLBins,' 'beaconing,' 'lateral movement detection,' 'data staging,' 'persistence hunting,' or wants to find threats that have evaded existing detections.
We split this skill into the rules it gives an agent
8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 46
Run the hunt. Three execution patterns:
- Distinctive: line 48
Pattern A — Pivot from indicator: Start with a specific IOC (IP, hash, domain) and look for any host or user that touched it.
- Distinctive: line 58
Pattern B — Pivot from technique: Start with an ATT&CK technique and look for any host doing that.
- Distinctive: line 89
Don't leave hits in the "unknown" state.
- Very specific: line 97
If you found something, write a detection rule so future occurrences fire automatically (see siem-detection)
- Distinctive: line 98
If you didn't find anything, document the hunt — query, scope, time window, conclusion.
- Distinctive: line 99
If the hunt was hard because of missing log coverage, document the gap and create a backlog item to fix log ingestion
- Distinctive: line 225
Never query SIEM / EDR data outside the user's authority — even if the dataset is available, scope matters
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Threat Hunting — Proactive Adversary Detection
Hunt for adversaries who are already inside but haven't tripped an alert. Distinct from incident-triage (reactive, alert is firing) and from siem-detection (engineer rules so future alerts fire). This skill is the proactive layer — assume something has slipped through, look for it.
Hunting is hypothesis-driven, not browse-driven. "Let's look around the SIEM" is not hunting; "let's check for the specific pattern of T1059.001 (PowerShell) being launched by Office processes" is.
Cross-references: siem-detection (queries you write here often graduate to detection rules), incident-triage (what to do if a hunt confirms a finding), breach-patterns (a rich source of hunt hypotheses), disk-forensics (deeper analysis on confirmed hits), agent-supply-chain-audit (hunting for malicious or rug-pulled AI coding-agent extensions on developer machines), secrets-audit (its exfiltration-collector domain list is a ready-made egress hunt: DNS / proxy hits to webhook.site, requestbin, ngrok, or chat webhooks from servers or CI runners), malware-triage (the hashes, imphash and behaviours to hunt for, from a triaged sample).
Authorization
Hunt only in environments the user owns or is authorized to investigate, with the logs and telemetry they've given you access to. Hunting reads; it doesn't contain. If a hunt finds confirmed malicious activity, stop and hand off to incident-triage instead of acting on hosts or accounts. Hunting in employee activity stays within what HR and legal have authorized.
Methodology — PEAK framework
The PEAK (Prepare, Execute, Act, Knowledge) framework from Splunk SURGe — the most actionable hunting methodology I've seen.
Step 1: Prepare
Form the hypothesis. Strong hypotheses share three properties:
- Specific — names a technique, log source, and expected artifact
- Testable — describes what evidence would confirm or deny
- Bounded — has a defined time window and scope
Bad hypothesis: "Look for anomalies in the SIEM"
Good hypothesis: "Within the last 30 days, no service account should have run interactive PowerShell with -encodedCommand flag (T1059.001 + T1027). Search Sysmon event 1 for parent process = service-account-launched scheduled task, child = powershell.exe, command line contains -enc or -encodedcommand."
Hunt hypothesis sources, ranked by yield:
| Source | Yield | Effort |
| Recent incident (yours or peer's) | High | Low — pattern is concrete |
breach-patterns skill catalog | High | Low — generalizes from public breaches |
| MITRE ATT&CK technique you don't have a detection for | Medium | Medium — read the technique, design the hunt |
| Threat intel report (CrowdStrike, Mandiant, vendor reports) | Medium | Medium — current patterns |
| Anomaly: "this number went up — why" | Low | Low — often FP, occasionally gold |
Step 2: Execute
Run the hunt. Three execution patterns:
Pattern A — Pivot from indicator. Start with a specific IOC (IP, hash, domain) and look for any host or user that touched it.
// Sentinel — pivot from a suspicious IP across all log sources
union *
| where TimeGenerated > ago(90d)
| where contains("198.51.100.42")
| project TimeGenerated, Type, Computer, _ResourceIdPattern B — Pivot from technique. Start with an ATT&CK technique and look for any host doing that.
// Splunk — T1547.001 Registry Run Keys persistence
index=sysmon EventCode=13
TargetObject="*\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\*"
| stats values(Details) by Computer, User
| where len(values(Details)) > 1Pattern C — Anomaly hunt. Establish a baseline; look for outliers.
// Sentinel — service accounts authenticating from new geographies
SigninLogs
| where TimeGenerated > ago(30d)
| where UserType == "Service"
| summarize Countries = make_set(Location) by UserPrincipalName
| where array_length(Countries) > 1Step 3: Act
For every hit, three possible outcomes:
| Outcome | Action |
| Confirmed malicious | Escalate to incident-triage immediately |
| Confirmed benign | Document and move on |
| Unknown / unable to confirm | Deepen investigation (host artifacts, network traffic, user interview) |
Don't leave hits in the "unknown" state. Either resolve, or hand off with a documented next-step.
Step 4: Knowledge
The hunt's value isn't the one hit — it's the artifacts.
For each hunt:
- If you found something, write a detection rule so future occurrences fire automatically (see
siem-detection) - If you didn't find anything, document the hunt — query, scope, time window, conclusion. Future hunters won't re-do it
- If the hunt was hard because of missing log coverage, document the gap and create a backlog item to fix log ingestion
Hunts that don't produce artifacts are work without compounding return. The whole point of the methodology is to turn every hunt into either a rule, a documented dead-end, or a coverage improvement.
High-yield hunt catalog
Persistence
- Scheduled tasks created outside business hours —
schtasks.exe /createfrom Sysmon event 1 + EventCode 4698 from Windows Security - Run-key persistence — registry writes to
HKCU\...\Run,HKLM\...\Run,HKCU\...\RunOnce - Service installation outside known software-install windows — EventCode 7045
- WMI persistence —
__EventFilterandCommandLineEventConsumersubscriptions - Login items / launch daemons (macOS) —
/Library/LaunchDaemons/*.plist,~/Library/LaunchAgents/*.plist - Cron / systemd timers (Linux) —
/etc/cron.*,/etc/systemd/system/*.timer, user crontabs
Developer workstations (dev-tool backdoors)
The patterns malicious IDE extensions, MCP servers and packages use, so the hunt doesn't depend on one incident's IOCs
(for those, and the response, see incident-triage → dev-tool compromise):
authorized_keyson laptops at all — most dev laptops shouldn't accept inbound SSH. Then keys with service-like comments (svc-*,telemetry,backup) or a recent modification time- User-level persistence with vendor-impersonating names —
~/Library/LaunchAgents/com.apple.*,com.google.*, scheduled tasks namedSysMonorMicrosoft*,@rebootuser crontabs - Executable hidden scripts in
~/.config/ - Reverse tunnels —
ssh -Rorautosshprocesses;StrictHostKeyChecking=nowithUserKnownHostsFile=/dev/nullin any command line - Remote Login / OpenSSH Server turned on without a ticket — macOS
systemsetup -getremotelogin, WindowsOpenSSH.Servercapability - Recently changed
extension.jsin IDE extension folders whose first bytes aren't the bundler's banner
Defense evasion
- PowerShell with
-EncodedCommand— base64-encoded scripts are evasion 80% of the time certutil.exe -decode— LOLBin used to decode dropper payloads- Sysmon EventCode 7 (Image loaded) for known-bad DLLs from non-standard paths
- Process executing from
%TEMP%,%APPDATA%,\Users\Public— non-standard exec paths - Command-line obfuscation patterns — large amounts of
^, backticks,cmd /c echo y | ...
Credential access
- LSASS access from unexpected processes — Sysmon EventCode 10 with TargetImage =
lsass.exeand SourceImage not in[mssense.exe, NisSrv.exe, ...] procdump.exeorcomsvcs.dlluse — process-dumping LOLBins- NTDS.dit access outside backup windows — domain controller DB
- AWS
GetSessionTokenorAssumeRolefrom new IPs — credential capture pivot - OAuth consent grants for high-scope applications — see
iam-audit
Discovery
net group "Domain Admins"or equivalent enumeration commands- AD service ticket requests for high-value SPNs (Kerberoasting prep) — EventCode 4769 with RC4 encryption
whoami /all,quser,nltest /domain_trusts— situational awareness commands run by service accounts (humans rarely run these)- Cloud API listing —
ListBuckets,ListUsers,DescribeInstancesfrom unusual principals
Lateral movement
- WMI execution to remote hosts — Sysmon EventCode 1 with
wmic.exeorInvoke-WmiMethod - PsExec / remote service creation patterns — EventCode 7045 with random service name
- Remote registry connections to unusual hosts
- SSH key reuse — one private key authenticating to many hosts in a short window
- AWS / GCP
AssumeRolechains across accounts — pivot detection
Collection / staging / exfil
- Large-volume reads from cloud storage by single principal — unusual S3 / GCS access patterns
- Archive creation patterns —
Compress-Archive,7z.exe,tar,zipoperating on directories outside user home - DNS queries to recently-registered domains — exfil over DNS or C2 beacon resolution
- Outbound TLS to high-risk geographies — depends on your organization's normal pattern
- Beaconing patterns — regular-interval connections (every N seconds ± jitter) to the same destination over hours
Cloud-specific
- IAM credential exfiltration patterns —
GetCredentialReport,GenerateCredentialReportfrom unusual principals - IMDS access from unusual processes / containers — anything reaching
169.254.169.254that isn't the cloud SDK - CloudTrail / Audit Log tampering attempts —
StopLogging,DeleteTrail, log-bucket access from non-logging principals - Cross-region resource creation by single principal in short window — pivot or coin-mining setup
Identity-provider-specific
- OAuth app grants of high-scope permissions (Google Workspace, M365) — adversary technique for persistence outside the user's password
- MFA method enrollment from new device — attacker registering their own MFA after stealing a session
- Sign-ins from impossible geographies — geolocation jumps that exceed travel time
- Service-account authentication from new client / new IP — service accounts should be predictable
Tools
- SIEM — Splunk, Sentinel, Elastic, Chronicle, Sumo, Wazuh
- EDR — CrowdStrike (RTR), SentinelOne (deep visibility), Microsoft Defender (advanced hunting), Carbon Black
- Sysmon — open-source endpoint logging on Windows, output to SIEM
- osquery — SQL queries over endpoint state (cross-platform)
- Velociraptor — open-source live response and hunting framework (much more capable than free EDR)
- Zeek — network metadata for traffic analysis
- MITRE ATT&CK Navigator — coverage visualization
- Hunt-Evil — hunting playbook content (open-source)
- MaxMind GeoIP — geolocation lookup for IP-based hunts
Output Format
# Threat Hunt Report
## Hunt name: [descriptive — e.g., "Office process → encoded PowerShell"]
## Hypothesis: [specific, testable, bounded]
## Date range: [from - to]
## Hunter: [name]
### Methodology
- ATT&CK technique(s): [TXXXX.NNN]
- Data sources queried: [list]
- Query / queries:
[the actual SIEM query]
### Findings
| Hit ID | Host / User / Resource | Outcome | Notes |
|--------|------------------------|---------|-------|
### Conclusion
- [Confirmed malicious / All benign / Inconclusive]
- [Confidence level — Low / Medium / High]
### Artifacts produced
- [ ] Detection rule added (link)
- [ ] Coverage gap documented (link)
- [ ] Negative-result documentation filed (link)
### Recommended follow-up
[Anything that needs deeper investigation, escalation, or future hunts]Boundaries
- Hunt only environments the user has authorization for
- Never query SIEM / EDR data outside the user's authority — even if the dataset is available, scope matters
- For confirmed-malicious findings, escalate to
incident-triageimmediately — do not continue hunting and risk tipping the adversary - Live response actions (host isolation, account disablement) are incident response, not hunting — escalate
- Refuse to use threat-hunting techniques to surveil employees beyond what HR / legal has authorized
- Negative hunt results are valuable evidence, not failure — document and credit accordingly
References
- PEAK Threat Hunting Framework (Splunk SURGe)
- TaHiTI (Targeted Hunting integrating Threat Intelligence) — Dutch model
- MITRE ATT&CK
- "The ThreatHunter Playbook" (Cyb3rWard0g) — open-source content
- Sigma rules repo — many rules can become hunt queries
- "Practical Threat Intelligence and Data-Driven Threat Hunting" — Valentina Costa-Gazcón
- David Bianco's "Pyramid of Pain" — IOC value hierarchy
- SANS FOR508 / FOR578 course materials
- Velociraptor community hunt content
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- imMamdouhaboammar/cybersecurity-skills★ 099% same
Wrote their own version · 11
- zhaoxuya520/reverse-skill-private★ 40ksame name
- zhaoxuya520/reverse-skill★ 38ksame name
- hypnguyen1209/offensive-claude★ 401same name
- lza6/claw-code-tingfeng★ 5same name
- jaskaranhundal/usap-skills★ 4same name
- jessefmoore/offensive-claude-code★ 2same name
- allanninal/claude-code-skills★ 1same name
- Quad4-Software/skills★ 1same name
- ftrout/secops-claude-skills★ 0same name
- muhammedbassem-pixel/claude-skills★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use malware-analysis and reverse-engineering.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
tsaleSkillmalware-analysis
Professional malware analysis workflow for PE executables and suspicious files. Triggers on file uploads with requests like "analyze this malware", "analyze this sample", "what does this executable do", "check this file for malware", or any request to examine suspicious files. Performs static analysis, threat intelligence triage, behavioral inference, and produces analyst-grade reports with reasoned conclusions.
Also in 4 projects that use this
QiuChenlySkillreverse-engineering
专业二进制逆向工程分析技能。使用IDA Pro MCP工具分析二进制文件、反编译代码、识别漏洞、理解程序逻辑。当用户要求分析可执行文件、反汇编、逆向工程、漏洞挖掘、恶意软件分析时使用此技能。
Also in 4 projects that use this
In this repository42 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agent-supply-chain-auditSkill
- ai-risk-managementSkill
- api-auditSkill
- breach-patternsSkill
- business-logic-testingSkill
- cicd-securitySkill
- cloud-auditSkill
- container-auditSkill
- control-auditSkill
- crypto-auditSkill
- csf-mappingSkill
- dependency-auditSkill
- disk-forensicsSkill
- finding-triageSkill
- fuzzing-harnessSkill
- hipaa-auditSkill
- iam-auditSkill
- incident-triageSkill
- log-watchSkill
- malware-triageSkill
- mobile-auditSkill
- native-code-reviewSkill
- osint-reconSkill
- owasp-auditSkill
- patch-sweepSkill
- pci-auditSkill
- personal-opsecSkill
- privacy-engineeringSkill
- prompt-injectionSkill
- reconSkill
- red-team-engagementSkill
- scanner-pipelineSkill
- secrets-auditSkill
- security-commsSkill
- security-startSkill
- siem-detectionSkill
- soc-operationsSkill
- threat-modelingSkill
- variant-analysisSkill
- vuln-researchSkill
- web-pentestSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

