Exploitation for Credential Access

Adversaries may exploit software vulnerabilities in an attempt to collect credentials. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. 

Credentialing and authentication mechanisms may be targeted for exploitation by adversaries as a means to gain access to useful credentials or circumvent the process to gain authenticated access to systems. One example of this is MS14-068, which targets Kerberos and can be used to forge Kerberos tickets using domain user permissions.[1][2] Another example of this is replay attacks, in which the adversary intercepts data packets sent between parties and then later replays these packets. If services don't properly validate authentication requests, these replayed packets may allow an adversary to impersonate one of the parties and gain unauthorized access or privileges.[3][4][5]

Such exploitation has been demonstrated in cloud environments as well. For example, adversaries have exploited vulnerabilities in public cloud infrastructure that allowed for unintended authentication token creation and renewal.[6]

Exploitation for credential access may also result in Privilege Escalation depending on the process targeted or credentials obtained.

ID: T1212
Sub-techniques:  No sub-techniques
Platforms: Azure AD, Linux, Windows, macOS
Contributors: John Lambert, Microsoft Threat Intelligence Center; Mohit Rathore
Version: 1.5
Created: 18 April 2018
Last Modified: 15 October 2023

Mitigations

ID Mitigation Description
M1013 Application Developer Guidance

Application developers should consider taking measures to validate authentication requests by enabling one-time passwords, providing timestamps or sequence numbers for messages sent, using digital signatures, and/or using random session keys.[4][3]

M1048 Application Isolation and Sandboxing

Make it difficult for adversaries to advance their operation through exploitation of undiscovered or unpatched vulnerabilities by using sandboxing. Other types of virtualization and application microsegmentation may also mitigate the impact of some types of exploitation. Risks of additional exploits and weaknesses in these systems may still exist.[7]

M1050 Exploit Protection

Security applications that look for behavior used during exploitation such as Windows Defender Exploit Guard (WDEG) and the Enhanced Mitigation Experience Toolkit (EMET) can be used to mitigate some exploitation behavior.[8] Control flow integrity checking is another way to potentially identify and stop a software exploit from occurring.[9] Many of these protections depend on the architecture and target application binary for compatibility and may not work for software targeted for defense evasion.

M1019 Threat Intelligence Program

Develop a robust cyber threat intelligence capability to determine what types and levels of threat may use software exploits and 0-days against a particular organization.

M1051 Update Software

Update software regularly by employing patch management for internal enterprise endpoints and servers.

Detection

ID Data Source Data Component Detects
DS0015 Application Log Application Log Content

Detecting software exploitation may be difficult depending on the tools available. Software exploits may not always succeed or may cause the exploited process to become unstable or crash.

DS0009 Process Process Creation

Monitor for abnormal process creations, such as a Command and Scripting Interpreter spawning from a potentially exploited application. Also look for behavior on the system that might indicate successful compromise, such as abnormal behavior of processes.

DS0002 User Account User Account Authentication

Credential resources obtained through exploitation may be detectable in use if they are not normally used or seen.

References