Name |
Kerberoasting |
|
Likelyhood of attack |
Typical severity |
High |
High |
|
Summary |
Through the exploitation of how service accounts leverage Kerberos authentication with Service Principal Names (SPNs), the adversary obtains and subsequently cracks the hashed credentials of a service account target to exploit its privileges. The Kerberos authentication protocol centers around a ticketing system which is used to request/grant access to services and to then access the requested services. As an authenticated user, the adversary may request Active Directory and obtain a service ticket with portions encrypted via RC4 with the private key of the authenticated account. By extracting the local ticket and saving it disk, the adversary can brute force the hashed value to reveal the target account credentials. |
Prerequisites |
The adversary requires access as an authenticated user on the system. This attack pattern relates to elevating privileges. The adversary requires use of a third-party credential harvesting tool (e.g., Mimikatz). The adversary requires a brute force tool. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
Scan for user accounts with set SPN values |
- These can be found via Powershell or LDAP queries, as well as enumerating startup name accounts and other means.
|
2 |
Explore |
Request service tickets |
- Using user account's SPN value, request other service tickets from Active Directory
|
3 |
Experiment |
Extract ticket and save to disk |
- Certain tools like Mimikatz can extract local tickets and save them to memory/disk.
|
4 |
Exploit |
Crack the encrypted ticket to harvest plain text credentials |
- Leverage a brute force application/script on the hashed value offline until cracked. The shorter the password, the easier it is to crack.
|
|
Solutions | Monitor system and domain logs for abnormal access. Employ a robust password policy for service accounts. Passwords should be of adequate length and complexity, and they should expire after a period of time. Employ the principle of least privilege: limit service accounts privileges to what is required for functionality and no more. Enable AES Kerberos encryption (or another stronger encryption algorithm), rather than RC4, where possible. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-262 |
Not Using Password Aging |
CWE-263 |
Password Aging with Long Expiration |
CWE-294 |
Authentication Bypass by Capture-replay |
CWE-308 |
Use of Single-factor Authentication |
CWE-309 |
Use of Password System for Primary Authentication |
CWE-521 |
Weak Password Requirements |
CWE-522 |
Insufficiently Protected Credentials |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-151 |
Identity Spoofing refers to the action of assuming (i.e., taking on) the identity of some other entity (human or non-human) and then using that identity to accomplish a goal. An adversary may craft messages that appear to come from a different principle or use stolen / spoofed authentication credentials. |
CAPEC-652 |
An adversary obtains (i.e. steals or purchases) legitimate Kerberos credentials (e.g. Kerberos service account userID/password or Kerberos Tickets) with the goal of achieving authenticated access to additional systems, applications, or services within the domain. |
|
Taxonomy: ATTACK |
Entry ID
|
Entry Name
|
1558.003 |
Steal or Forge Kerberos Tickets:Kerberoasting |
|