Brute Force

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.

ID: T1110
Sub-techniques:  T1110.001, T1110.002, T1110.003, T1110.004
Tactic: Credential Access
Platforms: Azure AD, Containers, Google Workspace, IaaS, Linux, Office 365, SaaS, Windows, macOS
Permissions Required: User
Data Sources: Application Log: Application Log Content, User Account: User Account Authentication
CAPEC ID: CAPEC-49
Contributors: Alfredo Oliveira, Trend Micro; David Fiser, @anu4is, Trend Micro; Ed Williams, Trustwave, SpiderLabs; Magno Logan, @magnologan, Trend Micro; Yossi Weizman, Azure Defender Research Team
Version: 2.2
Created: 31 May 2017
Last Modified: 14 April 2021

Procedure Examples

ID Name Description
G0007 APT28

APT28 can perform brute force attacks to obtain credentials.[1][2][3]

G0087 APT39

APT39 has used Ncrack to reveal credentials.[4]

S0572 Caterpillar WebShell

Caterpillar WebShell has a module to perform brute force attacks on a system.[5]

S0220 Chaos

Chaos conducts brute force attacks against SSH services to gain initial access.[6]

S0488 CrackMapExec

CrackMapExec can brute force supplied user credentials across a network range.[7]

G0105 DarkVishnya

DarkVishnya used brute-force attack to obtain login data.[8]

G0053 FIN5

FIN5 has has used the tool GET5 Penetrator to look for remote login and hard-coded credentials.[9][10]

G0117 Fox Kitten

Fox Kitten has brute forced RDP credentials.[11]

S0599 Kinsing

Kinsing has attempted to brute force hosts over SSH.[12]

G0049 OilRig

OilRig has used brute force techniques to obtain credentials.[13]

S0378 PoshC2

PoshC2 has modules for brute forcing local administrator and AD user accounts.[14]

S0583 Pysa

Pysa has used brute force attempts against a central management console, as well as some Active Directory accounts.[15]

G0010 Turla

Turla may attempt to connect to systems within a victim's network using net use commands and a predefined list or collection of passwords.[16]

Mitigations

ID Mitigation Description
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.

M1032 Multi-factor Authentication

Use multi-factor authentication. Where possible, also enable multi-factor authentication on externally facing services.

M1027 Password Policies

Refer to NIST guidelines when creating password policies.[17]

M1018 User Account Management

Proactively reset accounts that are known to be part of breached credentials either immediately, or after detecting bruteforce attempts.

Detection

Monitor authentication logs for system and application login failures of Valid Accounts. If authentication failures are high, then there may be a brute force attempt to gain access to a system using legitimate credentials. Also monitor for many failed authentication attempts across various accounts that may result from password spraying attempts. It is difficult to detect when hashes are cracked, since this is generally done outside the scope of the target network.

References