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. Alternatively, an adversary may intercept a message from a legitimate sender and attempt to make it look like the message comes from them without changing its content. The latter form of this attack can be used to hijack credentials from legitimate users. Identity Spoofing attacks need not be limited to transmitted messages - any resource that is associated with an identity (for example, a file with a signature) can be the target of an attack where the adversary attempts to change the apparent identity. This attack differs from Content Spoofing attacks where the adversary does not wish to change the apparent identity of the message but instead wishes to change what the message says. In an Identity Spoofing attack, the adversary is attempting to change the identity of the content. |
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. Kerberos is the default authentication method for Windows domains and is utilized for numerous authentication purposes. Attacks leveraging trusted Kerberos credentials can result in numerous consequences, depending on what Kerberos credential is stolen. For example, Kerberos service accounts are typically used to run services or scheduled tasks pertaining to authentication. However, these credentials are often weak and never expire, in addition to possessing local or domain administrator privileges. If an adversary is able to acquire these credentials, it could result in lateral movement within the Windows domain or access to any resources the service account is privileged to access, among other things. Kerberos credentials can be obtained by an adversary via methods such as system breaches, network sniffing attacks, and/or brute force attacks against the Kerberos service account or the hash of a service ticket. Ultimately, successful spoofing and impersonation of trusted Kerberos credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application. |
|
Taxonomy: ATTACK |
Entry ID
|
Entry Name
|
1558.003 |
Steal or Forge Kerberos Tickets:Kerberoasting |
|