ID | Name |
---|---|
T1027.001 | Binary Padding |
T1027.002 | Software Packing |
T1027.003 | Steganography |
T1027.004 | Compile After Delivery |
T1027.005 | Indicator Removal from Tools |
T1027.006 | HTML Smuggling |
Adversaries may perform software packing or virtual machine software protection to conceal their code. Software packing is a method of compressing or encrypting an executable. Packing an executable changes the file signature in an attempt to avoid signature-based detection. Most decompression techniques decompress the executable code in memory. Virtual machine software protection translates an executable's original code into a special format that only a special virtual machine can run. A virtual machine is then called to run this code.[1]
Utilities used to perform software packing are called packers. Example packers are MPRESS and UPX. A more comprehensive list of known packers is available, but adversaries may create their own packing techniques that do not leave the same artifacts as well-known packers to evade defenses.[2]
ID | Name | Description |
---|---|---|
S0504 | Anchor | |
S0622 | AppleSeed | |
G0016 | APT29 | |
G0022 | APT3 | |
G0082 | APT38 |
APT38 has used several code packing methods such as Themida, Enigma, VMProtect, and Obsidium, to pack their implants.[8] |
G0087 | APT39 |
APT39 has packed tools with UPX, and has repacked a modified version of Mimikatz to thwart anti-virus detection.[9][10] |
S0373 | Astaroth |
Astaroth uses a software packer called Pe123\RPolyCryptor.[11] |
S0638 | Babuk | |
S0534 | Bazar | |
S0268 | Bisonal |
Bisonal has used the MPRESS packer and similar tools for obfuscation.[17] |
S0520 | BLINDINGCAN |
BLINDINGCAN has been packed with the UPX packer.[18] |
S0020 | China Chopper |
China Chopper's client component is packed with UPX.[19] |
S0611 | Clop | |
S0614 | CostaBricks |
CostaBricks can implement a custom-built virtual machine mechanism to obfuscate its code.[22] |
S0527 | CSPY Downloader |
CSPY Downloader has been packed with UPX.[23] |
S0625 | Cuba | |
G0070 | Dark Caracal |
Dark Caracal has used UPX to pack Bandook.[25] |
S0334 | DarkComet |
DarkComet has the option to compress its payload using UPX or MPRESS.[26] |
S0187 | Daserf | |
S0281 | Dok | |
S0695 | Donut | |
S0694 | DRATzarus | |
S0024 | Dyre |
Dyre has been delivered with encrypted resources and must be unpacked for execution.[31] |
S0554 | Egregor |
Egregor's payloads are custom-packed, archived and encrypted to prevent analysis.[32][33] |
G0066 | Elderwood |
Elderwood has packed malware payloads before delivery to victims.[34] |
S0367 | Emotet | |
S0512 | FatDuke |
FatDuke has been regularly repacked by its operators to create large binaries and evade detection.[36] |
S0182 | FinFisher | |
S0628 | FYAnti | |
G0093 | GALLIUM |
GALLIUM packed some payloads using different types of packers, both known and custom.[40] |
S0588 | GoldMax | |
S0342 | GreyEnergy |
GreyEnergy is packed for obfuscation.[42] |
S0132 | H1N1 | |
S0601 | Hildegard | |
S0431 | HotCroissant |
HotCroissant has used the open source UPX executable packer.[45] |
S0398 | HyperBro | |
S0483 | IcedID | |
S0283 | jRAT | |
G0094 | Kimsuky | |
S0356 | KONNI | |
G0032 | Lazarus Group |
Lazarus Group has used Themida to pack malicious DLLs and other files.[30][50] |
S0513 | LiteDuke |
LiteDuke has been packed with multiple layers of encryption.[36] |
S0447 | Lokibot |
Lokibot has used several packing methods for obfuscation.[51] |
S0532 | Lucifer | |
S0409 | Machete | |
S0530 | Melcoz | |
S0455 | Metamorfo | |
S0198 | NETWIRE | |
G0014 | Night Dragon |
Night Dragon is known to use software packing in its tools.[57] |
S0264 | OopsIE |
OopsIE uses the SmartAssembly obfuscator to pack an embedded .Net Framework assembly used for C2.[58] |
S0352 | OSX_OCEANLOTUS.D |
OSX_OCEANLOTUS.D has a variant that is packed with UPX.[59] |
G0040 | Patchwork | |
S0650 | QakBot | |
S0565 | Raindrop |
Raindrop used a custom packer for its Cobalt Strike payload, which was compressed using the LZMA algorithm.[62][63] |
G0106 | Rocke |
Rocke's miner has created UPX-packed files in the Windows Start Menu Folder.[64][65][66] |
G0034 | Sandworm Team |
Sandworm Team used UPX to pack a copy of Mimikatz.[67] |
S0461 | SDBbot | |
S0053 | SeaDuke | |
S0444 | ShimRat |
ShimRat's loader has been packed with the compressed ShimRat core DLL and the legitimate DLL for it to hijack.[70] |
S0543 | Spark |
Spark has been packed with Enigma Protector to obfuscate its contents.[71] |
S0663 | SysUpdate | |
G0092 | TA505 | |
G0139 | TeamTNT |
TeamTNT has used UPX and Ezuri packer to pack its binaries.[72] |
G0089 | The White Company |
The White Company has obfuscated their payloads through packing.[73] |
G0027 | Threat Group-3390 |
Threat Group-3390 has packed malware and tools.[74] |
S0671 | Tomiris | |
S0678 | Torisma | |
S0266 | TrickBot |
TrickBot leverages a custom packer to obfuscate its functionality.[76] |
S0094 | Trojan.Karagany |
Trojan.Karagany samples sometimes use common binary packers such as UPX and Aspack on top of a custom Delphi binary packer.[77][78] |
S0022 | Uroburos | |
S0476 | Valak | |
S0257 | VERMIN | |
S0248 | yty | |
S0251 | Zebrocy | |
S0230 | ZeroT | |
G0128 | ZIRCONIUM |
ZIRCONIUM has used multi-stage packers for exploit code.[86] |
ID | Mitigation | Description |
---|---|---|
M1049 | Antivirus/Antimalware |
Employ heuristic-based malware detection. Ensure updated virus definitions and create custom signatures for observed malware. |
ID | Data Source | Data Component |
---|---|---|
DS0022 | File | File Metadata |
Use file scanning to look for known software packers or artifacts of packing techniques. Packing is not a definitive indicator of malicious activity, because legitimate software may use packing techniques to reduce binary size or to protect proprietary code.