{
  "model_id": "SOC.015",
  "name": "SSH Probing - Invalid Users",
  "description": "Failed SSH logins for many different usernames from the same source — classic user enumeration.",
  "threshold": 0.8,
  "evaluations": [
    {
      "name": "Failed",
      "type": "comparison",
      "left": "event.type",
      "operator": "==",
      "right": "auth.ssh.failed",
      "weight": 3
    },
    {
      "name": "InvalidUser",
      "type": "comparison",
      "left": "event.raw.invalid_user",
      "operator": "==",
      "right": true,
      "weight": 4
    },
    {
      "name": "DistinctUsers",
      "type": "aggregation",
      "aggregation": "COUNT",
      "field": "event.actor.user",
      "weight": 5
    },
    {
      "name": "Many",
      "type": "comparison",
      "left": "@DistinctUsers",
      "operator": "\u003e=",
      "right": 10,
      "weight": 5
    },
    {
      "name": "Logic",
      "type": "logical",
      "operator": "AND",
      "operands": [
        "Failed",
        "InvalidUser",
        "Many"
      ],
      "weight": 5
    }
  ],
  "actions": [
    {
      "type": "emit_alert",
      "reason": "SSH user enumeration from {event.actor.ip}."
    },
    {
      "type": "request_block_ip",
      "reason": "Block scanner IP."
    }
  ],
  "mitre_tactics": [
    "Reconnaissance"
  ],
  "mitre_techniques": [
    "T1087",
    "T1110"
  ],
  "severity": "high",
  "observables": [
    "event.actor.ip"
  ]
}
