Detect Brute Force in Elastic Security
Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained. Without knowledge of the password for an account or set of accounts, an adversary may systematically guess the password using a repetitive or iterative mechanism. Brute forcing passwords can take place via interaction with a service that will check the validity of those credentials or offline against previously acquired credential data, such as password hashes. Threat actors including Fox Kitten, APT38, APT41, OilRig, and Turla have used brute force techniques against RDP, SSH, SMB, and web services.
MITRE ATT&CK
- Tactic
- Credential Access
- Technique
- T1110 Brute Force
- Canonical reference
- https://attack.mitre.org/techniques/T1110/
Elastic Detection Query
// Brute force with successful compromise (Critical — sequence-based)
sequence by source.ip, host.name with maxspan=10m
[authentication where event.outcome == "failure"
and winlog.event_data.LogonType in ("3", "10")] with runs=10
[authentication where event.outcome == "success"
and winlog.event_data.LogonType in ("3", "10")]
// Supplement: high-volume failures without success (High)
// sequence by source.ip with maxspan=10m
// [authentication where event.outcome == "failure"
// and winlog.event_data.LogonType in ("3", "10")] with runs=50 Detects brute force attacks using ECS authentication events. Primary rule uses EQL sequence with maxspan=10m and runs=10 to correlate 10+ authentication failures (Windows EventID 4625, LogonType 3/10) from the same source IP and host, followed by a successful logon (EventID 4624), indicating likely compromise. A supplemental rule variant detects high-volume failures (50+) without requiring success.
Data Sources
Required Tables
False Positives & Tuning
- Automated load testing or integration test suites performing rapid authentication cycles against staging environments where a final successful login follows deliberate failure sequences
- SSO federation proxies or reverse authentication gateways that forward many end-user failures through a single egress IP, causing per-IP thresholds to be exceeded by normal aggregate activity
- IT helpdesk workflows where an agent attempts multiple incorrect passwords on behalf of a user before the user provides the correct credential, generating the exact failure-then-success pattern
Other platforms for T1110
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1RDP Brute Force Simulation with Crowbar
Expected signal: On the target Windows host: Security Event ID 4625 (LogonType=10, RemoteInteractive) for each failed attempt, with IpAddress showing the attacker IP. If lockout policy is enabled and threshold exceeded: Event ID 4740 (account locked out). Network logs: multiple TCP connections to port 3389 from attacker IP in rapid succession.
- Test 2SSH Brute Force with Hydra
Expected signal: On the target Linux host: /var/log/auth.log entries 'Failed password for root from <attacker-ip> port <port> ssh2'. If using auditd: type=USER_AUTH msg entries with res=failed. Sysmon for Linux (if deployed): Event ID 3 (network connection) on the attacker side. SIEM via Syslog forwarder: linux_secure sourcetype or syslog with 'Failed password' pattern.
- Test 3Active Directory Password Spray with PowerShell
Expected signal: On Domain Controller: Security Event ID 4625 (LogonType=3, Network) for each failed account, SubStatus 0xC000006D (wrong password) or 0xC000006A (wrong password for correct username). Caller IP address will be the workstation running the spray. Security Event ID 4771 (Kerberos pre-auth failure) if using Kerberos authentication. Timing will show evenly spaced failures 500ms apart — distinctive automated tool pattern.
- Test 4NTLM Brute Force via SMB with CrackMapExec
Expected signal: Target Windows host: Security Event ID 4625 (LogonType=3, Network, AuthenticationPackageName=NTLM) for each failed credential. Domain Controller: Security Event ID 4776 (NTLM authentication attempt, error code 0xC000006A for wrong password) with Workstation field showing attacker hostname. Network: multiple TCP connections to port 445 (SMB) from attacker IP. CME results show [*] for failure and [+] for success in its output.
References (10)
- https://attack.mitre.org/techniques/T1110/
- https://www.microsoft.com/en-us/security/blog/2021/09/27/foggyweb-targeted-nobelium-malware-leads-to-persistent-backdoor/
- https://learn.microsoft.com/en-us/defender-for-identity/compromised-credentials-alerts
- https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/reference-sign-ins-error-codes
- https://www.dragos.com/wp-content/uploads/CRASHOVERRIDE2018.pdf
- https://www.trendmicro.com/en_us/research/20/l/pawn-storm-lack-of-sophistication-as-a-strategy.html
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1110/T1110.md
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/builtin/security
- https://www.cisa.gov/sites/default/files/2024-09/aa24-249a-foreign-threat-actor-conducting-large-scale-spear-phishing-campaign-with-rdp-attachments.pdf
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4625
Unlock Pro Content
Get the full detection package for T1110 including response playbook, investigation guide, and atomic red team tests.