This article from an ethical hacking course explains Kerberoasting, an Active Directory attack that allows any low-privilege domain user to request encrypted service tickets, crack them offline, and compromise service accounts—often those with elevated privileges. The technique appears in nearly every successful red team engagement because it requires minimal permissions, generates minimal logs, and exploits weak service account passwords that are manually set and rarely rotated. The article covers attack execution using Impacket's GetUserSPNs.py and Hashcat, target prioritization by privilege level, and defensive detection via Windows Event ID 4769 monitoring.
- Fundamental Kerberos authentication vulnerabilityThe Domain Controller issues Ticket Granting Service (TGS) tickets encrypted with the service account's NTLM password hash to any authenticated domain user who requests one, without access checks. This design flaw means attackers with only standard user credentials can request tickets for any SPN-registered service, then take those tickets offline for cracking—all without further DC interaction.
- Why service accounts are realistic targetsComputer accounts generate 120+ random character passwords that rotate every 30 days, making their TGS hashes computationally infeasible to crack. Service accounts use manually-set passwords that follow predictable patterns ('Company2019!', 'ServiceAcc#1'), which dictionary and mutation-based wordlists like rockyou.txt can crack in seconds, making service accounts the viable cracking targets.
- Attack execution with three commandsThe article demonstrates using GetUserSPNs.py to enumerate kerberoastable accounts via LDAP queries, requesting TGS tickets with the -request flag to extract $krb5tgs$23$ hashes, then cracking them with Hashcat mode 13100. All steps appear as normal AD operations—the attack succeeds only if service account passwords exist in the attacker's wordlist.
- Privilege-based target prioritizationExtracted accounts should be prioritized by group membership before investing cracking time. Domain Admins and Enterprise Admins yield immediate full domain compromise; SQL Server service accounts (svc_sql*) and backup operators often have over-privileged access for lateral movement. The article includes a real example where a printer scan account held Domain Admin privileges from 2016 and was cracked in four minutes.
- Detection via Event ID 4769 monitoringWindows Event ID 4769 logs Kerberos TGS requests; multiple 4769 events with RC4 encryption (etype 0x17) from a single source in a short time window indicate Kerberoasting. Tools default to RC4 for crackability, making RC4 detection signatures effective for identifying automated Kerberoasting attempts on Domain Controllers.
- Three-layer defense strategyThe article recommends: (1) Group Managed Service Accounts (gMSAs) that automatically rotate 240-character random passwords, eliminating offline cracking; (2) manually setting service passwords to 25+ random characters; (3) enforcing Event ID 4769 monitoring. Forcing AES-only encryption instead of RC4 also eliminates offline crackability by requiring service account password updates and msDS-SupportedEncryptionTypes attribute configuration.
- Minimal operational noise and logsRequesting service tickets is normal AD behavior, generating minimal suspicious logs during enumeration. The hash cracking happens entirely offline after ticket extraction, leaving no further DC interaction or noise. This combination of normal-appearing operations and offline cracking makes Kerberoasting difficult to detect during active exploitation without Event ID 4769 analysis.
Bottom line: Kerberoasting succeeds because any domain user can request service tickets for cracking offline, service accounts hold manually-set weak passwords following predictable patterns, and many service accounts retain escalated privileges from years past—making it a high-impact, low-noise attack that appears on every red team checklist. Defense requires Group Managed Service Accounts, strong random passwords, and Event ID 4769 monitoring for RC4-encrypted TGS requests.
🛡️ ETHICAL HACKING COURSE
FREE
Part of the 100-Day Ethical Hacking Course — the most structured free ethical hacking training online
🎯 What You’ll Master in Day 25
⏱️ 24 min read · 3 hands-on exercises
📊 Where are you with Active Directory attacks coming into Day 25?
📋 What You’ll Master in Day 25 — Kerberoasting Guide
On Day 24 we covered the core Active Directory attack techniques including LDAP enumeration and password spraying. Today we go deeper into the Kerberos authentication protocol with Kerberoasting — one of the most reliable privilege escalation paths in Windows AD environments. This is Day 25 of the 100-Day Ethical Hacking Course.
How Kerberoasting Exploits Kerberos Authentication
Kerberos authentication uses tickets — when a user wants to access a service, they request a Ticket Granting Service (TGS) ticket from the Domain Controller. The DC issues this ticket encrypted with the service account’s NTLM password hash. Here is the vulnerability: any authenticated domain user can request a TGS ticket for any service registered in AD. There is no access check. The DC will hand it out. And since the ticket is encrypted with the service account’s password hash, taking it offline and cracking it reveals the service account’s plaintext password.
⏱️ Time: 3 minutes · No tools required
Both produce Kerberos TGS tickets that can be requested offline.
Answer these before reading on:
1. Computer account passwords are randomly generated and 120+ chars long.
What does this mean for cracking their TGS hashes?
2. Service account passwords are typically set manually by an admin.
What patterns do admins typically use for “secure” service account passwords?
3. If a service account has Domain Admin privileges, what does cracking it give you?
4. Why would an attacker prioritise an account named svc_sql over svc_printer?
📸 Write your answers and share in #day25-kerberoast on Discord.
Enumerating Kerberoastable Accounts
⏱️ Time: 15 minutes · Lab: HackTheBox AD lab or your own AD home lab
📸 Screenshot the extracted $krb5tgs$ hashes and share in #day25-exercise on Discord.
Prioritising Targets by Privilege
Not all kerberoastable accounts are equal. Before investing cracking time, review the MemberOf column from GetUserSPNs output to identify which accounts will have the highest impact if cracked.
Detection and Defence
⏱️ Time: 10 minutes · Target: Your AD lab DC
📸 Screenshot the 4769 events from your lab and share in #day25-detection on Discord. Tag #ehday25
🧠 QUICK CHECK — Day 25
📋 Commands Used Today — Day 25 Reference Card
🏆 Mark Day 25 as Complete
Kerberoasting — attack and defence both mastered. 25% through the course.
❓ Frequently Asked Questions
What is Kerberoasting?
Why is Kerberoasting so effective?
What makes an account kerberoastable?
How do you defend against Kerberoasting?
What comes after Kerberoasting in this course?
Day 24: Active Directory Attacks
Day 26: Pass the Hash
📚 Further Reading
- Day 24: Active Directory Attacks — The previous session covering LDAP enumeration, password spraying, and the AD attack surface overview that sets up Kerberoasting.
- Password Cracking Explained 2026 — Deep dive into Hashcat modes, wordlist strategy, and rule-based mutations — directly applicable to cracking TGS hashes from Kerberoasting.
- Ethical Hacking Course Hub — The full 100-day course map showing where Kerberoasting fits in the complete AD attack methodology.
- MITRE ATT&CK: Kerberoasting (T1558.003) — Official MITRE reference for Kerberoasting — procedure examples, detection, and mitigation guidance used by real threat intelligence teams.
- Impacket GitHub Repository — The official Impacket toolkit including GetUserSPNs.py, GetNPUsers.py (AS-REP Roasting), and the full suite of AD attack utilities.

