Deoffuscamento File: Deobfuscate/Decode Files or Information (T1140)

La tecnica T1140 — Deobfuscate/Decode Files or Information descrive il momento in cui un attaccante ricostruisce, decodifica o decifra payload precedentemente nascosti all'interno di file apparentemente innocui, script codificati o blob binari. Rientra nella tattica TA0005 (Defense Evasion) perché rappresenta il passaggio necessario per convertire artefatti offuscati — pensati per superare antivirus, EDR e analisi statica — in codice eseguibile o istruzioni operative.

Nella kill chain si posiziona subito dopo le fasi di Initial Access e Execution, funzionando da ponte verso Persistence, Command and Control e le fasi successive. È una delle tecniche più diffuse nel panorama attuale: la matrice MITRE ATT&CK conta 38 gruppi APT, 274 famiglie di software malevolo e 13 campagne documentate che ne fanno uso.

Gli approcci osservati spaziano dal banale certutil -decode per convertire Base64, all'uso di copy /b e type per ricomporre frammenti binari, fino a routine crittografiche complesse basate su AES, RC4, XOR a chiave variabile o algoritmi custom con salt derivati da artefatti di sistema. L'impatto operativo è duplice: da un lato rende inefficace la detection basata su firme statiche, dall'altro costringe i difensori a spostarsi verso analisi comportamentali di catene di processi e correlazioni tra staging, decoding ed esecuzione del payload finale.

In un contesto di red team autorizzato, la simulazione di T1140 richiede di riprodurre catene realistiche di staging più decoding più esecuzione, evitando payload effettivamente distruttivi. Il classico punto di partenza su Windows è certutil.exe, binario firmato Microsoft ampiamente abusato da gruppi come APT28, menuPass, OilRig, FIN7, Higaisa, Earth Lusca, FIN13 e Volt Typhoon. La sintassi operativa per codificare e decodificare Base64 è:

certutil -encode payload.exe payload.txt

certutil -decode payload.txt payload.exe

Una variante osservata in FIN7 utilizza il flag -decodehex per gestire buffer in esadecimale. Per esercizi che imitano APT28, è possibile incapsulare il comando dentro una macro VBA che scrive un file .txt Base64 sul disco e poi invoca certutil da riga di comando tramite Shell().

La tecnica copy /b consente di riassemblare frammenti binari splittati in file apparentemente innocui:

copy /b part1.dat + part2.dat + part3.dat payload.exe

Su Linux e macOS la simulazione ruota attorno a utility native come base64 -d, openssl enc -d -aes-256-cbc -k , gunzip, tar -xzf e xxd -r -p. Gruppi come Rocke, TeamTNT e Skidmap hanno usato catene di curl seguite da tar xzf per estrarre archivi scaricati da C2. Un pattern lab-safe:

curl -s | base64 -d | gunzip | bash

Per emulare payload PowerShell in stile MuddyWater, Kimsuky o BabyShark, si può usare:

powershell -enc

combinato con [System.Convert]::FromBase64String() e [System.Text.Encoding]::UTF8.GetString() per il decoding runtime.

Strumenti utili in laboratorio includono Atomic Red Team (open source), che offre test T1140 pronti all'uso, Invoke-Obfuscation (open source) per generare payload PowerShell offuscati multi-layer, Donut (open source) per convertire eseguibili in shellcode posizionabile, e Cobalt Strike (a pagamento) per replicare pattern osservati in APT29, APT38 e APT41 con rolling XOR sui beacon. Brute Ratel C4 (a pagamento) è un'alternativa moderna documentata nei dati MITRE. Per esercizi macOS realistici, riprodurre il pattern OSX/Shlayer significa passare payload cifrati a openssl con password derivate runtime, scrivendo poi in /tmp. Documenta sempre hash SHA-256, timestamp e catene parent-child per validare la detection blue team.

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.