Adversaries may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password, from the operating system and software. Credentials can then be used to perform Lateral Movement and access restricted information.
Several of the tools mentioned in associated sub-techniques may be used by both adversaries and professional security testers. Additional custom tools likely exist as well.
ID | Name | Description |
---|---|---|
G0007 | APT28 |
APT28 regularly deploys both publicly available (ex: Mimikatz) and custom password retrieval tools on victims.[1][2][3] |
G0050 | APT32 | |
G0087 | APT39 |
APT39 has used different versions of Mimikatz to obtain credentials.[6] |
G0001 | Axiom | |
S0030 | Carbanak | |
G0101 | Frankenstein |
Frankenstein has harvested credentials from the victim's machine using Empire.[9] |
S0232 | HOMEFRY | |
G0065 | Leviathan |
Leviathan has used publicly available tools to dump password hashes, including HOMEFRY.[11] |
S0052 | OnionDuke | |
S0048 | PinchDuke |
PinchDuke steals credentials from compromised hosts. PinchDuke's credential stealing functionality is believed to be based on the source code of the Pinch credential stealing malware (also known as LdPinch). Credentials targeted by PinchDuke include ones associated many sources such as WinInet Credential Cache, and Lightweight Directory Access Protocol (LDAP).[12] |
G0033 | Poseidon Group |
Poseidon Group conducts credential dumping on victims, with a focus on obtaining credentials belonging to domain and database servers.[13] |
S0379 | Revenge RAT |
Revenge RAT has a plugin for credential harvesting.[14] |
G0054 | Sowbug | |
G0039 | Suckfly |
Suckfly used a signed credential-dumping tool to obtain victim account credentials.[16] |
G0131 | Tonto Team |
Tonto Team has used a variety of credential dumping tools.[17] |
S0094 | Trojan.Karagany |
Trojan.Karagany can dump passwords and save them into |
ID | Mitigation | Description |
---|---|---|
M1015 | Active Directory Configuration |
Manage the access control list for "Replicating Directory Changes" and other permissions associated with domain controller replication. [19] [20] Consider adding users to the "Protected Users" Active Directory security group. This can help limit the caching of users' plaintext credentials.[21] |
M1040 | Behavior Prevention on Endpoint |
On Windows 10, enable Attack Surface Reduction (ASR) rules to secure LSASS and prevent credential stealing. [22] |
M1043 | Credential Access Protection |
With Windows 10, Microsoft implemented new protections called Credential Guard to protect the LSA secrets that can be used to obtain credentials through forms of credential dumping. It is not configured by default and has hardware and firmware system requirements. [23] It also does not protect against all forms of credential dumping. [24] |
M1041 | Encrypt Sensitive Information |
Ensure Domain Controller backups are properly secured. |
M1028 | Operating System Configuration |
Consider disabling or restricting NTLM.[25] Consider disabling WDigest authentication.[26] |
M1027 | Password Policies |
Ensure that local administrator accounts have complex, unique passwords across all systems on the network. |
M1026 | Privileged Account Management |
Windows:Do not put user or admin domain accounts in the local administrator groups across systems unless they are tightly controlled, as this is often equivalent to having a local administrator account with the same password on all systems. Follow best practices for design and administration of an enterprise network to limit privileged account use across administrative tiers.[27] Linux:Scraping the passwords from memory requires root privileges. Follow best practices in restricting access to privileged accounts to avoid hostile programs from accessing such sensitive regions of memory. |
M1025 | Privileged Process Integrity |
On Windows 8.1 and Windows Server 2012 R2, enable Protected Process Light for LSA.[28] |
M1017 | User Training |
Limit credential overlap across accounts and systems by training users and administrators not to use the same password for multiple accounts. |
Monitor for unexpected processes interacting with lsass.exe.[29] Common credential dumpers such as Mimikatz access the LSA Subsystem Service (LSASS) process by opening the process, locating the LSA secrets key, and decrypting the sections in memory where credential details are stored. Credential dumpers may also use methods for reflective Process Injection to reduce potential indicators of malicious activity.
Hash dumpers open the Security Accounts Manager (SAM) on the local file system (%SystemRoot%/system32/config/SAM) or create a dump of the Registry SAM key to access stored account password hashes. Some hash dumpers will open the local file system as a device and parse to the SAM table to avoid file access defenses. Others will make an in-memory copy of the SAM table before reading hashes. Detection of compromised Valid Accounts in-use by adversaries may help as well.
On Windows 8.1 and Windows Server 2012 R2, monitor Windows Logs for LSASS.exe creation to verify that LSASS started as a protected process.
Monitor processes and command-line arguments for program execution that may be indicative of credential dumping. Remote access tools may contain built-in features or incorporate existing tools like Mimikatz. PowerShell scripts also exist that contain credential dumping functionality, such as PowerSploit's Invoke-Mimikatz module, [30] which may require additional logging features to be configured in the operating system to collect necessary information for analysis.
Monitor domain controller logs for replication requests and other unscheduled activity possibly associated with DCSync. [31] [32] [33] Note: Domain controllers may not log replication requests originating from the default domain controller account. [34]. Also monitor for network protocols [31] [35] and other replication requests [36] from IPs not associated with known domain controllers. [19]
To obtain the passwords and hashes stored in memory, processes must open a maps file in the /proc filesystem for the process being analyzed. This file is stored under the path /proc/
, where the
directory is the unique pid of the program being interrogated for such authentication data. The AuditD monitoring tool, which ships stock in many Linux distributions, can be used to watch for hostile processes opening this file in the proc file system, alerting on the pid, process name, and arguments of such programs.