{
  "model_id": "SOC.034",
  "name": "Cron Entry With Curl/Wget",
  "description": "Persistence via cron entry that downloads + executes a remote script.",
  "threshold": 0.85,
  "evaluations": [
    {
      "name": "CronAdd",
      "type": "comparison",
      "left": "event.type",
      "operator": "==",
      "right": "persistence.cron.added",
      "weight": 4
    },
    {
      "name": "HasCurl",
      "type": "comparison",
      "left": "event.raw.content",
      "operator": "LIKE",
      "right": "%curl%",
      "weight": 5
    },
    {
      "name": "OrFetch",
      "type": "logical",
      "operator": "OR",
      "operands": [
        "HasCurl",
        "HasWget"
      ],
      "weight": 5
    },
    {
      "name": "Logic",
      "type": "logical",
      "operator": "AND",
      "operands": [
        "CronAdd",
        "OrFetch"
      ],
      "weight": 5
    },
    {
      "name": "HasWget",
      "type": "comparison",
      "left": "event.raw.content",
      "operator": "LIKE",
      "right": "%wget%",
      "weight": 5
    }
  ],
  "actions": [
    {
      "type": "emit_alert",
      "reason": "Cron job fetches remote content — classic persistence."
    }
  ],
  "mitre_tactics": [
    "Persistence"
  ],
  "mitre_techniques": [
    "T1053.003"
  ],
  "severity": "critical",
  "observables": [
    "event.raw.path"
  ]
}
