|
| 1 | +title: Brute Force Authentication Attempts For Single Account |
| 2 | +id: 34fb5c3a-2ff6-487d-bfa3-717763f30b2c |
| 3 | +status: experimental |
| 4 | +description: | |
| 5 | + Detects a potential brute force / password guessing attack against a single account |
| 6 | + by counting failed logon events (EventID 4625) per target account and source IP within |
| 7 | + any 5 minute window. Triggers when an account accumulates more than 4 failed logons from |
| 8 | + a single source IP in that window. Grouping by source IP surfaces who is attempting to |
| 9 | + access the account. |
| 10 | + Note: grouping by source means a distributed attempt spread across many source IPs (each |
| 11 | + below the threshold) will not trigger this rule - that pattern is better covered by a |
| 12 | + separate rule grouping only by TargetUserName or counting distinct source IPs. |
| 13 | +references: |
| 14 | + - https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4625 |
| 15 | +author: Hydra2113 |
| 16 | +date: 2026-06-25 |
| 17 | +tags: |
| 18 | + - attack.credential-access |
| 19 | + - attack.t1110 |
| 20 | +correlation: |
| 21 | + type: event_count |
| 22 | + rules: |
| 23 | + - failed_logon_attempts_4625 |
| 24 | + group-by: |
| 25 | + - TargetUserName # account being targeted |
| 26 | + - TargetDomainName # account identity - disambiguates same username across domains |
| 27 | + - IpAddress # source of the attempts (who is trying to access the account) |
| 28 | + timespan: 5m |
| 29 | + condition: |
| 30 | + gte: 5 # "more than 4" failed logons within the timespan |
| 31 | +falsepositives: |
| 32 | + - Users repeatedly mistyping their password (e.g. after a recent password change) |
| 33 | + - Misconfigured applications or service accounts retrying with stale credentials |
| 34 | + - Account lockout testing or vulnerability scanners |
| 35 | +level: high |
| 36 | +--- |
| 37 | +title: Failed Logon Attempts For Single Account |
| 38 | +id: 28ed487c-6a7d-42ca-a121-608ce523856c |
| 39 | +name: failed_logon_attempts_4625 |
| 40 | +logsource: |
| 41 | + product: windows |
| 42 | + service: security |
| 43 | +detection: |
| 44 | + selection: |
| 45 | + EventID: 4625 |
| 46 | + # Note: this base rule intentionally matches all failed logons. Reduce noise as per your |
| 47 | + # environment by adding a filter here - e.g. excluding machine/computer accounts |
| 48 | + # (TargetUserName|endswith: '$'), known vulnerability scanners, or service accounts with |
| 49 | + # stale credentials - then update the condition to "selection and not filter". |
| 50 | + condition: selection |
0 commit comments