Name |
Credential Stuffing |
|
Likelyhood of attack |
Typical severity |
High |
High |
|
Summary |
An adversary tries known username/password combinations against different systems, applications, or services to gain additional authenticated access. Credential Stuffing attacks rely upon the fact that many users leverage the same username/password combination for multiple systems, applications, and services. Attacks of this kind often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications. The primary goal of Credential Stuffing is to achieve lateral movement and gain authenticated access to additional systems, applications, and/or services. A successfully executed Credential Stuffing attack could result in the adversary impersonating the victim or executing any action that the victim is authorized to perform. If the password obtained by the adversary is used for multiple systems, accounts, and/or services, this attack will be successful (in the absence of other mitigations).
Although not technically a brute force attack, Credential Stuffing attacks can function as such if an adversary possess multiple known passwords for the same user account. This may occur in the event where an adversary obtains user credentials from multiple sources or if the adversary obtains a user's password history for an account.
Credential Stuffing attacks are similar to Password Spraying attacks (CAPEC-565) regarding their targets and their overall goals. However, Password Spraying attacks do not have any insight into known username/password combinations and instead leverage common or expected passwords. This also means that Password Spraying attacks must avoid inducing account lockouts, which is generally not a worry of Credential Stuffing attacks. Password Spraying attacks may additionally lead to Credential Stuffing attacks, once a successful username/password combination is discovered. |
Prerequisites |
The system/application uses one factor password based authentication, SSO, and/or cloud-based authentication. The system/application does not have a sound password policy that is being enforced. The system/application does not implement an effective password throttling mechanism. The adversary possesses a list of known user accounts and corresponding passwords that may exist on the target. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Acquire known credentials] The adversary must obtain known credentials in order to access the target system, application, or service. |
- An adversary purchases breached username/password combinations or leaked hashed passwords from the dark web.
- An adversary leverages a key logger or phishing attack to steal user credentials as they are provided.
- An adversary conducts a sniffing attack to steal credentials as they are transmitted.
- An adversary gains access to a database and exfiltrates password hashes.
- An adversary examines outward-facing configuration and properties files to discover hardcoded credentials.
|
2 |
Explore |
[Determine target's password policy] Determine the password policies of the target system/application to determine if the known credentials fit within the specified criteria. |
- Determine minimum and maximum allowed password lengths.
- Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
- Determine account lockout policy (a strict account lockout policy will prevent brute force attacks if multiple passwords are known for a single user account).
|
3 |
Exploit |
[Impersonate] An adversary can use successful experiments or authentications to impersonate an authorized user or system or to laterally move within a system or application |
|
4 |
Exploit |
[Spoofing] Malicious data can be injected into the target system or into a victim user's system by an adversary. The adversary can also pose as a legitimate user to perform social engineering attacks. |
|
5 |
Exploit |
[Data Exfiltration] The adversary can obtain sensitive data contained within the system or application. |
|
|
Solutions | Leverage multi-factor authentication for all authentication services and prior to granting an entity access to the domain network. Create a strong password policy and ensure that your system enforces this policy. Ensure users are not reusing username/password combinations for multiple systems, applications, or services. Do not reuse local administrator account credentials across systems. Deny remote use of local admin credentials to log into domain systems. Do not allow accounts to be a local administrator on more than one system. Implement an intelligent password throttling mechanism. Care must be taken to assure that these mechanisms do not excessively enable account lockout attacks such as CAPEC-2. Monitor system and domain logs for abnormal credential access. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-262 |
Not Using Password Aging |
CWE-263 |
Password Aging with Long Expiration |
CWE-307 |
Improper Restriction of Excessive Authentication Attempts |
CWE-308 |
Use of Single-factor Authentication |
CWE-309 |
Use of Password System for Primary Authentication |
CWE-522 |
Insufficiently Protected Credentials |
CWE-654 |
Reliance on a Single Factor in a Security Decision |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-151 |
Identity Spoofing refers to the action of assuming (i.e., taking on) the identity of some other entity (human or non-human) and then using that identity to accomplish a goal. An adversary may craft messages that appear to come from a different principle or use stolen / spoofed authentication credentials. Alternatively, an adversary may intercept a message from a legitimate sender and attempt to make it look like the message comes from them without changing its content. The latter form of this attack can be used to hijack credentials from legitimate users. Identity Spoofing attacks need not be limited to transmitted messages - any resource that is associated with an identity (for example, a file with a signature) can be the target of an attack where the adversary attempts to change the apparent identity. This attack differs from Content Spoofing attacks where the adversary does not wish to change the apparent identity of the message but instead wishes to change what the message says. In an Identity Spoofing attack, the adversary is attempting to change the identity of the content. |
CAPEC-560 |
An adversary guesses or obtains (i.e. steals or purchases) legitimate credentials (e.g. userID/password) to achieve authentication and to perform authorized actions under the guise of an authenticated user or service. Attacks leveraging trusted credentials typically result in the adversary laterally moving within the local network, since users are often allowed to login to systems/applications within the network using the same password. This further allows the adversary to obtain sensitive data, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more.
Attacks on known passwords generally rely on the primary fact that users often reuse the same username/password combination for a variety of systems, applications, and services, coupled with poor password policies on the target system or application. Adversaries can also utilize known passwords to target Single Sign On (SSO) or cloud-based applications and services, which often don't verify the authenticity of the user's input. Known credentials are usually obtained by an adversary via a system/application breach and/or by purchasing dumps of credentials on the dark web. These credentials may be further gleaned via exposed configuration and properties files that contain system passwords, database connection strings, and other sensitive data.
Successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application. |
CAPEC-653 |
An adversary guesses or obtains (i.e. steals or purchases) legitimate Windows domain credentials (e.g. userID/password) to achieve authentication and to perform authorized actions on the domain, under the guise of an authenticated user or service. Attacks leveraging trusted Windows credentials typically result in the adversary laterally moving within the local Windows network, since users are often allowed to login to systems/applications within the domain using their Windows domain password. This domain authentication can occur directly (user typing in their password or PIN) or via Single Sign-On (SSO) or cloud-based authentication, which often don't verify the authenticity of the user's input. Known credentials are usually obtained by an adversary via a system/application breach and/or by purchasing dumps of credentials on the dark web. These credentials may be further gleaned via exposed configuration and properties files that contain system passwords, database connection strings, and other sensitive data. Utilizing known Windows credentials, an adversary can obtain sensitive data from administrator shares, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more. Ultimately, successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application. |
|
Taxonomy: ATTACK |
Entry ID
|
Entry Name
|
1110.004 |
Brute Force:Credential Stuffing |
|
Taxonomy: OWASP Attacks |
Entry ID
|
Entry Name
|
Link |
Credential stuffing |
|