Compressione Payload: Compression (T1027.015)

La tecnica T1027.015 - Compression rientra nella tattica TA0005 (Defense Evasion) e descrive l'uso di formati compressi come ZIP, gzip, 7z, RAR per offuscare payload malevoli, ridurre la superficie di detection statica e complicare l'analisi automatizzata dei contenuti.

Gli attaccanti sfruttano la compressione in due modi complementari. Il primo consiste nel racchiudere eseguibili o script all'interno di archivi consegnati via spearphishing attachment, spesso combinati con protezione a password per neutralizzare l'ispezione dei gateway email. Il secondo prevede la compressione diretta di shellcode, che può essere memorizzata in chiavi di registro (fileless storage) o incapsulata dentro loader multi-stadio insieme a strati di cifratura ed encoding Base64.

Una variante particolarmente insidiosa è la concatenazione di ZIP multipli, dove più central directory vengono giustapposte generando un archivio che alcuni parser (come 7zip) interpretano diversamente da altri, permettendo di nascondere payload solo a specifiche implementazioni. Gli SFX (self-extracting archive) aggiungono un ulteriore livello, mascherando il payload dietro un eseguibile apparentemente innocuo che estrae ed esegue in un unico click.

I dati MITRE censiscono 7 gruppi APT e 24 famiglie di malware che adottano questa tecnica, con una diffusione trasversale che copre commodity malware (Pony, Hancitor), impianti sofisticati (Winnti, Gelsemium, ThreatNeedle) e wiper distruttivi (HermeticWiper). L'impatto operativo consiste nell'evasione di controlli perimetrali, antivirus signature-based e sandbox che non ispezionano ricorsivamente il contenuto degli archivi.

In un esercizio red team la compressione è uno strumento versatile per costruire payload che superano gateway email e AV di prima linea. La catena tipica prevede tre fasi: generazione del payload, packaging in archivio (spesso protetto da password) e delivery via phishing.

Per la fase di packaging su Windows, 7-Zip (open source) offre CLI flessibile. Un archivio protetto con cifratura degli header dei nomi file si costruisce con:

7z a -p -mhe=on payload.7z beacon.exe

Il flag -mhe=on cifra anche la lista file, impedendo ai gateway di leggere i nomi senza la password. Per gli SFX, 7-Zip fornisce moduli 7z.sfx e 7zSD.sfx che trasformano l'archivio in eseguibile autoestraente. Su Linux, la combinazione classica tar czf payload.tar.gz ./stager && gpg -c payload.tar.gz aggiunge cifratura simmetrica al pacchetto compresso.

Per simulare la ZIP concatenation — tecnica osservata in campagne reali — è sufficiente concatenare due archivi validi:

cat innocuo.zip malevolo.zip > combined.zip

Alcuni parser aprono il primo archivio, altri il secondo, creando ambiguità utile in fase di bypass. Per validare quale reader estrae cosa, testare con WinRAR (a pagamento), 7-Zip (open source) e lo unzip nativo di Windows.

Per la compressione diretta di shellcode in memoria, utile per fileless storage o loader multi-stadio, Donut (open source, censito come S0695) genera shellcode posizione-indipendente da PE, .NET assembly o script, con opzioni di compressione (aPLib, LZNT1, Xpress) ed encoding. La sintassi base è:

donut -i beacon.exe -c 2 -o beacon.bin

dove -c 2 seleziona la compressione aPLib. Il blob risultante può essere memorizzato in una chiave di registro e caricato runtime tramite reflective loader.

Per il delivery, il payload va incapsulato in un vettore credibile: documento Office con macro che scarica ed espande l'archivio, LNK file, HTA, o ISO/IMG mount che eludono il Mark-of-the-Web. Strumenti come MacroPack (freemium) o Nim-shellcode-loader (open source) permettono di prototipare la catena. In laboratorio, verificare sempre il comportamento con AV signature (test con file EICAR compresso ricorsivamente) e sandbox behavior (Any.Run freemium, Joe Sandbox a pagamento) per confermare quale strato di ispezione viene bypassato. Documentare per il cliente esattamente dove la catena si è fermata o è passata, così da guidare investimenti in ispezione ricorsiva.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.