MITRE ATT&CKsub-technique
T1558.005 Ccache Files
- Domain
- enterprise
- Tactics
- Credential Access
- Platforms
- Linux, macOS
- Version
- 1.0
- Created
- 2024-09-17
Description
Adversaries may attempt to steal Kerberos tickets stored in credential cache files (or ccache). These files are used for short term storage of a user's active session credentials. The ccache file is created upon user authentication and allows for access to multiple services without the user having to re-enter credentials.
The /etc/krb5.conf configuration file and the KRB5CCNAME environment variable are used to set the storage location for ccache entries. On Linux, credentials are typically stored in the `/tmp` directory with a naming format of `krb5cc_%UID%` or `krb5.ccache`. On macOS, ccache entries are stored by default in memory with an `API:{uuid}` naming scheme. Typically, users interact with ticket storage using kinit, which obtains a Ticket-Granting-Ticket (TGT) for the principal; klist, which lists obtained tickets currently held in the credentials cache; and other built-in binaries.
Adversaries can collect tickets from ccache files stored on disk and authenticate as the current user without their password to perform Pass the Ticket attacks. Adversaries can also use these tickets to impersonate legitimate users with elevated privileges to perform Privilege Escalation. Tools like Kekeo can also be used by adversaries to convert ccache files to Windows format for further Lateral Movement. On macOS, adversaries may use open-source tools or the Kerberos framework to interact with ccache files and extract TGTs or Service Tickets via lower-level APIs.
Related
Subtechnique of · MITRE ATT&CK (1)
- T1558 Steal or Forge Kerberos Tickets technique
Tactic · MITRE ATT&CK (1)
- TA0006 Credential Access tactic
Referenced by MITRE ATT&CK · mitigates (2)
Referenced by MITRE ATT&CK · uses (1)
- S0357 Impacket software (tool)
Referenced by Compliance · mitigates (10)
- NIST-AC-2 Account Management NIST 800-53 control
- NIST-AC-3 Access Enforcement NIST 800-53 control
- NIST-AC-6 Least Privilege NIST 800-53 control
- NIST-CA-7 Continuous Monitoring NIST 800-53 control
- NIST-IA-2 Identification and Authentication (Organizational Users) NIST 800-53 control
- NIST-IA-5 Authenticator Management NIST 800-53 control
- NIST-SC-4 Information in Shared System Resources NIST 800-53 control
- NIST-SI-12 Information Management and Retention NIST 800-53 control
- NIST-SI-4 System Monitoring NIST 800-53 control
- NIST-SI-7 Software, Firmware, and Information Integrity NIST 800-53 control
References
- https://www.binarydefense.com/resources/blog/shining-a-light-in-the-dark-how-binary-defense-uncovered-an-apt-lurking-in-shadows-of-it/ Binary Defense Kerberos Linux
- https://adepts.of0x.cc/kerberos-thievery-linux/ Kerberos GNU/Linux
- https://github.com/gentilkiwi/kekeo Kekeo
- https://posts.specterops.io/when-kirbi-walks-the-bifrost-4c727807744f SpectorOps Bifrost Kerberos macOS 2019
- https://labs.portcullis.co.uk/download/eu-18-Wadhwa-Brown-Where-2-worlds-collide-Bringing-Mimikatz-et-al-to-UNIX.pdf Brining MimiKatz to Unix
- https://www.fireeye.com/blog/threat-research/2020/04/kerberos-tickets-on-linux-red-teams.html Linux Kerberos Tickets