| Domain | ID | Name | Use | |
|---|---|---|---|---|
| Enterprise | T1071 | .001 | Application Layer Protocol: Web Protocols |
PlugX can be configured to use HTTP for command and control.[7][4][8][9] PlugX has also used HTTPS for C2.[10] |
| .004 | Application Layer Protocol: DNS |
PlugX can be configured to use DNS for command and control.[4] |
||
| Enterprise | T1547 | .001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder |
PlugX adds Run key entries in the Registry to establish persistence.[7][6][11][8][12][13][1] PlugX has established persistence via the registry keys |
| Enterprise | T1059 | .003 | Command and Scripting Interpreter: Windows Command Shell |
PlugX allows actors to spawn a reverse shell on a victim.[7][6][4][8][10][14] |
| Enterprise | T1543 | .003 | Create or Modify System Process: Windows Service |
PlugX can be added as a service to establish persistence. PlugX also has a module to change service configurations as well as start, control, and delete services.[6][1][12][15][16] |
| Enterprise | T1074 | .001 | Data Staged: Local Data Staging |
PlugX has collected and staged the victim’s computer files for exfiltration.[11] |
| Enterprise | T1622 | Debugger Evasion |
PlugX has made calls to Windows API |
|
| Enterprise | T1140 | Deobfuscate/Decode Files or Information |
PlugX decompresses and decrypts itself using the Microsoft API call RtlDecompressBuffer.[6][17][9] PlugX has also decrypted its payloads in memory.[7][18][8][13] |
|
| Enterprise | T1573 | .001 | Encrypted Channel: Symmetric Cryptography | |
| Enterprise | T1480 | .002 | Execution Guardrails: Mutual Exclusion |
PlugX has leveraged a mutex in its infection process.[7][13] |
| Enterprise | T1041 | Exfiltration Over C2 Channel |
PlugX has exfiltrated stolen data and files to its C2 server.[11][14] |
|
| Enterprise | T1083 | File and Directory Discovery |
PlugX has a module to enumerate drives and find files recursively.[7][18][6][9] PlugX has also checked the path from which it is running for specific parameters prior to execution. [7][11][13] |
|
| Enterprise | T1564 | .001 | Hide Artifacts: Hidden Files and Directories |
PlugX can modify the characteristics of folders to hide them from the compromised user.[9] PlugX has also modified file attributes to hidden and system.[7][13] |
| .003 | Hide Artifacts: Hidden Window |
PlugX has the ability to execute a command on a hidden desktop.[7] |
||
| Enterprise | T1574 | .001 | Hijack Execution Flow: DLL |
PlugX has the ability to use DLL search order hijacking for installation on targeted systems.[9][14] PlugX has also used DLL side-loading to evade anti-virus.[2][4][19][12][20][17][21] PlugX has also used a legitimately signed executable to side-load a malicious payload within a DLL file.[7][18][8][14][13] |
| Enterprise | T1562 | .004 | Impair Defenses: Disable or Modify System Firewall |
PlugX has modified local firewall rules on victim machines to enable a random, high-number listening port for subsequent access and C2 activity.[22] |
| Enterprise | T1070 | .004 | Indicator Removal: File Deletion | |
| .009 | Indicator Removal: Clear Persistence |
PlugX has deleted registry keys that store data and maintained persistence.[7] |
||
| Enterprise | T1105 | Ingress Tool Transfer |
PlugX has a module to download and execute files on the compromised machine.[6][11][10][9] |
|
| Enterprise | T1056 | .001 | Input Capture: Keylogging |
PlugX has a module for capturing keystrokes per process including window titles.[6] |
| Enterprise | T1680 | Local Storage Discovery |
PlugX has collected a list of all mapped drives on the infected host.[7] |
|
| Enterprise | T1036 | .004 | Masquerading: Masquerade Task or Service |
In one instance, menuPass added PlugX as a service with a display name of "Corel Writing Tools Utility."[15] |
| .005 | Masquerading: Match Legitimate Resource Name or Location |
PlugX has been disguised as legitimate Adobe and PotPlayer files.[9] PlugX has also imitated legitimate software directories and file names through the creation and storage of a legitimate EXE and the malicious DLLs.[7][8][14][13] |
||
| Enterprise | T1112 | Modify Registry |
PlugX has a module to create, delete, or modify Registry keys.[7][6][11] |
|
| Enterprise | T1106 | Native API |
PlugX can use the Windows API functions |
|
| Enterprise | T1135 | Network Share Discovery | ||
| Enterprise | T1095 | Non-Application Layer Protocol |
PlugX can be configured to use raw TCP or UDP for command and control.[7][4] |
|
| Enterprise | T1571 | Non-Standard Port |
PlugX has used random, high-number, non-standard ports to listen for subsequent actions and C2 activities.[22] |
|
| Enterprise | T1027 | Obfuscated Files or Information |
PlugX can use API hashing and modify the names of strings to evade detection.[17][9] |
|
| .001 | Binary Padding |
PlugX has utilized junk code and opaque predicates in payloads to hinder analysis.[7] |
||
| .007 | Dynamic API Resolution |
PlugX has leveraged obfuscated Windows API function calls that were concealed as unique names, or hashes of the Windows API.[7] |
||
| .013 | Encrypted/Encoded File |
PlugX has leveraged XOR encryption with the key of 123456789.[7] |
||
| Enterprise | T1120 | Peripheral Device Discovery |
PlugX can identify removable media attached to compromised hosts.[11] |
|
| Enterprise | T1057 | Process Discovery |
PlugX has a module to list the processes running on a machine.[6] |
|
| Enterprise | T1012 | Query Registry |
PlugX can enumerate and query for information contained within the Windows Registry.[7][6][1] |
|
| Enterprise | T1620 | Reflective Code Loading | ||
| Enterprise | T1091 | Replication Through Removable Media |
PlugX has copied itself to infected removable drives for propagation to other victim devices.[11] |
|
| Enterprise | T1053 | .005 | Scheduled Task/Job: Scheduled Task |
PlugX has created a scheduled task to execute additional malicious software, as well as maintain persistence.[7] |
| Enterprise | T1113 | Screen Capture | ||
| Enterprise | T1082 | System Information Discovery |
PlugX has collected system information including OS version, processor information, RAM size, location, host name, IP, and screen size of the infected host.[7] |
|
| Enterprise | T1614 | System Location Discovery |
PlugX has obtained the location of the victim device by leveraging |
|
| Enterprise | T1016 | System Network Configuration Discovery |
PlugX has captured victim IP address details of the targeted machine.[7][11] |
|
| Enterprise | T1049 | System Network Connections Discovery |
PlugX has a module for enumerating TCP and UDP network connections and associated processes using the |
|
| Enterprise | T1033 | System Owner/User Discovery |
PlugX has the ability to gather the username from the victim’s machine.[7] |
|
| Enterprise | T1124 | System Time Discovery |
PlugX has identified system time through its GetSystemInfo command.[7] |
|
| Enterprise | T1127 | .001 | Trusted Developer Utilities Proxy Execution: MSBuild |
A version of PlugX loads as shellcode within a .NET Framework project using msbuild.exe, presumably to bypass application control techniques.[20] |
| Enterprise | T1204 | .002 | User Execution: Malicious File |
PlugX has leveraged an initial executable disguised as a legitimate document to trick the target into opening it.[18][8] |
| Enterprise | T1497 | .001 | Virtualization/Sandbox Evasion: System Checks |
PlugX checks if VMware tools is running in the background by searching for any process named "vmtoolsd".[23] |
| Enterprise | T1102 | .001 | Web Service: Dead Drop Resolver | |
| ID | Name | References |
|---|---|---|
| G1047 | Velvet Ant |
Velvet Ant heavily relies on variants of PlugX for various phases of operations.[22] |
| G1034 | Daggerfly | |
| G0096 | APT41 |
APT41 used a variant of PlugX to connect to Windows and Linux systems via SSH and Samba/CIFS.[25][26] |
| G0022 | APT3 | |
| G0126 | Higaisa | |
| G0027 | Threat Group-3390 | |
| G1021 | Cinnamon Tempest | |
| G0093 | GALLIUM | |
| G0001 | Axiom | |
| G0045 | menuPass | |
| G0062 | TA459 | |
| G1014 | LuminousMoth | |
| G0017 | DragonOK | |
| G0044 | Winnti Group | |
| G0129 | Mustang Panda |
| ID | Name | Description |
|---|---|---|
| C0047 | RedDelta Modified PlugX Infection Chain Operations |
Mustang Panda activities during RedDelta Modified PlugX Infection Chain Operations largely focused on ways to install a variant of PlugX on victim machines.[43] |