Brute Force: Password Spraying
- ID
- T1110.003
- Tactics
- TA0006 Credential Access
- Sub-technique of
- T1110 Brute Force
- Platforms
- Containers, ESXi, IaaS, Identity Provider, Linux, Network Devices, Office Suite, SaaS, Windows, macOS
- Data sources
- User Account Authentication
- Source
- attack.mitre.org
- MITRE last modified
- 25 Oct 2025
Adversaries may use a single or small list of commonly used passwords against many different accounts to attempt to acquire valid account credentials. Password spraying uses one password (e.g. 'Password01'), or a small list of commonly used passwords, that may match the complexity policy of the domain. Logins are attempted with that password against many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. [4]
Typically, management services over commonly used ports are used when password spraying. Commonly targeted services include the following:
- SSH (22/TCP)
- Telnet (23/TCP)
- FTP (21/TCP)
- NetBIOS / SMB / Samba (139/TCP & 445/TCP)
- LDAP (389/TCP)
- Kerberos (88/TCP)
- RDP / Terminal Services (3389/TCP)
- HTTP/HTTP Management Services (80/TCP & 443/TCP)
- MSSQL (1433/TCP)
- Oracle (1521/TCP)
- MySQL (3306/TCP)
- VNC (5900/TCP)
In addition to management services, adversaries may "target single sign-on (SSO) and cloud-based applications utilizing federated authentication protocols," as well as externally facing email applications, such as Office 365.[5]
In order to avoid detection thresholds, adversaries may deliberately throttle password spraying attempts to avoid triggering security alerting. Additionally, adversaries may leverage LDAP and Kerberos authentication attempts, which are less likely to trigger high-visibility events such as Windows "logon failure" event ID 4625 that is commonly triggered by failed SMB connection attempts.[6]
Detection
- DET0487 Distributed Password Spraying via Authentication Failures Across Multiple Accounts
Data components: User Account Authentication
Mitigations (3)
- M1027 Password Policies
Refer to NIST guidelines when creating password policies. [1]
- M1032 Multi-factor Authentication
Use multi-factor authentication. Where possible, also enable multi-factor authentication on externally facing services.
- M1036 Account Use Policies
Set account lockout policies after a certain number of failed login attempts to prevent passwords from being guessed. Too strict a policy may create a denial of service condition and render environments un-usable, with all accounts used in the brute force being locked-out. Use conditional access policies to block logins from non-compliant devices or from outside defined organization IP ranges.[2] Consider blocking risky authentication requests, such as those originating from anonymizing services/proxies.[3]
Groups (12)
- G0007 APT28
- G0016 APT29
- G0032 Lazarus Group
- G0064 APT33
- G0077 Leafminer
- G0114 Chimera
- G0122 Silent Librarian
- G0125 HAFNIUM
- G1001 HEXANE
- G1003 Ember Bear
- G1030 Agrius
- G1059 NIMBUS MANTICORE
Software (4)
References
- NIST 800-63-3
- Microsoft Common Conditional Access Policies
- Okta Block Anonymizing Services
- BlackHillsInfosec Password Spraying
- US-CERT TA18-068A 2018
- Microsoft Storm-0940
