Software Packing

April 3, 2025 ยท View on GitHub

ID F0001
Objective(s) Anti-Behavioral Analysis, Anti-Static Analysis, Defense Evasion
Related ATT&CK Techniques Obfuscated Files or Information: Software Packing (T1027.002, T1406.002)
Anti-Analysis Type Evasion
Version 2.3
Created 1 August 2019
Last Modified 27 April 2024

Software Packing

This code characteristic - Software Packing - can make static and behavioral analysis difficult and includes packing with software protectors, such as Themida and Armadillo [1]. Methods related to anti-analysis are below. This behavior covers both characteristics of the malware (i.e., how it is packed) as well as behaviors of the malware (e.g., the malware packs another executable file).

This description refines the ATT&CK Obfuscated Files or Information: Software Packing (T1027.002, T1406.002) techniques.

Methods

NameIDDescription
ArmadilloF0001.012Uses Armadillo.
ASPackF0001.013Uses ASPack. This method is related to Unprotect technique U1411.
ConfuserF0001.009Uses Confuser packer.
Custom CompressionF0001.005Uses a custom algorithm to compress an executable file.
Custom Compression of CodeF0001.006Uses a custom algorithm to compress opcode mnemonics.
Custom Compression of DataF0001.007Uses a custom algorithm to compress strings and variables (executable file data).
Nested PackingF0001.001The malware is packed by one packer, the result is packed, etc.
Standard CompressionF0001.002Uses a standard algorithm, such as UPX or LZMA, to compress an executable file.
Standard Compression of CodeF0001.003Uses a standard algorithm to compress the opcode mnemonics.
Standard Compression of DataF0001.004Uses a standard algorithm to compress strings and variables (executable file data).
ThemidaF0001.011Uses Themida.This method is related to Unprotect technique U1406.
UPXF0001.008Uses UPX packer. This method is related to Unprotect technique U1402.
VMProtectF0001.010Uses VMProtect. This method is related to Unprotect technique U1410.

Use in Malware

NameDateMethodDescription
Redhip2011--Redhip samples are packed with different custom packers. [3]
Kovter2016--The malware comes packed by a crypter/FUD. [4]
Conficker2008F0001.008Conficker is propagated as a DLL which has been backed using the UPX packer. [5]
DarkComet2008--DarkComet has the option to compress its payload using UPX or MPRESS. [6]
TrickBot2016--The malware has a custom packer to obfuscate itself. [7]
Emotet2018F0001.005Emotet uses custom packers which first decrypt the loaders and the loaders decrypt and load Emotet's main payloads. [8]
Snake2004--Snake is distributed in a packed format. [9]

Detection

Tool: capaMappingAPIs
packed with pebundleSoftware Packing (F0001)--
packed with ThemidaSoftware Packing::Themida (F0001.011)--
packed with VMProtectSoftware Packing::VMProtect (F0001.010)--
packed with y0da crypterSoftware Packing (F0001)--
packed with pelockntSoftware Packing (F0001)--
packed with GoPackerSoftware Packing::Standard Compression (F0001.002)--
packed with ConfuserSoftware Packing::Confuser (F0001.009)--
packed with rlpackSoftware Packing (F0001)--
packed with ASPackSoftware Packing (F0001)--
packed with generic packerSoftware Packing::Standard Compression (F0001.002)--
packed with amberSoftware Packing (F0001)--
packed with petiteSoftware Packing (F0001)--
packed with peshieldSoftware Packing (F0001)--
packed with UPXSoftware Packing::UPX (F0001.008)--
packed with upackSoftware Packing (F0001)--
packed with PECompactSoftware Packing (F0001)--
packed with HuanSoftware Packing (F0001)--
packed with nspackSoftware Packing (F0001)--
packed with kkrunchySoftware Packing (F0001)--
packed with PESpinSoftware Packing (F0001)--
packed with nmm-protectSoftware Packing::VMProtect (F0001.010)--
Tool: CAPEMappingAPIs
packer_nspackSoftware Packing (F0001)--
packer_vmprotectSoftware Packing (F0001)--
packer_vmprotectSoftware Packing::VMProtect (F0001.010)--
packer_confuserSoftware Packing (F0001)--
packer_confuserSoftware Packing::Confuser (F0001.009)--
packer_smartassemblySoftware Packing (F0001)--
packer_mpressSoftware Packing (F0001)--
packer_enigmaSoftware Packing (F0001)--
packer_aspirecryptSoftware Packing (F0001)--
packer_nateSoftware Packing (F0001)--
packer_entropySoftware Packing (F0001)--
packer_unknown_pe_section_nameSoftware Packing (F0001)--
packer_upxSoftware Packing (F0001)--
packer_upxSoftware Packing::UPX (F0001.008)--
packer_aspackSoftware Packing (F0001)--
packer_aspackSoftware Packing::ASPack (F0001.013)--
packer_bedsprotectorSoftware Packing (F0001)--
packer_themidaSoftware Packing (F0001)FindWindowA
packer_themidaSoftware Packing::Themida (F0001.011)FindWindowA
packer_themidaSoftware Packing (F0001)--
packer_themidaSoftware Packing::Themida (F0001.011)--
packer_spicesSoftware Packing (F0001)--
packer_yodaSoftware Packing (F0001)--
packer_titanSoftware Packing (F0001)--

References

[1] Ange Albertini, Packers, 5 April 2010, https://gironsec.com/code/packers.pdf

[2] Jiang Ming et al, Towards Paving the Way for Large-Scale Windows Malware Analysis: Generic Binary Unpacking with Orders-of-Magnitude Performance Boost, October 2018, https://dl.acm.org/citation.cfm?id=3243771

[3] https://web.archive.org/web/20200815134441/https://www.fireeye.com/blog/threat-research/2011/01/the-dead-giveaways-of-vm-aware-malware.html

[4] https://blog.malwarebytes.com/threat-analysis/2016/07/untangling-kovter/

[5] http://www.csl.sri.com/users/vinod/papers/Conficker/

[6] https://blog.malwarebytes.com/threat-analysis/2012/06/you-dirty-rat-part-1-darkcomet/

[7] https://www.securityartwork.es/wp-content/uploads/2017/07/Trickbot-report-S2-Grupo.pdf

[8] https://documents.trendmicro.com/assets/white_papers/ExploringEmotetsActivities_Final.pdf

[9] https://www.cybereason.com/blog/research/threat-analysis-report-snake-infostealer-malware