agentsclimarketplace

Hunting persistence mechanisms on windows

Skill meltedinhex/analyst-ai-pack/skills/hunting-persistence-mechanisms-on-windows

Hunts for Windows persistence across autostart locations: Run keys, services, scheduled tasks, WMI event subscriptions, and startup folders, baselining them to surface anomalous or recently added entries. Activates for requests to hunt persistence, audit autostart extensibility points, or find malware autoruns on Windows.From its SKILL.md

Install
npx -y skills add meltedinhex/analyst-ai-pack --skill hunting-persistence-mechanisms-on-windows

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.3 KB, 554 tokens by cl100k_base, as published. Nobody here has run it

Hunting Persistence Mechanisms on Windows

When to Use

  • You are hunting for how an adversary maintains a foothold across reboots.
  • You have autostart inventories (Autoruns exports, registry/scheduled-task/WMI dumps) from one or many hosts and want to surface anomalies.
  • You want to baseline a fleet and flag entries that deviate or were recently added.

Do not use a single host's autoruns list as ground truth — many legitimate entries look unusual; comparison against a fleet baseline is what makes anomalies meaningful.

Prerequisites

  • Autostart data per host: Run/RunOnce keys, services, scheduled tasks, WMI event subscriptions, startup folders, and (ideally) signing status.
  • A baseline (golden image or fleet majority) to diff against.

Workflow

Step 1: Inventory the ASEPs

Collect the common Autostart Extensibility Points across hosts: Run keys (T1547.001), services (T1543.003), scheduled tasks (T1053.005), and WMI subscriptions (T1546.003).

Step 2: Baseline and diff

Compare each host's entries to the fleet baseline; entries appearing on few hosts, unsigned, or pointing to user-writable/temp paths bubble up.

python scripts/analyst.py hunt autostart.json --baseline baseline.json

Step 3: Score anomalies

Raise priority for: unsigned binaries, LOLBins launched with encoded args, paths in %TEMP%/%APPDATA%, recently created tasks, and WMI consumers running scripts.

Step 4: Triage candidates

For each high-score entry, pull the target binary's signing/hash, the creating user/time, and correlate with process and network telemetry.

Step 5: Confirm and respond

Validate suspicious entries (sandbox/RE the binary), escalate confirmed persistence to IR, and turn the pattern into a detection.

Validation

  • Anomalies are ranked against a baseline, not flagged from one host in isolation.
  • High-score entries map to concrete artifacts (path, hash, signer) for triage.
  • Confirmed persistence ties back to a known intrusion timeline.

Pitfalls

  • Treating every unsigned entry as malicious; many legitimate tools are unsigned.
  • Checking only Run keys and missing services/tasks/WMI subscriptions.
  • No timestamps, so you cannot distinguish long-standing from newly planted entries.

References

What ships with it: 3 files

4.2 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.