ID | Name |
---|---|
T1056.001 | Keylogging |
T1056.002 | GUI Input Capture |
T1056.003 | Web Portal Capture |
T1056.004 | Credential API Hooking |
Adversaries may log user keystrokes to intercept credentials as the user types them. Keylogging is likely to be used to acquire credentials for new access opportunities when OS Credential Dumping efforts are not effective, and may require an adversary to intercept keystrokes on a system for a substantial period of time before credentials can be successfully captured. In order to increase the likelihood of capturing credentials quickly, an adversary may also perform actions such as clearing browser cookies to force users to reauthenticate to systems.[1]
Keylogging is the most prevalent type of input capture, with many different ways of intercepting keystrokes.[2] Some methods include:
ID | Name | Description |
---|---|---|
C0028 | 2015 Ukraine Electric Power Attack |
During the 2015 Ukraine Electric Power Attack, Sandworm Team gathered account credentials via a BlackEnergy keylogger plugin. [4][5] |
S0045 | ADVSTORESHELL |
ADVSTORESHELL can perform keylogging.[6][7] |
S0331 | Agent Tesla |
Agent Tesla can log keystrokes on the victim’s machine.[8][9][10][11][12] |
G0130 | Ajax Security Team |
Ajax Security Team has used CWoolger and MPK, custom-developed malware, which recorded all keystrokes on an infected system.[13] |
S0622 | AppleSeed |
AppleSeed can use |
G0007 | APT28 | |
G0022 | APT3 |
APT3 has used a keylogging tool that records keystrokes in encrypted files.[19] |
G0050 | APT32 |
APT32 has abused the PasswordChangeNotify to monitor for and capture account password changes.[20] |
G0082 | APT38 |
APT38 used a Trojan called KEYLIME to capture keystrokes from the victim’s machine.[21] |
G0087 | APT39 | |
G0096 | APT41 |
APT41 used a keylogger called GEARSHIFT on a target system.[24] |
G1023 | APT5 |
APT5 has used malware with keylogging capabilities to monitor the communications of targeted entities.[25][26] |
S0373 | Astaroth | |
S1087 | AsyncRAT |
AsyncRAT can capture keystrokes on the victim’s machine.[28] |
S0438 | Attor |
One of Attor's plugins can collect user credentials via capturing keystrokes and can capture keystrokes pressed within the window of the injected process.[29] |
S0414 | BabyShark |
BabyShark has a PowerShell-based remote administration ability that can implement a PowerShell or C# based keylogger.[30] |
S0128 | BADNEWS |
When it first starts, BADNEWS spawns a new thread to log keystrokes.[31][32][33] |
S0337 | BadPatch | |
S0234 | Bandook | |
S0017 | BISCUIT | |
S0089 | BlackEnergy |
BlackEnergy has run a keylogger plug-in on a victim.[37] |
S0454 | Cadelspy |
Cadelspy has the ability to log keystrokes on the compromised host.[38] |
S0030 | Carbanak |
Carbanak logs key strokes for configured processes and sends them back to the C2 server.[39][40] |
S0348 | Cardinal RAT |
Cardinal RAT can log keystrokes.[41] |
S0261 | Catchamas |
Catchamas collects keystrokes from the victim’s machine.[42] |
S1149 | CHIMNEYSWEEP |
CHIMNEYSWEEP has the ability to support keylogging.[43] |
S0023 | CHOPSTICK | |
S0660 | Clambling |
Clambling can capture keystrokes on a compromised host.[45][46] |
S0154 | Cobalt Strike |
Cobalt Strike can track key presses with a keylogger module.[47][48][49] |
S0338 | Cobian RAT |
Cobian RAT has a feature to perform keylogging on the victim’s machine.[50] |
S0050 | CosmicDuke |
CosmicDuke uses a keylogger.[51] |
S0115 | Crimson |
Crimson can use a module to perform keylogging on compromised hosts.[52][53][54] |
S0625 | Cuba |
Cuba logs keystrokes via polling by using |
C0029 | Cutting Edge |
During Cutting Edge, threat actors modified a JavaScript file on the Web SSL VPN component of Ivanti Connect Secure devices to keylog credentials.[56] |
S0334 | DarkComet | |
S1111 | DarkGate |
DarkGate will spawn a thread on execution to capture all keyboard events and write them to a predefined log file.[58] |
G0012 | Darkhotel | |
S1066 | DarkTortilla |
DarkTortilla can download a keylogging module.[60] |
S0673 | DarkWatchman |
DarkWatchman can track key presses with a keylogger module.[61] |
S0187 | Daserf | |
S0021 | Derusbi | |
S0213 | DOGCALL | |
S0567 | Dtrack | |
S0038 | Duqu | |
S1159 | DUSTTRAP | |
S0062 | DustySky | |
S0593 | ECCENTRICBANDWAGON |
ECCENTRICBANDWAGON can capture and store keystrokes.[71] |
S0363 | Empire |
Empire includes keylogging capabilities for Windows, Linux, and macOS systems.[72] |
S0152 | EvilGrab | |
S0569 | Explosive |
Explosive has leveraged its keylogging capabilities to gain access to administrator accounts on target servers.[74][75] |
S0076 | FakeM | |
G1016 | FIN13 |
FIN13 has logged the keystrokes of victims to escalate privileges.[77] |
G0085 | FIN4 |
FIN4 has captured credentials via fake Outlook Web App (OWA) login pages and has also used a .NET based keylogger.[78][79] |
S0381 | FlawedAmmyy |
FlawedAmmyy can collect keyboard events.[80] |
S1044 | FunnyDream |
The FunnyDream Keyrecord component can capture keystrokes.[81] |
S0410 | Fysbis | |
S0032 | gh0st RAT | |
S0531 | Grandoreiro |
Grandoreiro can log keystrokes on the victim's machine.[85] |
S0342 | GreyEnergy |
GreyEnergy has a module to harvest pressed keystrokes.[86] |
G0043 | Group5 |
Malware used by Group5 is capable of capturing keystrokes.[87] |
S0170 | Helminth |
The executable version of Helminth has a module to log keystrokes.[88] |
G1001 | HEXANE |
HEXANE has used a PowerShell-based keylogger named |
S0070 | HTTPBrowser |
HTTPBrowser is capable of capturing keystrokes on victims.[91] |
S0434 | Imminent Monitor |
Imminent Monitor has a keylogging module.[92] |
S0260 | InvisiMole |
InvisiMole can capture keystrokes on a compromised host.[93] |
S0201 | JPIN | |
S0283 | jRAT |
jRAT has the capability to log keystrokes from the victim’s machine, both offline and online.[95][96] |
S0088 | Kasidet | |
G0004 | Ke3chang | |
S0387 | KeyBoy |
KeyBoy installs a keylogger for intercepting credentials and keystrokes.[100] |
S0526 | KGH_SPY |
KGH_SPY can perform keylogging by polling the |
G0094 | Kimsuky |
Kimsuky has used a PowerShell-based keylogger as well as a tool called MECHANICAL to log keystrokes.[102][103][104][105][1][15] |
S0437 | Kivars |
Kivars has the ability to initiate keylogging on the infected host.[106] |
S0356 | KONNI | |
G0032 | Lazarus Group |
Lazarus Group malware KiloAlfa contains keylogging functionality.[108][109] |
S0447 | Lokibot |
Lokibot has the ability to capture input on the compromised host via keylogging.[110] |
S0409 | Machete |
Machete logs keystrokes from the victim’s machine.[111][112][113][114] |
S1016 | MacMa |
MacMa can use Core Graphics Event Taps to intercept user keystrokes from any text input field and saves them to text files. Text input fields include Spotlight, Finder, Safari, Mail, Messages, and other apps that have text fields for passwords.[115][116] |
S0282 | MacSpy | |
G0059 | Magic Hound |
Magic Hound malware is capable of keylogging.[118] |
S0652 | MarkiRAT |
MarkiRAT can capture all keystrokes on a compromised host.[119] |
S0167 | Matryoshka |
Matryoshka is capable of keylogging.[120][121] |
G0045 | menuPass |
menuPass has used key loggers to steal usernames and passwords.[122] |
S1059 | metaMain | |
S0455 | Metamorfo |
Metamorfo has a command to launch a keylogger and capture keystrokes on the victim’s machine.[125][126] |
S1146 | MgBot |
MgBot includes keylogger payloads focused on the QQ chat application.[127][128] |
S0339 | Micropsia | |
S1122 | Mispadu |
Mispadu can log keystrokes on the victim's machine.[130][131][132] |
S0149 | MoonWind | |
S0336 | NanoCore |
NanoCore can perform keylogging on the victim’s machine.[134] |
S0247 | NavRAT | |
S0033 | NetTraveler |
NetTraveler contains a keylogger.[136] |
S0198 | NETWIRE | |
S1090 | NightClub | |
S0385 | njRAT | |
G0049 | OilRig |
OilRig has used keylogging tools called KEYPUNCH and LONGWATCH.[145][146] |
S0439 | Okrum |
Okrum was seen using a keylogger tool to capture keystrokes. [147] |
C0014 | Operation Wocao |
During Operation Wocao, threat actors obtained the password for the victim's password manager via a custom keylogger.[148] |
S0072 | OwaAuth |
OwaAuth captures and DES-encrypts credentials before writing the username and password to a log file, |
S1050 | PcShare | |
S0643 | Peppy | |
G0068 | PLATINUM | |
S0013 | PlugX |
PlugX has a module for capturing keystrokes per process including window titles.[149] |
S0428 | PoetRAT |
PoetRAT has used a Python tool named klog.exe for keylogging.[150] |
S0012 | PoisonIvy | |
S0378 | PoshC2 |
PoshC2 has modules for keystroke logging and capturing credentials from spoofed Outlook authentication messages.[153] |
S1012 | PowerLess | |
S0194 | PowerSploit |
PowerSploit's |
S0113 | Prikormka |
Prikormka contains a keylogger module that collects keystrokes and the titles of foreground windows.[157] |
S0279 | Proton | |
S0192 | Pupy |
Pupy uses a keylogger to capture keystrokes it then sends back to the server after it is stopped.[158] |
S0650 | QakBot |
QakBot can capture keystrokes on a compromised host.[159][160][161] |
S0262 | QuasarRAT | |
S0662 | RCSession |
RCSession has the ability to capture keystrokes on a compromised host.[45][164] |
S0019 | Regin | |
S0332 | Remcos | |
S0375 | Remexi |
Remexi gathers and exfiltrates keystrokes from the machine.[168] |
S0125 | Remsec | |
S0379 | Revenge RAT |
Revenge RAT has a plugin for keylogging.[171][172] |
S0240 | ROKRAT |
ROKRAT can use |
S0090 | Rover | |
S0148 | RTM |
RTM can record keystrokes from both the keyboard and virtual keyboard.[176][177] |
S0253 | RunningRAT |
RunningRAT captures keystrokes and sends them back to the C2 server.[178] |
G0034 | Sandworm Team |
Sandworm Team has used a keylogger to capture keystrokes by using the SetWindowsHookEx function.[179] |
S0692 | SILENTTRINITY |
SILENTTRINITY has a keylogging capability.[180] |
S0533 | SLOTHFULMEDIA |
SLOTHFULMEDIA has a keylogging capability.[181] |
S0649 | SMOKEDHAM | |
G0054 | Sowbug | |
S0058 | SslMM |
SslMM creates a new thread implementing a keylogging facility using Windows Keyboard Accelerators.[185] |
S0018 | Sykipot |
Sykipot contains keylogging functionality to steal passwords.[186] |
S0467 | TajMahal |
TajMahal has the ability to capture keystrokes on an infected host.[187] |
S0595 | ThiefQuest |
ThiefQuest uses the |
G0027 | Threat Group-3390 |
Threat Group-3390 actors installed a credential logger on Microsoft Exchange servers. Threat Group-3390 also leveraged the reconnaissance framework, ScanBox, to capture keystrokes.[91][189][190] |
S0004 | TinyZBot | |
G0131 | Tonto Team |
Tonto Team has used keylogging tools in their operations.[192] |
S0094 | Trojan.Karagany |
Trojan.Karagany can capture keystrokes on a compromised host.[193] |
S0130 | Unknown Logger |
Unknown Logger is capable of recording keystrokes.[31] |
S0257 | VERMIN | |
G1017 | Volt Typhoon |
Volt Typhoon has created and accessed a file named rult3uil.log on compromised domain controllers to capture keypresses and command execution.[195] |
S0670 | WarzoneRAT |
WarzoneRAT has the capability to install a live and offline keylogger, including through the use of the |
S0161 | XAgentOSX |
XAgentOSX contains keylogging functionality that will monitor for active application windows and write them to the log, it can handle special characters, and it will buffer by default 50 characters before sending them out over the C2 infrastructure.[198] |
S0248 | yty | |
S0330 | Zeus Panda |
Zeus Panda can perform keylogging on the victim’s machine by hooking the functions TranslateMessage and WM_KEYDOWN.[200] |
S0412 | ZxShell |
ZxShell has a feature to capture a remote computer's keystrokes using a keylogger.[24][201] |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0027 | Driver | Driver Load |
Monitor for unusual kernel driver installation activity |
DS0009 | Process | OS API Execution |
Monitor for API calls to the SetWindowsHook, GetKeyState, and GetAsyncKeyState.[2] and look for common keylogging API calls. API calls alone are not an indicator of keylogging, but may provide behavioral data that is useful when combined with other information such as new files written to disk and unusual processes. |
DS0024 | Windows Registry | Windows Registry Key Modification |
Monitor for changes made to windows registry keys or values for unexpected modifications |