| ID | Name |
|---|---|
| T1558.001 | Golden Ticket |
| T1558.002 | Silver Ticket |
| T1558.003 | Kerberoasting |
| T1558.004 | AS-REP Roasting |
| T1558.005 | Ccache Files |
Adversaries may abuse a valid Kerberos ticket-granting ticket (TGT) or sniff network traffic to obtain a ticket-granting service (TGS) ticket that may be vulnerable to Brute Force.[1][2]
Service principal names (SPNs) are used to uniquely identify each instance of a Windows service. To enable authentication, Kerberos requires that SPNs be associated with at least one service logon account (an account specifically tasked with running a service[3]).[4][5][6][7]
Adversaries possessing a valid Kerberos ticket-granting ticket (TGT) may request one or more Kerberos ticket-granting service (TGS) service tickets for any SPN from a domain controller (DC).[1][2] Portions of these tickets may be encrypted with the RC4 algorithm, meaning the Kerberos 5 TGS-REP etype 23 hash of the service account associated with the SPN is used as the private key and is thus vulnerable to offline Brute Force attacks that may expose plaintext credentials.[2][1] [7]
This same behavior could be executed using service tickets captured from network traffic.[2]
Cracked hashes may enable Persistence, Privilege Escalation, and Lateral Movement via access to Valid Accounts.[6]
| ID | Name | Description |
|---|---|---|
| S1063 | Brute Ratel C4 |
Brute Ratel C4 can decode Kerberos 5 tickets and convert it to hashcat format for subsequent cracking.[8] |
| S0363 | Empire |
Empire uses PowerSploit's |
| G0046 | FIN7 |
FIN7 has used Kerberoasting PowerShell commands such as, |
| S0357 | Impacket |
Impacket modules like GetUserSPNs can be used to get Service Principal Names (SPNs) for user accounts. The output is formatted to be compatible with cracking tools like John the Ripper and Hashcat.[12] |
| G0119 | Indrik Spider |
Indrik Spider has conducted Kerberoasting attacks using a module from GitHub.[13] |
| C0049 | Leviathan Australian Intrusions |
Leviathan used Kerberoasting techniques during Leviathan Australian Intrusions.[14] |
| C0014 | Operation Wocao |
During Operation Wocao, threat actors used PowerSploit's |
| S0194 | PowerSploit |
PowerSploit's |
| S1071 | Rubeus |
Rubeus can use the |
| S0692 | SILENTTRINITY |
SILENTTRINITY contains a module to conduct Kerberoasting.[18] |
| C0024 | SolarWinds Compromise |
During the SolarWinds Compromise, APT29 obtained Ticket Granting Service (TGS) tickets for Active Directory Service Principle Names to crack offline.[19] |
| G0102 | Wizard Spider |
Wizard Spider has used Rubeus, MimiKatz Kerberos module, and the Invoke-Kerberoast cmdlet to steal AES hashes.[20][21][22][23][24] |
| ID | Mitigation | Description |
|---|---|---|
| M1041 | Encrypt Sensitive Information |
Enable AES Kerberos encryption (or another stronger encryption algorithm), rather than RC4, where possible.[2] |
| M1027 | Password Policies |
Ensure strong password length (ideally 25+ characters) and complexity for service accounts and that these passwords periodically expire.[2] Also consider using Group Managed Service Accounts or another third party product such as password vaulting.[2] |
| M1026 | Privileged Account Management |
Limit service accounts to minimal required privileges, including membership in privileged groups such as Domain Administrators.[2] |
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0157 | Detect Kerberoasting Attempts (T1558.003) | AN0444 |
Detects Kerberoasting attempts by monitoring for anomalous Kerberos TGS requests (Event ID 4769) with RC4 encryption (etype 0x17), accounts requesting an unusual number of service tickets in a short period, or service accounts targeted outside normal usage baselines. Also correlates suspicious process activity (e.g., Mimikatz invoking LSASS access) with Kerberos ticket anomalies. |