{
  "hunt": {
    "meta": {
      "tlp": "clear",
      "hunt": {
        "handoff": "promote-to-detection",
        "trigger": "intel-report",
        "methodology": "model-assisted",
        "applicability": "campaign-specific",
        "justification": "Mallox ransomware affiliates target database infrastructure to maximize leverage for extortion. Detecting the PureCrypter loader's heavy anti-analysis logic and persistence allows intervention before the destructive encryption phase begins."
      },
      "name": "PureCrypter evasion and Mallox ransomware execution",
      "type": "investigation",
      "labels": [
        "hunt",
        "attack.t1497.001",
        "attack.t1562.001",
        "attack.t1129",
        "attack.t1547.001",
        "attack.t1486",
        "attack.t1047"
      ],
      "series": {
        "slug": "mallox-ransomware-affiliate-leverages-purecrypter-in-mssql-exploitation",
        "index": 2,
        "title": "Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation",
        "total": 2
      },
      "related": [
        {
          "hunt": "mssql-bruteforce-and-exploitation",
          "reason": "This hunt picks up after the exploitation of the SQL server to deploy the loader.",
          "relation": "follows"
        },
        {
          "hunt": "mallox-mssql-exploitation-initial-delivery",
          "relation": "follows"
        }
      ],
      "targets": {
        "hunter": {
          "name": "Hunt agent",
          "agent": true
        },
        "analyst": {
          "name": "Tier-2 analyst",
          "role": "analyst"
        },
        "endpoint": {
          "name": "Endpoint telemetry (hb_ surfaces)",
          "category": "endpoint",
          "telemetry": [
            "endpoint"
          ]
        }
      },
      "analysis": "While static rules might alert on 'Ydxhjxwf.exe', they are easily bypassed. This hunt looks for the loader's immutable logic\u2014WMI hardware queries, specific sandbox-evasion usernames, and stack-counted rare binaries in profile paths\u2014correlating three distinct surfaces into one high-fidelity verdict.",
      "coverage": [
        {
          "stage": "loader-evasion-and-anti-analysis",
          "steps": [
            "purecrypter-evasion-checks",
            "defender-exclusion-tampering"
          ],
          "status": "covered"
        },
        {
          "stage": "persistence-run-key",
          "steps": [
            "run-key-persistence"
          ],
          "status": "covered"
        },
        {
          "stage": "mallox-ransomware-execution",
          "steps": [
            "rare-profile-binaries"
          ],
          "status": "covered"
        },
        {
          "stage": "sql-brute-force-access",
          "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
          "status": "out_of_scope"
        },
        {
          "stage": "sql-server-exploitation",
          "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
          "status": "out_of_scope"
        },
        {
          "stage": "initial-payload-delivery",
          "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
          "status": "out_of_scope"
        }
      ],
      "scenario": {
        "stages": [
          {
            "name": "MS-SQL Brute Force",
            "slug": "sql-brute-force-access",
            "tactic": "initial-access",
            "techniques": [
              "T1110",
              "T1190"
            ],
            "observables": [
              "Brute-force attempts against 'sa' account",
              "Source IP address in AS208091 (XHost Internet Solution)",
              "Approximately 320 authentication attempts per minute",
              "Targeting MS-SQL port (1433)"
            ]
          },
          {
            "name": "MS-SQL Feature Exploitation",
            "slug": "sql-server-exploitation",
            "tactic": "execution",
            "techniques": [
              "T1059.003"
            ],
            "observables": [
              "Enabling 'TRUSTWORTHY' database parameter",
              "Enabling 'clr enabled' parameter",
              "Creating assembly named 'shell' (SqlShell DLL)",
              "Creating stored procedure 'cmd_exec'",
              "Enabling 'xp_cmdshell' configuration",
              "Enabling 'Ole Automation Procedures'",
              "Use of 'sp_oacreate' to create 'wscript.shell' OLE object",
              "Application name 'vYMiFrYR' in SQL connection logs"
            ]
          },
          {
            "name": "PowerShell Downloader and WMIC Execution",
            "slug": "initial-payload-delivery",
            "tactic": "execution",
            "techniques": [
              "T1059.001",
              "T1047"
            ],
            "observables": [
              "echo and redirect used to create PowerShell script",
              "PowerShell script saved to C:\\ProgramData",
              "WMIC used to execute downloaded binary",
              "Downloading multimedia-themed files (e.g., .mp4, .wav, .pdf) containing encrypted payloads"
            ]
          },
          {
            "name": "PureCrypter Anti-Analysis and Evasion",
            "slug": "loader-evasion-and-anti-analysis",
            "tactic": "defense-evasion",
            "techniques": [
              "T1497.001",
              "T1562.001",
              "T1129"
            ],
            "observables": [
              "WMI query 'select * from Win32_BIOS' to check for VMWare, Virtual, AMI, or Xen",
              "WMI query 'select * from Win32_ComputerSystem' to check for Microsoft or VMWare",
              "Process search for 'SbieDll.dll'",
              "Monitor size check for 1440x900",
              "Username check for 'john', 'anna', or 'xxxxxxxx'",
              "Execution of 'ipconfig /renew' and 'ipconfig /release' for network testing",
              "Patching 'EtwEventWrite' and 'AmsiScanBuffer' in memory",
              "Adding Windows Defender exclusions via 'MpPreference -Exclusion'"
            ]
          },
          {
            "name": "Registry Run Key Persistence",
            "slug": "persistence-run-key",
            "tactic": "persistence",
            "techniques": [
              "T1547.001"
            ],
            "observables": [
              "Registry key addition in 'Software\\Microsoft\\Windows\\CurrentVersion\\Run\\'"
            ]
          },
          {
            "name": "Mallox Ransomware Execution",
            "slug": "mallox-ransomware-execution",
            "tactic": "impact",
            "techniques": [
              "T1486"
            ],
            "observables": [
              "Ransomware executable named 'Ydxhjxwf.exe' in %appdata%",
              "Reflective code loading of stage 2 DLL",
              "Elevation of process privileges with 'SeDebugPrivilege'"
            ]
          }
        ],
        "summary": "An affiliate of Mallox ransomware targets internet-facing MS-SQL servers using brute-force attacks against the 'sa' account. Upon gaining access, the attacker exploits SQL features such as CLR assemblies and xp_cmdshell to deliver PureCrypter, a .NET loader that employs extensive anti-analysis and evasion techniques before executing the final Mallox ransomware payload."
      },
      "severity": "high",
      "rationale": "Focus on high-value assets running SQL Server. The software inventory scoping step narrows the hunt to these servers, but leaving the scope_hosts parameter empty allows for a fleet-wide search if lateral movement is suspected.",
      "guardrails": {
        "claims": "no_unsupported",
        "evidence": "citation_required",
        "telemetry": "untrusted",
        "missing_data": "not_benign"
      },
      "hypothesis": "An intruder is executing the PureCrypter loader on a compromised SQL server, performing heavy environment checks and establishing user-profile persistence before deploying the Mallox ransomware payload.",
      "parameters": {
        "scope_hosts": {
          "type": "list[host]",
          "default": [],
          "description": "Optional list of hostnames to scope the hunt (e.g., confirmed MSSQL servers)."
        },
        "lookback_days": {
          "type": "number",
          "default": "14",
          "description": "Days of history to examine."
        },
        "mallox_filename": {
          "from": {
            "ref": "https://blog.sekoia.io/mallox-ransomware-affiliate-leverages-purecrypter-in-microsoft-sql-exploitation-campaigns/",
            "kind": "article",
            "observed": "2024-05-02"
          },
          "type": "string",
          "default": "Ydxhjxwf.exe",
          "description": "The specific ransomware filename observed in the report."
        },
        "malicious_usernames": {
          "from": {
            "ref": "https://blog.sekoia.io/mallox-ransomware-affiliate-leverages-purecrypter-in-microsoft-sql-exploitation-campaigns/",
            "kind": "article",
            "observed": "2024-05-02"
          },
          "type": "list[string]",
          "default": [
            "john",
            "anna",
            "xxxxxxxx"
          ],
          "description": "Usernames checked by PureCrypter as part of anti-analysis; finding these in activity may indicate an evasion attempt."
        }
      },
      "provenance": {
        "authors": [
          {
            "org": "huntbase.io",
            "name": "Huntbase hunt generation"
          }
        ],
        "generated": {
          "by": "huntbase-hunt-generation",
          "from": "https://blog.sekoia.io/mallox-ransomware-affiliate-leverages-purecrypter-in-microsoft-sql-exploitation-campaigns/",
          "gates": [
            "dry-run",
            "lint",
            "critic"
          ],
          "model": "hb_google/gemini-3-flash-preview"
        }
      },
      "references": [
        {
          "url": "https://blog.sekoia.io/mallox-ransomware-affiliate-leverages-purecrypter-in-microsoft-sql-exploitation-campaigns/",
          "name": "Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation"
        }
      ],
      "blind_spots": [
        {
          "id": "missing-script-telemetry",
          "risk": "PureCrypter commonly uses PowerShell, but if a variant uses a different interpreter without script block logging, the Defender exclusion step will be silent.",
          "stage": "loader-evasion-and-anti-analysis",
          "question": "Was the exclusion or payload download performed via an obfuscated VBScript or JScript?",
          "requires": "hb_script_activity for non-PowerShell interpreters"
        },
        {
          "id": "reflective-loading-blindspot",
          "risk": "Since reflective loading occurs in memory, file activity will not capture the transition. We rely on process monitoring of the initial loader and the prevalence of the resulting process.",
          "stage": "mallox-ransomware-execution",
          "question": "Can we see the reflective loading of the stage 2 DLL or the final payload?",
          "requires": "hb_module_activity"
        }
      ]
    },
    "name": "PureCrypter evasion and Mallox ransomware execution",
    "description": "This hunt focuses on the behavioral indicators of the PureCrypter loader and the Mallox ransomware it drops. It identifies unique defense evasion techniques, such as WMI-based BIOS and manufacturer checks, screen size validation, and network resets. It then corroborates these with registry-based persistence in user profile Run keys and stack-counts rare binaries running from AppData. This multi-surface approach ensures visibility even if the final ransomware filenames rotate."
  },
  "nodes": [
    {
      "id": "hypothesis",
      "type": "hypothesis",
      "label": "Hypothesis",
      "config": {
        "tags": [],
        "series": {
          "slug": "mallox-ransomware-affiliate-leverages-purecrypter-in-mssql-exploitation",
          "index": 2,
          "title": "Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation",
          "total": 2
        },
        "coverage": [
          {
            "stage": "loader-evasion-and-anti-analysis",
            "steps": [
              "purecrypter-evasion-checks",
              "defender-exclusion-tampering"
            ],
            "status": "covered"
          },
          {
            "stage": "persistence-run-key",
            "steps": [
              "run-key-persistence"
            ],
            "status": "covered"
          },
          {
            "stage": "mallox-ransomware-execution",
            "steps": [
              "rare-profile-binaries"
            ],
            "status": "covered"
          },
          {
            "stage": "sql-brute-force-access",
            "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
            "status": "out_of_scope"
          },
          {
            "stage": "sql-server-exploitation",
            "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
            "status": "out_of_scope"
          },
          {
            "stage": "initial-payload-delivery",
            "reason": "Belongs to another part of the 'Mallox ransomware affiliate leverages PureCrypter in MSSQL exploitation' series.",
            "status": "out_of_scope"
          }
        ],
        "rationale": "An intruder is executing the PureCrypter loader on a compromised SQL server, performing heavy environment checks and establishing user-profile persistence before deploying the Mallox ransomware payload.",
        "blind_spots": [
          {
            "id": "missing-script-telemetry",
            "risk": "PureCrypter commonly uses PowerShell, but if a variant uses a different interpreter without script block logging, the Defender exclusion step will be silent.",
            "stage": "loader-evasion-and-anti-analysis",
            "question": "Was the exclusion or payload download performed via an obfuscated VBScript or JScript?",
            "requires": "hb_script_activity for non-PowerShell interpreters"
          },
          {
            "id": "reflective-loading-blindspot",
            "risk": "Since reflective loading occurs in memory, file activity will not capture the transition. We rely on process monitoring of the initial loader and the prevalence of the resulting process.",
            "stage": "mallox-ransomware-execution",
            "question": "Can we see the reflective loading of the stage 2 DLL or the final payload?",
            "requires": "hb_module_activity"
          }
        ],
        "scoping_notes": "Focus on high-value assets running SQL Server. The software inventory scoping step narrows the hunt to these servers, but leaving the scope_hosts parameter empty allows for a fleet-wide search if lateral movement is suspected.",
        "beyond_detection": "While static rules might alert on 'Ydxhjxwf.exe', they are easily bypassed. This hunt looks for the loader's immutable logic\u2014WMI hardware queries, specific sandbox-evasion usernames, and stack-counted rare binaries in profile paths\u2014correlating three distinct surfaces into one high-fidelity verdict."
      }
    },
    {
      "id": "scope-mssql-servers",
      "type": "query",
      "label": "Identify candidate SQL servers",
      "config": {
        "dsl": "sqlite",
        "role": "scoping",
        "source": "endpoint",
        "content": "SELECT DISTINCT device_hostname FROM hb_software_inventory WHERE (LOWER(package_name) LIKE '%sql%server%' OR LOWER(vendor_name) LIKE '%microsoft%') AND asset_scope = 'endpoint'",
        "surface": "hb_software_inventory",
        "description": "Focus the hunt on hosts with Microsoft SQL Server installed, as they are the primary targets of this campaign.",
        "expected_signal": "A list of hostnames likely hosting SQL Server. If empty, the hunt runs across the full estate."
      },
      "parents": [
        {
          "id": "hypothesis"
        }
      ],
      "primitive_config": {
        "dsl": "sqlite",
        "role": "scoping",
        "label": "Identify candidate SQL servers",
        "reads": [
          "device_hostname",
          "package_name",
          "vendor_name",
          "asset_scope"
        ],
        "source": "hb_software_inventory",
        "target": "endpoint",
        "content": "SELECT DISTINCT device_hostname FROM hb_software_inventory WHERE (LOWER(package_name) LIKE '%sql%server%' OR LOWER(vendor_name) LIKE '%microsoft%') AND asset_scope = 'endpoint'",
        "silence": "not_evidence_of_absence",
        "expected": "A list of hostnames likely hosting SQL Server. If empty, the hunt runs across the full estate.",
        "verified": "dry-run",
        "verified_at": "2026-09-17"
      }
    },
    {
      "id": "purecrypter-evasion-checks",
      "type": "query",
      "label": "Anti-analysis behavior and WMI checks",
      "config": {
        "dsl": "sqlite",
        "role": "detection-candidate",
        "source": "endpoint",
        "content": "SELECT device_hostname, process_cmd_line, user_name, time FROM hb_process_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(process_cmd_line) LIKE '%win32_bios%' OR LOWER(process_cmd_line) LIKE '%win32_computersystem%' OR instr(',' || '{{malicious_usernames}}' || ',', ',' || LOWER(user_name) || ',') > 0 OR LOWER(process_cmd_line) LIKE '%ipconfig%renew%' OR LOWER(process_cmd_line) LIKE '%ipconfig%release%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "surface": "hb_process_activity",
        "description": "Find process execution matching the loader's environment checks (WMI for BIOS/System) and the specific usernames it exits for.",
        "expected_signal": "Processes querying hardware identifiers or matching a known sandbox username. Finding BIOS/System WMI queries paired with ipconfig resets is highly indicative."
      },
      "parents": [
        {
          "id": "scope-mssql-servers"
        }
      ],
      "primitive_config": {
        "dsl": "sqlite",
        "role": "detection-candidate",
        "label": "Anti-analysis behavior and WMI checks",
        "reads": [
          "device_hostname",
          "process_cmd_line",
          "user_name",
          "time"
        ],
        "source": "hb_process_activity",
        "target": "endpoint",
        "content": "SELECT device_hostname, process_cmd_line, user_name, time FROM hb_process_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(process_cmd_line) LIKE '%win32_bios%' OR LOWER(process_cmd_line) LIKE '%win32_computersystem%' OR instr(',' || '{{malicious_usernames}}' || ',', ',' || LOWER(user_name) || ',') > 0 OR LOWER(process_cmd_line) LIKE '%ipconfig%renew%' OR LOWER(process_cmd_line) LIKE '%ipconfig%release%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "silence": "not_evidence_of_absence",
        "expected": "Processes querying hardware identifiers or matching a known sandbox username. Finding BIOS/System WMI queries paired with ipconfig resets is highly indicative.",
        "verified": "dry-run",
        "verified_at": "2026-09-17"
      }
    },
    {
      "id": "run-key-persistence",
      "type": "query",
      "label": "Persistence in user Run key",
      "config": {
        "dsl": "sqlite",
        "role": "enrichment",
        "source": "endpoint",
        "content": "SELECT device_hostname, reg_target, reg_value_data, time FROM hb_registry_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND LOWER(reg_target) LIKE '%software\\microsoft\\windows\\currentversion\\run%' AND (LOWER(reg_value_data) LIKE '%\\appdata\\local\\%' OR LOWER(reg_value_data) LIKE '%\\appdata\\roaming\\%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "surface": "hb_registry_activity",
        "description": "Identify the registry entry established by the loader to ensure survival after reboots.",
        "expected_signal": "A Run key pointing to a binary in a user-writable path. Normal applications usually install to Program Files."
      },
      "parents": [
        {
          "id": "scope-mssql-servers"
        }
      ],
      "primitive_config": {
        "dsl": "sqlite",
        "role": "enrichment",
        "label": "Persistence in user Run key",
        "reads": [
          "device_hostname",
          "reg_target",
          "reg_value_data",
          "time"
        ],
        "source": "hb_registry_activity",
        "target": "endpoint",
        "content": "SELECT device_hostname, reg_target, reg_value_data, time FROM hb_registry_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND LOWER(reg_target) LIKE '%software\\microsoft\\windows\\currentversion\\run%' AND (LOWER(reg_value_data) LIKE '%\\appdata\\local\\%' OR LOWER(reg_value_data) LIKE '%\\appdata\\roaming\\%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "silence": "not_evidence_of_absence",
        "expected": "A Run key pointing to a binary in a user-writable path. Normal applications usually install to Program Files.",
        "verified": "dry-run",
        "verified_at": "2026-09-17"
      }
    },
    {
      "id": "defender-exclusion-tampering",
      "type": "query",
      "label": "Windows Defender exclusion activity",
      "config": {
        "dsl": "sqlite",
        "role": "enrichment",
        "source": "endpoint",
        "content": "SELECT device_hostname, script_content, actor_user_name, time FROM hb_script_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(script_content) LIKE '%mppreference%' AND LOWER(script_content) LIKE '%-exclusion%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "surface": "hb_script_activity",
        "description": "Find the PowerShell commands used to suppress Defender alerts for the ransomware binary.",
        "expected_signal": "Script blocks adding the loader or payload path to MpPreference exclusions."
      },
      "parents": [
        {
          "id": "scope-mssql-servers"
        }
      ],
      "primitive_config": {
        "dsl": "sqlite",
        "role": "enrichment",
        "label": "Windows Defender exclusion activity",
        "reads": [
          "device_hostname",
          "script_content",
          "actor_user_name",
          "time"
        ],
        "source": "hb_script_activity",
        "target": "endpoint",
        "content": "SELECT device_hostname, script_content, actor_user_name, time FROM hb_script_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(script_content) LIKE '%mppreference%' AND LOWER(script_content) LIKE '%-exclusion%') AND time >= datetime('now', '-{{lookback_days}} days')",
        "silence": "not_evidence_of_absence",
        "expected": "Script blocks adding the loader or payload path to MpPreference exclusions.",
        "verified": "dry-run",
        "verified_at": "2026-09-17"
      }
    },
    {
      "id": "rare-profile-binaries",
      "type": "query",
      "label": "Rare executables in user profile paths",
      "config": {
        "dsl": "sqlite",
        "role": "baseline",
        "source": "endpoint",
        "content": "SELECT LOWER(process_path) as path, COUNT(DISTINCT device_hostname) as hosts, COUNT(*) as runs, MIN(time) as first_seen FROM hb_process_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(process_name) = LOWER('{{mallox_filename}}') OR (LOWER(process_path) LIKE '%\\appdata\\%' AND LOWER(process_path) LIKE '%.exe')) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY 1 HAVING hosts <= 3 ORDER BY hosts ASC",
        "surface": "hb_process_activity",
        "description": "Stack-count processes running from AppData to highlight the Mallox binary against fleet background noise.",
        "expected_signal": "Binaries seen on only one or two hosts, specifically matching the reported Mallox filename or running from unusual AppData subdirectories."
      },
      "parents": [
        {
          "id": "scope-mssql-servers"
        }
      ],
      "primitive_config": {
        "dsl": "sqlite",
        "role": "baseline",
        "label": "Rare executables in user profile paths",
        "reads": [
          "process_path",
          "device_hostname",
          "time",
          "process_name"
        ],
        "source": "hb_process_activity",
        "target": "endpoint",
        "content": "SELECT LOWER(process_path) as path, COUNT(DISTINCT device_hostname) as hosts, COUNT(*) as runs, MIN(time) as first_seen FROM hb_process_activity WHERE ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND (LOWER(process_name) = LOWER('{{mallox_filename}}') OR (LOWER(process_path) LIKE '%\\appdata\\%' AND LOWER(process_path) LIKE '%.exe')) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY 1 HAVING hosts <= 3 ORDER BY hosts ASC",
        "silence": "not_evidence_of_absence",
        "baseline": {
          "window": "{{lookback_days}}d",
          "compare": "first_seen"
        },
        "expected": "Binaries seen on only one or two hosts, specifically matching the reported Mallox filename or running from unusual AppData subdirectories.",
        "verified": "dry-run",
        "prevalence": {
          "by": "device_hostname",
          "key": [
            "process_path"
          ],
          "rare_below": 3
        },
        "verified_at": "2026-09-17"
      }
    },
    {
      "id": "triage-agent",
      "type": "analytic",
      "label": "Triaging PureCrypter and Mallox presence",
      "config": {
        "cite": "required",
        "tools": [
          "endpoint"
        ],
        "context": [
          "purecrypter-evasion-checks",
          "run-key-persistence",
          "defender-exclusion-tampering",
          "rare-profile-binaries"
        ],
        "objective": "Determine if any host exhibits the PureCrypter behavior chain: environment sensing followed by persistence and execution of a rare binary in AppData.",
        "description": "Analyze the correlation between anti-analysis behavior, persistence mechanisms, and rare binary execution.",
        "max_iterations": 4,
        "expected_signal": "A per-host verdict of malicious, suspicious, or benign.",
        "success_criteria": "A detailed verdict citing process paths, registry keys, and specific WMI queries."
      },
      "parents": [
        {
          "id": "purecrypter-evasion-checks",
          "kind": "merge"
        },
        {
          "id": "run-key-persistence",
          "kind": "merge"
        },
        {
          "id": "defender-exclusion-tampering",
          "kind": "merge"
        },
        {
          "id": "rare-profile-binaries",
          "kind": "merge"
        }
      ]
    },
    {
      "id": "routing-decision",
      "type": "checkpoint",
      "label": "Route based on verdict",
      "config": {
        "fuzzy": true,
        "judge": "hunter",
        "question": "the triage verdict is malicious for at least one host and confirms ransomware execution indicators",
        "condition": "the triage verdict is malicious for at least one host and confirms ransomware execution indicators",
        "blind_spot": "missing-script-telemetry",
        "confidence": "high",
        "description": "Decide whether to isolate the host or move to analyst review.",
        "checkpoint_type": "mandatory"
      },
      "parents": [
        {
          "id": "triage-agent"
        }
      ]
    },
    {
      "id": "isolate-host",
      "type": "action",
      "label": "Isolate host",
      "config": {
        "target": "endpoint",
        "description": "Prevent further spread of ransomware by isolating the affected host.",
        "instructions": "Isolate the host immediately via EDR/Identity control. Collect the rare binary from the identified AppData path for forensic analysis.",
        "action_approval": "required"
      },
      "parents": [
        {
          "id": "routing-decision",
          "branch": "on_supports"
        }
      ]
    },
    {
      "id": "analyst-review",
      "type": "task",
      "label": "Analyst confirmation and tuning",
      "config": {
        "assignee": "analyst",
        "description": "Conduct a manual review of the agent's findings to confirm the intrusion and tune future detections.",
        "instructions": "Verify the rare process activity and check for signs of volume shadow copy deletion or mass file encryption on the identified hosts."
      },
      "parents": [
        {
          "id": "routing-decision",
          "branch": "default"
        },
        {
          "id": "routing-decision",
          "branch": "on_unavailable"
        },
        {
          "id": "isolate-host"
        }
      ]
    },
    {
      "id": "close-out",
      "type": "task",
      "label": "Close out hunt",
      "config": {
        "assignee": "analyst",
        "description": "Finalize the hunt when no malicious activity is identified.",
        "instructions": "Log the hosts examined and confirm no PureCrypter/Mallox indicators were found. Retain the scoping results for the next monthly run."
      },
      "parents": [
        {
          "id": "routing-decision",
          "branch": "on_refutes"
        }
      ]
    }
  ]
}