<< All versions

Skill v1.0.0

currentAutomated scan100/100
gensecaihq/wazuh-autopilot/ir-playbook-ransomware
──Details
PublishedOctober 27, 2026 at 01:58 AM
Content Hashsha256:eba636fb293eca01...
Git SHA07da85f90cf7
──Files
Files (1 file, 7.2 KB)
SKILL.md7.2 KBactive
SKILL.md · 104 lines · 7.2 KB

version: "1.0.0" name: ir-playbook-ransomware description: Incident-response playbook for ransomware — mass file modification/encryption, ransom notes, shadow-copy and backup deletion, service stopping and log clearing; use when Wazuh shows FIM bursts (rules 550, 553, 554), antimalware detections (rules 62113, 87105), audit-log clearing (rule 60117) or recovery-inhibition commands. Containment within minutes. allowed-tools: get_wazuh_alerts search_security_events get_wazuh_agents check_agent_health get_agent_processes get_agent_ports get_case search_cases update_case add_entities link_mitre add_finding list_actions wazuh_check_agent_isolation wazuh_check_process wazuh_check_file_quarantine wazuh_check_user_status wazuh_check_blocked_ip metadata: category: response display_name: IR Playbook — Ransomware standards: [nist-800-61r3, sans-picerl, mitre-attack, mitre-d3fend, nist-csf-2, iso-27001-2022, cis-v8-1] version: "2.1"


IR Playbook — Ransomware

Severity critical. Speed matters more than completeness: isolate within 5 minutes of confirmation, scope within 30 minutes. MITRE ATT&CK: T1486 (encrypted for impact), T1490 (inhibit recovery), T1489 (service stop), T1070.001 (log clearing), T1567 (pre-encryption exfil). Rule IDs are from the stock Wazuh 4.14 ruleset (levels official). Full procedure and family indicators: references/playbook.md.

1. Detection signals

SourceSignalWazuh rules (level)
FIMBulk changes / deletions / additions on monitored pathsrules 550 (L7, checksum changed), 553 (L7, file deleted), 554 (L5, file added); group syscheck
FIM (Windows registry)Run keys / services changedrules 594 (L5), 750 (L5), 752 (L5)
AntimalwareDefender detection / suspicious behaviourrules 62113 (L14), 62122 (L12), 62123 (L12); Defender protection disabled: rules 92008 (L12), 92009 (L13), 92012 (L13, controlled folder access disabled)
VirusTotal integrationDropped file flaggedrule 87105 (L12)
Sysmon file dropsExecutable in malware-typical folders, Users\Public, Office-created payloadsrules 92213 (L15), 92207 (L12), 92214 (L15)
Sysmon networkSuspicious binary opened a network connectionrule 92104 (L15)
Log tamperingSecurity log cleared (Event ID 1102)rule 60117 (L9); rule 63103 (L5)
Credential theft before encryptionLSASS / SAM accessrules 92900 (L12), 92024 (L14), 92026 (L14)
Rootkit / host anomalyRootcheckrules 510 (L7), 521 (L11, possible kernel-level rootkit)
Microsoft Graph (if integrated)Defender for Endpoint ransomware alertrules 99535 (L12), 99594 (L15)

Stock gaps — the org must create these (range 100000–120000, validate with wazuh-logtest):

  • Mass FIM burst: custom rule 100401 — frequency ≥ 100 over group syscheck in 60 s, <same_field>agent.id</same_field>.
  • Ransom-note / encrypted-extension creation: custom rule 100402 — syscheck.path matching note names

(README*.txt, *DECRYPT*, *RESTORE*) or known extensions.

  • Recovery inhibition: custom rule 100403 — Sysmon Event ID 1 commandLine matching vssadmin.*delete shadows,

wmic shadowcopy delete, bcdedit.*recoveryenabled no, wbadmin delete catalog. The stock ruleset has no rule for these commands; treat them as critical.

  • Backup / VSS service stopped: custom rule 100404 on System-log Event ID 7036/7040 for VSS and backup agents.

Treat any ransom note as confirmation. Mass FIM changes from a known backup/sync/deployment job → confirm with the owner before acting and tune the rule.

2. Triage / investigation (investigation agent, ≤ 5 minutes)

  1. get_wazuh_alerts for the host (agent_id, timestamp_start: "now-1h", rule_groups: ["syscheck","windows_defender","sysmon_eid11_detections"]);

search_cases — part of an open incident?

  1. Answer fast: encryption active (FIM volume still rising)? Which hosts? Ransom note? Recovery inhibition

seen? Which account runs the encrypting process (get_agent_processes)?

  1. add_entities (hosts with agent_id, account, process, note/file paths, external IPs), link_mitre

T1486/T1490, update_case severity critical.

  1. If encryption is active, add_finding with an immediate containment recommendation to response-planner

(host, process id, file path) — skip deep correlation until containment is proposed.

  1. Then scope (≤ 30 min): search_security_events for the same hash/process/FIM bursts fleet-wide; agents that went

silent (get_wazuh_agents with status: "disconnected", check_agent_health); neighbours of patient zero with get_agent_processes / get_agent_ports for lateral-movement precursors (PsExec, WMI, RDP) and pre-encryption exfil (rclone, large uploads). Hand off to threat-intel for family/TTPs and IOC reputation, and run ir-playbook-lateral-movement / ir-playbook-data-exfiltration in parallel where indicated.

3. Response (response-planner)

SituationProposal
Encryption active on a hostpropose_action(type="isolate_host", target=<id>, params={"agent_id": <id>}) with confidence ≥ 0.9 — first action
Encrypting process identifiedpropose_action(type="kill_process", params={"agent_id": <id>, "process_id": <pid>})
Ransomware binary on diskpropose_action(type="quarantine_file", params={"agent_id": <id>, "file_path": <path>})
Account used to spreadpropose_action(type="disable_user", params={"agent_id": <id>, "username": <user>})
C2 / exfil destinationspropose_action(type="block_ip", params={"ip_address": <ip>, "all_agents": true})

Isolation defaults to supervised; flag urgency in the rationale so approvers act within minutes. Check wazuh_check_agent_isolation before re-proposing. Do not propose restarting encrypted hosts (memory evidence and keys can be lost). Segmentation beyond Wazuh active response, backup lockdown and domain account resets are human tasks — record them with add_finding and owners.

4. Eradication and recovery

  • Rebuild affected hosts; restore from offline/immutable backups verified clean.
  • Reset credentials domain-wide if domain accounts were used; hunt persistence before reconnecting.
  • Un-isolate only after verification and owner sign-off (rollback in the approvals UI).
  • No payment or actor contact without an executive/legal decision (record in findings only).

5. Verification

The responder verifies each executed action (wazuh_check_agent_isolation, wazuh_check_process, wazuh_check_file_quarantine, wazuh_check_user_status, wazuh_check_blocked_ip).

6. Evidence and records

  • Preserve ransom notes, sample encrypted files, binary hashes, process trees (ISO 27001 A.5.28).
  • Findings with standard_refs: MITRE-ATTACK:T1486, MITRE-ATTACK:T1490, NIST-800-61r3:Respond,

SANS-PICERL:Containment, NIST-CSF-2:RS.MI.

  • Hand off to reporting for the executive BLUF and incident report; hand off to detection-engineer for the

custom rules above if they are missing.

Escalation

ConditionEscalate to
Any confirmed ransomwareIR lead, CISO, incident commander (human) immediately
Multiple hosts or servers encryptedMajor-incident process, legal, cyber-insurance contact
Data exfiltration evidenceir-playbook-data-exfiltration in parallel
All versions