Payload Strippati: Stripped Payloads (T1027.008)

La tecnica T1027.008 descrive la rimozione deliberata di simboli, stringhe e metadati leggibili da un payload, con l'obiettivo di rendere l'analisi statica e il reverse engineering molto più lenti e costosi. Quando un compilatore genera un eseguibile, il linker produce tabelle di simboli che documentano funzioni, variabili e riferimenti interni: sono esattamente gli appigli che un analista usa per ricostruire la logica del malware. Eliminandoli, l'attaccante lascia il difensore davanti a un blocco di codice quasi opaco.

Questa tecnica appartiene alla tattica TA0005 (Stealth): l'avversario non altera i controlli di sicurezza né interrompe la telemetria, ma cerca di confondersi con l'attività legittima e di ridurre i segnali osservabili. Non si tratta di cifratura del traffico o di offuscamento a runtime, bensì di impoverire il file stesso di informazioni utili.

Le forme più comuni includono binari stripped (privati della symbol table) e formati specifici come i run-only AppleScript su macOS, una versione compilata e privata del sorgente che impedisce di risalire allo script originale. L'impatto è indiretto ma concreto: allunga i tempi di triage, complica la scrittura di firme YARA basate su stringhe e riduce l'efficacia della detection statica. Nei dati MITRE la tecnica compare in 2 software noti, senza gruppi o campagne formalmente associate, segno di un pattern diffuso e trasversale più che di un marchio di uno specifico attore.

Dal punto di vista offensivo, lo stripping è un passaggio di post-produzione del payload, non un exploit in sé. Serve a ritardare l'analista, e in laboratorio va simulato per misurare quanto rallenti la vostra detection statica.

Su Linux il comando canonico è strip delle GNU binutils (open source), che rimuove la symbol table e le sezioni di debug: strip --strip-all payload elimina tutti i simboli, mentre strip --strip-debug payload preserva quelli globali togliendo solo le informazioni di debug. A monte, compilando con GCC o Clang, l'assenza del flag -g e l'uso di -s in linking producono direttamente un artefatto già privo di simboli. Per verificare l'effetto si usa file payload (mostra "stripped" vs "not stripped") e nm payload, che restituisce "no symbols" su un binario ripulito.

Su macOS l'equivalente per i Mach-O è strip binary dagli Xcode command line tools, oppure la generazione di run-only AppleScript con osacompile -x -o payload.scpt sorgente.applescript: il flag -x produce uno script eseguibile ma non decompilabile, esattamente la scelta operativa adottata da macOS.OSAMiner (S1048) per cancellare gli indicatori leggibili. Cuckoo Stealer (S1153) rappresenta invece il caso del binario stripped classico.

Su Windows il concetto si traduce nella compilazione in modalità Release senza generazione di file PDB, nella rimozione delle stringhe di debug e nell'assenza di rich header significativi; strumenti di packing e obfuscation completano la rimozione delle stringhe in chiaro.

Una catena d'attacco realistica in laboratorio prevede: sviluppo del payload, compilazione ottimizzata, stripping dei simboli, e infine misura del delta di analisi. Per valutare l'esito lato blue team conviene analizzare l'artefatto con Ghidra (open source) o radare2/rizin (open source): un binario stripped costringe l'analista a lavorare per pattern e riferimenti invece che per nomi di funzione. La misura dell'entropia delle stringhe con strings payload | wc -l e strumenti come DIE - Detect It Easy (open source) evidenzia la povertà informativa. In un red team lab-safe l'obiettivo non è solo evadere, ma documentare quanto la mancanza di simboli aumenta il tempo medio di triage del SOC, così da giustificare investimenti in detection comportamentale.

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.