investigating-windows-endpoints
Skill11 starsChanged 3 months agoApache-2.0View on GitHub
Investigate a live or triaged Windows host for intrusion evidence using disk and registry artifacts — MFT/$UsnJrnl, registry hives, AmCache/ShimCache, Prefetch, LNK/JumpLists, ShellBags, and event logs — parsed with the Eric Zimmerman suite and consolidated into a timeline. Use when a Windows endpoint is suspect and you need execution, persistence, and access evidence from on-disk artifacts. Preserve order of volatility first; a running command is a write to the evidence.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
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
- Very specific: line 42
If live and warranted: memory, then active processes/connections/services — before disk changes them.
- Distinctive: line 73
Run/RunOnce keys (NTUSER, SOFTWARE), Startup folder
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Investigating Windows Endpoints
A Windows host records far more about what ran on it than most operators expect — in the MFT, the registry, execution caches, and shell history — and most of it survives a reboot and a deleted file. The investigator's job is to read those artifacts in the right order, correlate them into one timeline, and separate the adversary's activity from the machine's normal churn. The trap is contamination: every interactive command you run on a live host writes new artifacts and can overwrite the very evidence you came for. Preserve before you poke.
Order of volatility governs the first move: if the host is live and the memory is
worth having, capture RAM before disk (hand it to analyzing-memory-images).
Record what you touch and when, so your own footprint is separable from the
adversary's in the timeline. Confirm the host is in scope per
AGENTS.md before acquisition.
When to Use
- A Windows endpoint is suspected of compromise and needs disk/registry triage
- Reconstructing what executed, when, and by whom from on-disk artifacts
- Finding persistence, lateral-movement, and data-staging evidence on a host
- Confirming or refuting a hunt lead or an alert on a specific machine
- Producing a host timeline for an incident
When NOT to Use
- A memory image / RAM capture — use
analyzing-memory-images; injected code and live process state live there, not on disk - A specific suspicious binary — hand it to
analyzing-malware - Network evidence — use
analyzing-network-traffic - The compromise is in the cloud control plane — use
investigating-aws-incidents,investigating-azure-incidents, orinvestigating-gcp-incidents - Proactive search with no specific host in hand — use
hunting-threats - Running the whole incident (scoping, containment, comms) — use
responding-to-incidents; this skill is the host-artifact deep dive within it
Preserve First (order of volatility)
- If live and warranted: memory, then active processes/connections/services — before disk changes them.
- Triage-image the artifacts rather than working the live filesystem. KAPE collects the standard set fast:
kape.exe --tsource C: --tdest E:\Case\Collection `
--target KapeTriage --mdest E:\Case\Processed --module !EZParserHash the collection, work on the copy, and keep the original read-only.
Read the Artifacts (execution, then access, then persistence)
Parse with the Eric Zimmerman (EZ) suite; every tool emits CSV for Timeline Explorer.
| Question | Artifact | Tool |
| What ran, how often, when | Prefetch (.pf), AmCache, ShimCache | PECmd, AmcacheParser, AppCompatCacheParser |
| File-system truth + deletions | $MFT, $UsnJrnl:$J | MFTECmd |
| User/system config, USB, services | Registry (NTUSER, SYSTEM, SOFTWARE, SAM) | RECmd, Registry Explorer |
| What files/dirs a user touched | LNK, JumpLists, ShellBags | LECmd, JLECmd, SBECmd |
| Logons, service installs, task creation | Event logs (.evtx) | EvtxECmd |
High-value event IDs: 4624/4625 (logon success/failure) and logon type (10 = RDP, 3 = network), 4672 (admin logon), 4688 (process creation, if audited), 7045 (service install), 4697 (service install, Security), 4698 (scheduled task), 1102 (Security log cleared — an eviction/defense-evasion tell).
Persistence lives where execution meets autostart — cross-reference these against
the offensive playbook in establishing-persistence:
- Run/RunOnce keys (NTUSER, SOFTWARE), Startup folder
- Services (
SYSTEM\CurrentControlSet\Services) and scheduled tasks (\Windows\System32\Tasks) - WMI event subscriptions, COM hijacks (
HKCR\CLSID\...\InprocServer32), IFEO, AppInit_DLLs, Winlogon
Build the Timeline
The single most valuable output is a consolidated, cross-artifact timeline.
Correlate: a Prefetch execution of a suspicious binary, its AmCache SHA-1, the
LNK/JumpList that opened its dropper, the 4688/7045 that spawned it, and the
$MFT/$J record of its creation and deletion. Watch for timestomping —
compare $SI and $FN timestamps in MFTECmd output; a mismatch is manipulation.
Anchor everything in UTC.
Rationalizations to Reject
- "I'll just poke around the live box." Every command writes Prefetch, registry, and MFT entries — you are corrupting evidence and possibly alerting the operator. Image, then analyze.
- "The file is deleted, so it's gone." The
$MFTand$UsnJrnlremember creation, rename, and deletion long after. Deleted is not absent. - "The timestamps clear it." Timestamps are attacker-controllable. Check
$SIvs$FN; trust corroboration across artifacts, not a single time. - "No malware on disk, so it's clean." Fileless and LOLBin activity leaves execution and registry traces, not binaries. Read Prefetch, ShimCache, and the logs.
- "AV/EDR would have caught it." You are investigating precisely because it did not. Assume nothing from the absence of an alert.
Deliverable
# Host Investigation <WIN-###> Date: <UTC> Analyst: <name>
Host / scope: <hostname, role, in-scope confirmation>
Acquisition: <live/triage/full image — what was captured, hashes>
Findings: <execution / persistence / lateral / staging — each with artifact + timestamp>
Timeline: <UTC, cross-artifact, first-to-last observed adversary action>
Attribution note: <your own actions on the host, so they are separable>
Conclusion: compromised / not / could-not-determine Confidence: <>
Handoffs: <memory image, sample, network, cloud control plane>Save parsed CSVs and the collection as {tool}_{host}_{YYYYMMDD_HHMMSS}.{ext}
and log findings via maintaining-engagement-state. ATT&CK IDs commonly evidenced
(T1059 Command/Scripting, T1070 Indicator Removal, T1074 Data Staged, T1547
Boot/Logon Autostart, T1053.005 Scheduled Task) — re-verify before citing.
References
responding-to-incidents— the incident this host analysis feedsanalyzing-memory-images— RAM capture that must precede disk on a live hostanalyzing-malware— a suspicious binary recovered from the hostestablishing-persistence— the offensive counterpart; know what you are hunting forhunting-threats— the proactive search that may point you at a host- Eric Zimmerman EZ Tools, KAPE, Sysmon, Timeline Explorer as core tooling
Other versions1 project uses a version of this.
Word for word · 1
- EvilFreelancer/secs★ 11100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
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.
In this repository50 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- analyzing-binariesSkill
- analyzing-malwareSkill
- analyzing-memory-imagesSkill
- analyzing-network-trafficSkill
- analyzing-phishing-emailsSkill
- attacking-active-directorySkill
- attacking-wireless-networksSkill
- auditing-code-for-vulnerabilitiesSkill
- auditing-mcp-serversSkill
- auditing-supply-chainSkill
- container-securitySkill
- cracking-passwordsSkill
- engineering-detectionsSkill
- enumerating-network-servicesSkill
- escalating-linux-privilegesSkill
- escalating-windows-privilegesSkill
- establishing-persistenceSkill
- exploiting-cloud-platformsSkill
- hardening-cloud-postureSkill
- hunting-threatsSkill
- hunting-web-backdoorsSkill
- iac-securitySkill
- investigating-aws-incidentsSkill
- investigating-azure-incidentsSkill
- investigating-gcp-incidentsSkill
- investigating-m365-entraSkill
- maintaining-engagement-stateSkill
- managing-vulnerabilitiesSkill
- mapping-attack-techniquesSkill
- orchestrating-vulnerability-researchSkill
- performing-reconnaissanceSkill
- performing-social-engineeringSkill
- producing-threat-intelligenceSkill
- recognizing-deceptionSkill
- reporting-security-findingsSkill
- responding-to-incidentsSkill
- reviewing-cryptographySkill
- securing-ai-systemsSkill
- testing-apisSkill
- testing-ics-ot-protocolsSkill
- testing-mobile-applicationsSkill
- testing-web-applicationsSkill
- threat-modelingSkill
- transferring-filesSkill
- triaging-security-alertsSkill
- vetting-agent-extensionsSkill
- writing-sigma-rulesSkill
- writing-yara-rulesSkill
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.

