Iscriviti al webinar gratuito del 20 Ottobre per diventare Ethical Hacker! Scopri di più
Software Packing: Compressione ed Offuscamento di Eseguibili (T1027.002)
Il software packing è una tecnica di offuscamento binario in cui un eseguibile viene compresso, cifrato o tradotto in un bytecode proprietario eseguito da una virtual machine embedded. L'obiettivo primario è alterare la firma del file per eludere la detection basata su hash e pattern statici, costringendo la porzione di codice reale a materializzarsi solo in memoria durante l'esecuzione.
MITRE colloca questa tecnica sotto TA0005 (Defense Evasion) come sotto-tecnica di T1027 (Obfuscated Files or Information). Nella kill chain opera trasversalmente: interviene nella fase di weaponization quando l'attaccante prepara il payload, ma i suoi effetti si manifestano durante delivery, installation ed execution, dove antivirus tradizionali e sandbox devono confrontarsi con codice che si svela solo a runtime.
L'impatto operativo è significativo: 23 gruppi APT documentati, 72 famiglie malware e 7 campagne note utilizzano packing. La diffusione trasversale — da UPX (open source) usato da Volt Typhoon, APT29 e APT39, fino a protector commerciali come Themida, VMProtect ed Enigma sfruttati da APT38, APT41 e Lazarus — dimostra che il packing è ormai commodity nella catena di distribuzione, tanto tra APT statuali quanto tra operatori ransomware come LockBit 3.0 e Cuba. La singola mitigazione MITRE (M1049) e le regole di detection comportamentale confermano che la difesa efficace richiede analisi dinamica in memoria, non più solo firme statiche.
In un ingaggio red team autorizzato, il packing serve a validare la resilienza dell'EDR contro loader offuscati. Il punto di partenza in laboratorio è UPX (open source), il packer più diffuso e citato in questa tecnica. Su un binario di test si applica con upx --best --lzma payload.exe, ottenendo compressione elevata e alterazione della sezione entry point. La verifica del risultato si fa con upx -t payload.exe per testare l'integrità e con upx -l payload.exe per elencare le sezioni compresse.
Per simulare TTPs di gruppi come APT41 o Aoqin Dragon, che usano protector commerciali, in lab si può ricorrere a Themida o VMProtect (entrambi a pagamento, con licenza commerciale). Questi strumenti implementano virtualizzazione del codice: le istruzioni originali vengono tradotte in un bytecode custom eseguito da una VM embedded, rendendo il reverse engineering statico praticamente inutile senza deobfuscatori dedicati.
Per catene più aderenti al malware moderno .NET, ConfuserEx (open source) replica lo stile di FYAnti e altri loader .NET, applicando renaming dei simboli, control-flow flattening e packing delle risorse. Il comando tipico è Confuser.CLI.exe project.crproj con un file di progetto XML che definisce le protezioni. Per binari Linux/ELF, Ezuri (open source), usato da TeamTNT, cifra il payload con AES e lo esegue via memfd_create() senza toccare il disco.
La catena d'attacco red team realistica prevede tre stadi. Primo, sviluppo del payload C2 di test (ad esempio un beacon Sliver, open source, o Cobalt Strike se in possesso di licenza legittima a pagamento). Secondo, applicazione di uno o più layer di packing — è tipico dei threat actor combinare packer generici e crypter custom, come documentato per Emotet e TrickBot. Terzo, validazione contro l'AV target: strumenti come AMSI Trigger (open source) o DefenderCheck (open source) aiutano a identificare quali byte del payload vengono ancora rilevati dopo il packing, permettendo iterazioni mirate.
Un punto operativo critico: molti packer noti lasciano stub riconoscibili. Tool come Detect It Easy (open source) e DIE identificano la firma del packer sul binario impacchettato, quindi in un red team maturo si preferiscono crypter custom o combinazioni multi-layer che replichino il pattern di FatDuke, ripacchettato periodicamente per invalidare le firme.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo
2 minuti · 7 domande
Che professionista cyber sei?
Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.