ID | Name |
---|---|
T1417.001 | Keylogging |
T1417.002 | GUI Input Capture |
Adversaries may log user keystrokes to intercept credentials or other information from the user as the user types them.
Some methods of keylogging include:
AccessibilityService
class, overriding the onAccessibilityEvent
method, and listening for the AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED
event type. The event object passed into the function will contain the data that the user typed. *Additional methods of keylogging may be possible if root access is available. ID | Name | Description |
---|---|---|
S0422 | Anubis |
Anubis has a keylogger that works in every application installed on the device.[2] |
S1079 | BOULDSPY | |
S1094 | BRATA | |
S0655 | BusyGasper |
BusyGasper can collect every user screen tap and compare the input to a hardcoded list of coordinates to translate the input to a character.[7] |
S0480 | Cerberus | |
S1083 | Chameleon |
Chameleon can log keystrokes and gather the lock screen password of an infected device by abusing Accessibility Services.[9] |
S1054 | Drinik |
Drinik can use keylogging to steal user banking credentials.[10] |
S1092 | Escobar | |
S0478 | EventBot |
EventBot can abuse Android’s accessibility service to record the screen PIN.[12] |
S0522 | Exobot |
Exobot has used web injects to capture users’ credentials.[13] |
S0408 | FlexiSpy |
FlexiSpy can record keystrokes and analyze them for keywords.[14] |
S0406 | Gustuff |
Gustuff abuses accessibility features to intercept all interactions between a user and the device.[15] |
S0407 | Monokle | |
S1062 | S.O.V.A. | |
S1055 | SharkBot |
SharkBot can use accessibility event logging to steal data in text fields.[18] |
G0112 | Windshift |
Windshift has included keylogging capabilities as part of Operation ROCK.[19] |
ID | Mitigation | Description |
---|---|---|
M1012 | Enterprise Policy |
When using Samsung Knox, third-party keyboards must be explicitly added to an allow list in order to be available to the end-user.[20] |
M1011 | User Guidance |
Users should be wary of granting applications dangerous or privacy-intrusive permissions, such as keyboard registration or accessibility service access. |
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0041 | Application Vetting | Permissions Requests |
Application vetting services can look for applications requesting the |
DS0042 | User Interface | System Settings |
On Android, the user can view and manage which applications have third-party keyboard access through the device settings in System -> Languages & input -> Virtual keyboard. On iOS, the user can view and manage which applications have third-party keyboard access through the device settings in General -> Keyboard. |