Brute Force

Adversaries may use brute force techniques to attempt access to accounts when passwords are unknown or when password hashes are obtained.

Credential Dumping is used to obtain password hashes, this may only get an adversary so far when Pass the Hash is not an option. Techniques to systematically guess the passwords used to compute hashes are available, or the adversary may use a pre-computed rainbow table to crack hashes. Cracking hashes is usually done on adversary-controlled systems outside of the target network. [1]

Adversaries may attempt to brute force logins without knowledge of passwords or hashes during an operation either with zero knowledge or by attempting a list of known or possible passwords. This is a riskier option because it could cause numerous authentication failures and account lockouts, depending on the organization's login failure policies. [2]

A related technique called password spraying uses one password (e.g. 'Password01'), or a small list of passwords, that matches the complexity policy of the domain and may be a commonly used password. Logins are attempted with that password and many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. [3]

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 default environments, LDAP and Kerberos connection attempts are less likely to trigger events over SMB, which creates Windows "logon failure" event ID 4625.

ID: T1110

Tactic: Credential Access

Platform:  Linux, macOS, Windows

Permissions Required:  User

Data Sources:  Authentication logs

Contributors:  John Strand; Ed Williams, Trustwave, SpiderLabs

Version: 1.1

Examples

NameDescription
APT3

APT3 has been known to brute force password hashes to be able to leverage plain text credentials.[4]

APT33

APT33 has used password spraying to gain access to target systems.[5]

Chaos

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

China Chopper

China Chopper's server component can perform brute force password guessing against authentication portals.[7]

Dragonfly 2.0

Dragonfly 2.0 dropped and executed tools used for password cracking, including Hydra.[8][9][10]

Emotet

Emotet has been observed using a hard coded list of passwords to brute force user accounts. [11][12][13][14][15]

Lazarus Group

Lazarus Group malware attempts to connect to Windows shares for lateral movement by using a generated list of usernames, which center around permutations of the username Administrator, and weak passwords.[16][17]

Leafminer

Leafminer used a tool called BruteForcer to perform a brute force attack.[18]

Linux Rabbit

Linux Rabbit brute forces SSH passwords in order to attempt to gain access and install its malware onto the server.[19]

Net Crawler

Net Crawler uses a list of known credentials gathered through credential dumping to guess passwords to accounts as it spreads throughout a network.[2]

OilRig

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

PoshC2

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

SpeakUp

SpeakUp can perform brute forcing using a pre-defined list of usernames and passwords in an attempt to log in to administrative panels.[22]

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.[23]

Xbash

Xbash can obtain a list of weak passwords from the C2 server to use for brute forcing.[24]

Mitigation

Set account lockout policies after a certain number of failed login attempts to prevent passwords from being guessed. Too strict a policy can create a denial of service condition and render environments un-usable, with all accounts being locked-out permanently. Use multifactor authentication. Follow best practices for mitigating access to Valid Accounts

Refer to NIST guidelines when creating passwords.[25]

Where possible, also enable multi factor authentication on external facing services.

Detection

It is difficult to detect when hashes are cracked, since this is generally done outside the scope of the target network.

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.

For password spraying consider the following[26]:

  • Domain Controllers: "Audit Logon" (Success & Failure) for event ID 4625.
  • Domain Controllers: "Audit Kerberos Authentication Service" (Success & Failure) for event ID 4771.
  • All systems: "Audit Logon" (Success & Failure) for event ID 4648.

References

  1. Mclellan, M.. (2018, November 19). Lazy Passwords Become Rocket Fuel for Emotet SMB Spreader. Retrieved March 25, 2019.
  2. CIS. (2018, December 12). MS-ISAC Security Primer- Emotet. Retrieved March 25, 2019.
  3. Novetta Threat Research Group. (2016, February 24). Operation Blockbuster: Unraveling the Long Thread of the Sony Attack. Retrieved February 25, 2016.
  4. Novetta Threat Research Group. (2016, February 24). Operation Blockbuster: Remote Administration Tools & Content Staging Malware Report. Retrieved March 16, 2016.
  5. Symantec Security Response. (2018, July 25). Leafminer: New Espionage Campaigns Targeting Middle Eastern Regions. Retrieved August 28, 2018.
  6. Anomali Labs. (2018, December 6). Pulling Linux Rabbit/Rabbot Malware Out of a Hat. Retrieved March 4, 2019.
  7. Davis, S. and Caban, D. (2017, December 19). APT34 - New Targeted Attack in the Middle East. Retrieved December 20, 2017.
  8. Nettitude. (2016, June 8). PoshC2: Powershell C2 Server and Implants. Retrieved April 23, 2019.
  9. Check Point Research. (2019, February 4). SpeakUp: A New Undetected Backdoor Linux Trojan. Retrieved April 17, 2019.
  10. Kaspersky Lab's Global Research and Analysis Team. (2014, August 7). The Epic Turla Operation: Solving some of the mysteries of Snake/Uroburos. Retrieved December 11, 2014.
  11. Xiao, C. (2018, September 17). Xbash Combines Botnet, Ransomware, Coinmining in Worm that Targets Linux and Windows. Retrieved November 14, 2018.
  12. Grassi, P., et al. (2017, December 1). SP 800-63-3, Digital Identity Guidelines. Retrieved January 16, 2019.
  13. Metcalf, S. (2018, May 6). Trimarc Research: Detecting Password Spraying with Security Event Auditing. Retrieved January 16, 2019.