Compression: Obfuscated File - Compression (T1027.015)

La compressione rappresenta una tecnica di offuscamento dove gli attaccanti utilizzano formati come ZIP, RAR, 7z e gzip per nascondere payload malevoli all'interno di archivi apparentemente innocui. Questa metodologia si inserisce nella tattica TA0005 (Defense Evasion) della kill chain, permettendo agli avversari di evadere i controlli di sicurezza durante l'intero ciclo di compromissione.

Gli attaccanti sfruttano la compressione non solo per ridurre le dimensioni dei file, ma soprattutto per mascherare firme malware note e bypassare i sistemi di rilevamento. Particolarmente insidiosa è la tecnica di concatenazione di più archivi ZIP in uno solo, creando strutture che alcuni lettori come 7zip potrebbero non interpretare correttamente.

I numeri parlano chiaro: 7 gruppi APT documentati utilizzano attivamente questa tecnica, supportati da 24 software malevoli che integrano capacità di compressione avanzata. La versatilità di questo approccio permette agli attaccanti di distribuire payload attraverso email di spearphishing, memorizzare shellcode compressi direttamente nel registro di Windows, o creare archivi auto-estraenti che si attivano con un singolo click della vittima.

Durante un penetration test, la compressione diventa un alleato potente per simulare tecniche APT realistiche. Il primo approccio consiste nel creare payload offuscati utilizzando algoritmi di compressione multipli.

Su Windows, puoi concatenare archivi ZIP per confondere i sistemi di analisi: copy /b archive1.zip + archive2.zip concatenated.zip

Questo comando crea un archivio che mantiene le directory centrali di entrambi i file, rendendo l'analisi più complessa. Per aumentare l'evasione, comprimi lo shellcode prima di memorizzarlo nel registro:

powershell -c "[System.IO.File]::WriteAllBytes('payload.gz', [System.IO.Compression.GZipStream]::new([System.IO.MemoryStream]::new([System.IO.File]::ReadAllBytes('shellcode.bin')), [System.IO.Compression.CompressionMode]::Compress).ToArray())"

Su Linux, la combinazione di tar e gzip offre flessibilità operativa. Crea archivi annidati che richiedono decompressione multipla: tar czf outer.tar.gz --transform 's/./inner.tar/' <(tar czf - malware.elf)*

Per emulare le tecniche di Gamaredon Group, distribuisci payload attraverso archivi protetti da password. Utilizza 7zip per creare archivi auto-estraenti che bypassano warning di sicurezza:

7z a -sfx7z.sfx -p"infected123" payload.exe

Il laboratorio ideale include macchine con diversi software di decompressione installati. Testa come WinRAR, 7zip e l'utilità ZIP nativa di Windows gestiscono archivi malformati o concatenati. Molerats ha dimostrato che payload compressi multipli volte riducono significativamente i tassi di rilevamento.

Per simulare tecniche fileless come quelle di Pillowmint, comprimi e codifica payload direttamente in memoria: $compressed = [System.IO.MemoryStream]::new(); $gzip = [System.IO.Compression.GZipStream]::new($compressed, [System.IO.Compression.CompressionMode]::Compress); $gzip.Write($payload, 0, $payload.Length)

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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo