Detection rules › Sigma
Brutforce enumeration with unexisting users (Kerberos)
Detects scenarios where an attacker attempts to enumerate potential existing users, resulting in failed Kerberos TGT requests with unexisting or invalid accounts.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Credential Access | T1110 Brute Force |
Event coverage
| Provider | Event | Title |
|---|---|---|
| Security-Auditing | Event ID 4768 | A Kerberos authentication ticket (TGT) was requested. |
| Security-Auditing | Event ID 4771 | Kerberos pre-authentication failed. |
Rule body yaml
title: Brutforce enumeration with unexisting users (Kerberos)
name: bruteforce_non_existing_users_kerberos
description: Detects scenarios where an attacker attempts to enumerate potential existing users, resulting in failed Kerberos TGT requests with unexisting or invalid accounts.
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1110.xxx-Brut%20force
- https://github.com/ropnop/kerbrute
tags:
- attack.credential_access
- attack.t1110
author: mdecrevoisier
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID:
- 4771
- 4768
Status: "0x6" # KDC_ERR_C_PRINCIPAL_UNKNOWN
filter:
- IpAddress: "%domain_controllers_ips%" # reduce amount of false positives
- TicketOptions: 0x50800000 # covered by Kerbrute rule
condition: selection and not filter
falsepositives:
- Missconfigured application or identity services
level: high
---
title: Brutforce enumeration with unexisting users (Kerberos) Count
status: experimental
correlation:
type: value_count
rules:
- bruteforce_non_existing_users_kerberos # Referenced here
group-by:
- Computer
timespan: 30m
condition:
gte: 20
field: TargetUserName # Count how many failed logins with non existing users were reported on the domain controller.
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
EventID:
- 4771
- 4768
Status: "0x6"
Stage 2: not filter
filter:
- IpAddress: "%domain_controllers_ips%"
- TicketOptions: 0x50800000
Exclusions
Top-level NOT(...) conjuncts: predicates this rule actively suppresses.
| Field | Kind | Excluded values |
|---|---|---|
IpAddress | eq | %domain_controllers_ips% |
TicketOptions | eq | 1350565888 |
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
Status | eq |
|