Steganografia: Steganography (T1027.003)

La steganografia è una tecnica di offuscamento che consiste nel nascondere informazioni all'interno di file apparentemente innocui — immagini PNG, JPEG, BMP, tracce audio, video o testi. A differenza della crittografia, che rende il contenuto illeggibile ma visibilmente cifrato, la steganografia mira a occultare l'esistenza stessa del dato, sfruttando bit meno significativi dei pixel, sezioni resource dei PE, o metadata EXIF.

Catalogata come T1027.003 nella sotto-tecnica di Obfuscated Files or Information, appartiene alla tattica TA0005 Defense Evasion. Nel kill chain si posiziona trasversalmente: viene sfruttata in fase di delivery per bypassare gateway email e proxy che ispezionano solo header MIME, in fase di execution per caricare shellcode da immagini scaricate, e in fase di exfiltration per mascherare dati sensibili dentro immagini caricate su servizi cloud legittimi.

I numeri del framework MITRE ATT&CK descrivono un'adozione matura: 8 gruppi APT documentati, 19 famiglie malware e 2 campagne ne fanno uso ricorrente. Casi storici come Duqu, che nascondeva dati raccolti dentro immagini prima dell'esfiltrazione verso il C2, e l'uso di Invoke-PSImage per incapsulare comandi PowerShell nei pixel di un PNG, mostrano come la tecnica abbia attraversato oltre un decennio di operazioni offensive senza perdere efficacia. La ragione è semplice: la maggior parte degli strumenti di sicurezza tratta le immagini come contenuto passivo e non ne analizza la struttura interna a livello di byte.

In un ingaggio red team la steganografia serve due obiettivi: payload delivery evasivo e C2 covert channel. La catena tipica prevede l'incapsulamento di uno stager PowerShell o di shellcode dentro un'immagine hostata su un CDN legittimo, seguito da un loader minimale sul target che scarica l'immagine e ne estrae il contenuto.

Lo strumento più diretto per PowerShell è Invoke-PSImage (open source), pubblicato su GitHub e citato esplicitamente nei dati MITRE. Genera un PNG in cui i due bit meno significativi dei canali R e G contengono lo script. L'uso lab-safe è del tipo:

Invoke-PSImage -Script .\payload.ps1 -Image .\carrier.png -Out .\stego.png -Web

Lato target, il one-liner generato scarica l'immagine e ricostruisce lo script leggendo i pixel via System.Drawing.Bitmap. Per validare la robustezza in un esercizio, verifica che l'immagine passi indenne attraverso proxy che effettuano ricompressione — molti gateway riducono qualità JPEG rompendo lo schema LSB. Il PNG lossless è preferibile proprio per questo.

Su Linux il tool di riferimento è steghide (open source), disponibile nei repository Debian e RHEL. La sintassi per nascondere un file dentro un JPEG con passphrase è:

steghide embed -cf carrier.jpg -ef payload.bin -p StrongPass123

L'estrazione lato target usa steghide extract -sf carrier.jpg -p StrongPass123. Per scenari più sofisticati, zsteg (open source, Ruby gem) analizza PNG/BMP cercando pattern LSB, mentre openstego (open source) offre sia LSB che watermarking randomizzato.

Per emulare comportamenti reali osservati in Andariel o Earth Lusca, che nascondono PE completi dentro BMP, un approccio didattico è appendere il PE dopo l'header dell'immagine (polyglot file). Lo script Python è banale: lettura del BMP, calcolo dell'offset di fine immagine dichiarato nell'header, append del blob cifrato. Il loader lato target rilegge il file, salta all'offset e passa il PE a un reflective loader.

Per il canale C2, il pattern di PolyglotDuke e RegDuke — encoding LSB di comandi dentro immagini pubblicate su piattaforme social o hosting pubblici — si replica con Cloakify (open source) o con script custom. In laboratorio, testa sempre la detection scrivendo regole YARA sui magic byte residui e verificando l'entropia dei pixel: un'immagine steganografata ha entropia significativamente più uniforme nei bit bassi rispetto a un originale.

Fondamentale: usa carrier realistici. Immagini stock o icone di sistema alzano il rischio di rilevamento tramite hashing perceptual.

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.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.