Kerberoasting
Also calledKerberoast, SPN roasting
Asks for service tickets, then guesses the service account's password offline.
- Technique
- MITRE ATT&CK T1558.003: Steal or Forge Kerberos Tickets: Kerberoasting (opens in a new tab)
- Hooks Into
- Kerberos TGS RequestKerberos TGS Reply
- Needs
- Domain Account
- Gives
- PasswordandService Key
How the Attack Works
Any domain account may ask for a service ticket to any service principal name, and the DC seals the ticket with the key of the account that holds the SPN, without checking that the requester may use the service. Where that is a user account with a password a person chose, the sealed part can be guessed offline, away from every log. In RC4 that key is simply the account's NT hash, quicker to guess against than an AES key, so requests for RC4 tickets are the classic sign.
Read first Password Hashes and Kerberos Keys, Kerberos Keys and Encryption Types, TGS Reply: The Service Ticket
How It Plays Out
The attack step by step. Each step shows which machines take part, what travels, the keys and tickets each side now holds, what is logged and what a defender can see.
ws-042 Foothold
- TGT
- TGT session key
dc-01 Domain controller
- krbtgt key
- svc-backup key
Offline
Step 1 of 4: SPN Search
ws-042 Foothold to dc-01 Domain controller
WS-042$ asks dc-01 over LDAP for the user accounts that have a service principal name, a search any account may make.
What Defenders See
Where its sensor reads dc-01, Defender for Identity raises its SPN and Kerberoasting reconnaissance alerts. By default, dc-01 writes no event for the search to its Security log.
Step 2 of 4: TGS Requests
ws-042 Foothold to dc-01 Domain controller
WS-042$ sends its own TGT and asks for a ticket to each SPN found, svc-backup's among them, offering only RC4.
What Defenders See
Nothing shows yet, because dc-01 writes each request to its Security log as event 4769 when it answers it.
Hooks into Kerberos TGS Request
Step 3 of 4: Service Tickets
dc-01 Domain controller to ws-042 Foothold
dc-01 issues each ticket as it would for anyone, sealed with the key of the account that holds the SPN.
Keys and Tickets
- ws-042 now holds service ticket (new at this step) service session key (new at this step)
What Defenders See
The Security log on dc-01 shows event 4769 for svc-backup with Ticket Encryption Type 0x17, though its Available Keys include AES, among many SPNs asked for by WS-042$.
Hooks into Kerberos TGS Reply
Step 4 of 4: Offline Guessing
Offline, away from the network
The part of svc-backup's ticket sealed with its key is guessed against offline. A guess that opens it is the password.
Keys
- Offline now holds svc-backup key (new at this step)
What Defenders See
No log on any machine in the domain records this step, because it happens offline.
Needs First
What the attacker must already hold for this attack to be possible.
- A Domain AccountAny domain account, or code running as SYSTEM on a domain-joined machine.
Comes From
- Domain Account: Password Spraying
Gives the Attacker
What running it hands the attacker to use next.
- A PasswordThe service account's password, and with it whatever that account can reach.
- A Service's KeyThe service account's keys, which seal every ticket to its services.
Leads To
- Password: Pass-the-Hash, Overpass-the-Hash
- Service Key: Silver Ticket
What Defenders See
What this attack leaves for a defender to find, and what to read in each. None of it is proof on its own, so treat each as a lead and confirm it against the rest.
| Event and Log | Written On | Look For | Switch It On |
|---|---|---|---|
| 4769 A Kerberos service ticket was requested (opens in a new tab) Security log | Domain controllers | Ticket Encryption Type 0x17 for a user account whose Available Keys include AES, or one account asking for many SPNs at once.TGS Reply: The Service Ticket explains how to read it. | Audit Kerberos Service Ticket Operations |
| 201 to 209 The Key Distribution Center detected <Cipher Name> usage that will be unsupported in enforcement phase (opens in a new tab) System log | Domain controllers | Since April 2026, 203 marks a refused request offering only RC4 to an account with no encryption types set, though svc-backup, set to allow RC4, raises none. | Domain controllers with the January 2026 or later updates (KB5073381) |
What It Looks Like
One event from the worked example, decoded field by field, so you can see what to read in it and what each value means.
4769 A Kerberos service ticket was requested
In the Security log on dc-01,
WS-042$ asks for a ticket to svc-backup's service at 22:03 on 14 Oct, five minutes after PowerShell ran on ws-042.
The requester, ws-042's computer account, the identity SYSTEM and network services use there. A workstation asking for a user account's service ticket is unusual.
As Windows writes it:
Account NameWS-042$@CORP.EXAMPLEThe account that holds the SPN backup/srv-fin-01.corp.example, a user account whose password a person set, and whose key seals this ticket.
As Windows writes it:
Service Namesvc-backupws-042, the foothold. BAM there shows PowerShell last ran at 21:58.
As Windows writes it:
Client Address::ffff:192.0.2.42RC4, so the ticket is sealed with svc-backup's NT hash, the quickest form to guess against.
As Windows writes it:
Ticket Encryption Type0x17AES keys exist, so the ticket could have been AES. RC4 means the request asked for it and svc-backup still allows it.
As Windows writes it:
Available KeysAES-SHA1, RC4The ticket was issued.
As Windows writes it:
Failure Code0x0
Defender for Identity Alerts
Where Defender for Identity runs, its sensors raise these from what they read on the servers they are installed on, domain controllers above all. Each names what it flags, which is a lead to confirm, not proof on its own.
- Possible Kerberoasting attack (opens in a new tab)Ticket requests that fit Kerberoasting, seen on the DCs.
- Suspected Kerberos SPN exposure (opens in a new tab)Service accounts enumerated and their tickets requested.
- Possible Kerberoasting LDAP reconnaissance (opens in a new tab)The LDAP search for accounts with an SPN that usually comes first.
- Possible SPN enumeration via LDAP (opens in a new tab)SPN scanning over LDAP.
- Security principal reconnaissance (LDAP) (opens in a new tab)LDAP reconnaissance of accounts and groups, often the first phase.
- Honeytoken was queried via LDAP (opens in a new tab)An LDAP query that touched a decoy account.
Blind Spots
Where this attack leaves little or nothing to see, so a quiet log is not read as an all-clear.
- The guessing happens offline, so nothing is logged while the password falls, and a request in AES leaves no RC4 sign at all.
- Volume alone misses a quiet Kerberoast, so alert on RC4 tickets, decoy SPNs and SPN searches too.
Look for It on a Machine
The Registry keys on an endpoint that hold a trace of this, each opening its own page.
Hunt It
The query to run in each tool, and how well each one sees this attack. Pick the tool you use, and the others load their query when you open them.
Needs Defender for Identity sensors on every DC. An alert shows requests or searches that fit Kerberoasting, not that a password fell, and each ticket's encryption type is only in 4769, which this table does not hold.
// Kerberoasting and SPN search alerts from Defender for Identity, with the accounts, devices and addresses involvedAlertEvidence| where Timestamp > ago( 30d)| where Title has "Kerberoasting" or Title in~ ( "Suspected Kerberos SPN exposure", "Suspicious Kerberos SPN request", "Possible SPN enumeration via LDAP", "Possible SPN enumeration via ADWS")| project Timestamp, Title, EntityType, EvidenceRole, AccountName, DeviceName, RemoteIP| order by Timestamp descHow to Prevent It
The controls that break this attack, each with how it helps here and, where the Registry topic has it, where to check it on a machine.
Group managed service accounts (opens in a new tab)
Run services as group managed service accounts, whose long random passwords Windows changes itself.
Delegated managed service accounts (opens in a new tab)
On Windows Server 2025, move a service account to a delegated managed service account.
AES only for Kerberos (opens in a new tab)
Allow only AES on service accounts and retire RC4. DCs with the April 2026 or later updates already assume AES for accounts with no setting.
Microsoft Entra Password Protection (opens in a new tab)
Where a person must set a service password, reject the guessable ones.
Honeytoken accounts (opens in a new tab)
Keep a decoy account with an SPN that nothing uses, so any ticket request or search for it stands out.
Sources
- MITRE ATT&CK T1558.003: Steal or Forge Kerberos Tickets: Kerberoasting (opens in a new tab)
- Microsoft Security Blog: guidance to help mitigate Kerberoasting (opens in a new tab)
- Microsoft Learn: detect and remediate RC4 usage in Kerberos (opens in a new tab)
- Microsoft Support: Kerberos RC4 changes for CVE-2026-20833 (KB5073381) (opens in a new tab)
- Microsoft Learn: event 4769, a Kerberos service ticket was requested (opens in a new tab)
- [MS-KILE]: the TGS exchange at the KDC (opens in a new tab)