Dati Spazzatura nel C2: Data Obfuscation - Junk Data (T1001.001)

L'inserimento di dati casuali nei protocolli di comunicazione rappresenta una tecnica di offuscamento particolarmente insidiosa nel panorama delle minacce avanzate. Questa metodologia consiste nell'aggiungere caratteri privi di significato ai flussi di comando e controllo, rendendo inefficaci i metodi tradizionali di analisi del traffico.

La tecnica si manifesta esclusivamente nella tattica TA0011 - Command and Control, posizionandosi nella fase finale della kill chain quando l'attaccante ha già stabilito la persistenza. L'obiettivo primario è mascherare le comunicazioni malevole facendole apparire come traffico legittimo o comunque non decodificabile tramite pattern matching semplice.

I dati statistici rivelano un'adozione significativa: 16 malware documentati implementano questa tecnica, con APT28 come gruppo di riferimento che ha sviluppato algoritmi proprietari per la rimozione del junk. L'impatto sulla detection è considerevole, con tassi di evasione che superano il 70% sui sistemi di rilevamento basati su firme statiche.

La simulazione di questa tecnica richiede la manipolazione diretta dei payload di rete. Un approccio base prevede l'inserimento di caratteri casuali tra i byte significativi del comando.

Su Linux, possiamo implementare un proof of concept utilizzando Python per generare traffico offuscato:

import random
import string

def add_junk(command):
    junk_chars = ''.join(random.choices(string.ascii_letters, k=random.randint(5,15)))
    return ''.join(c + random.choice(junk_chars) for c in command)

Per testare l'evasione in laboratorio, BendyBear utilizza la randomizzazione a livello di byte. Possiamo replicare questo comportamento con:

echo "GET /index.html" | sed 's/./&$(openssl rand -hex 1)/g' | nc target.com 80

Windows PowerShell offre capacità native per l'offuscamento. SUNBURST implementava junk bytes nel traffico HTTP utilizzando pattern come:

$data = [System.Text.Encoding]::UTF8.GetBytes($command) $junk = 1..10 | ForEach {Get-Random -Maximum 255} $final = $data + $junk

La chiave sta nel mantenere un algoritmo di rimozione sincronizzato tra client e server. PLEAD utilizzava offuscamento multi-livello, combinando junk code con encoding Base64. Per replicarlo:

cat payload.bin | base64 | sed 's/(.)/\1$(head -c 1 /dev/urandom | xxd -p)/g'

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

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

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.