Command and Control (C2)

Indice dei contenuti

    Il Command and Control (C2, o C&C) è l’infrastruttura e il protocollo di comunicazione che permette a un attaccante di impartire comandi ai sistemi compromessi (implant, beacon, agent) e riceverne i risultati — dati esfiltrati, output di comandi, screenshot. È la linea vitale di ogni attacco informatico sofisticato: senza canale C2, l’attaccante non può dirigere le proprie azioni dopo l’accesso iniziale. La progettazione del canale C2 è tanto importante quanto il codice del malware stesso: un C2 rilevabile rende visibile l’intera operazione.

    Architettura

    Un’infrastruttura C2 tipica è stratificata per resilienza e anonimato:

    Implant (beacon): il codice malevolo installato sul sistema compromesso. Si connette periodicamente al C2 per ricevere comandi (beacon interval). Interval brevi aumentano la reattività ma generano più traffico; interval lunghi (ore) riducono la visibilità ma rallentano le operazioni.

    Team server: il server centrale gestito dall’attaccante che riceve le connessioni degli implant e permette all’operatore di interagire con i sistemi compromessi. Esempi: Cobalt Strike Team Server, Havoc C2, Sliver.

    Redirector: server intermedi che inoltrano il traffico tra implant e team server, nascondendo l’indirizzo reale del team server. Se un redirector viene scoperto e bloccato, il team server rimane intatto e può essere raggiunto tramite un altro redirector.

    Protocolli e camuffamento

    Il canale C2 deve apparire come traffico legittimo per sopravvivere all’ispezione di firewall e proxy:

    HTTPS: il metodo più comune. Il traffico C2 è indistinguibile dal normale traffico web cifrato. Molti C2 framework usano certificati Let’s Encrypt validi per apparire ancora più legittimi.

    Domain fronting: tecnica che sfrutta le CDN (Cloudflare, AWS CloudFront, Azure CDN) come intermediari. Il traffico appare diretto a un dominio legittimo della CDN nell’header TLS (SNI), ma viene inoltrato a un dominio diverso tramite l’header HTTP Host. Reso sempre più difficile dai provider CDN che lo vietano esplicitamente.

    DNS C2: i comandi vengono codificati in query DNS (es. sottodomini di un dominio controllato dall’attaccante). Lento ma molto furtivo — il traffico DNS raramente viene bloccato e spesso non è ispezioniato nel dettaglio.

    ICMP tunneling: dati nascosti nel payload di pacchetti ICMP echo (ping). Tecnica antica ma ancora usata in reti con restrizioni stringenti su TCP/UDP.

    C2 su servizi legittimi: usare API pubbliche di servizi cloud come canale — Slack, Discord, Twitter/X, GitHub, Google Drive, Dropbox, Pastebin. L’implant legge comandi da un canale Slack o da un file su Google Drive; il traffico verso questi servizi non è mai bloccato e si mimetizza completamente.

    Rilevamento

    Il rilevamento del C2 è una delle sfide più difficili della sicurezza difensiva:

    Analisi del traffico di rete: pattern di beacon regolari (connessioni ogni N secondi con jitter), dimensioni dei pacchetti insolite, orari di attività anomali (connessioni di un server in produzione alle 3: 00 di notte verso un IP sconosciuto).

    DNS anomaly detection: query verso domini registrati di recente, domini con alta entropia nel nome (generati da DGA — Domain Generation Algorithm), volumi anomali di query DNS verso un singolo dominio.

    TLS inspection: decifrare il traffico HTTPS in uscita tramite SSL inspection proxy per analizzare il contenuto. Impatta le performance e crea problemi con il certificate pinning, ma è necessario per rilevare C2 su HTTPS.

    Threat intelligence feed: liste di IP e domini C2 noti — Cobalt Strike team server, infrastrutture di gruppi APT documentati — integrate nel firewall o nel SIEM per blocco o alert immediato.

    JA3/JA3S fingerprinting: impronta digitale del TLS client hello basata sui parametri negoziati (versione, cipher suite, estensioni). I C2 framework hanno JA3 fingerprint caratteristici che possono essere rilevati anche in traffico cifrato.

    Ultimo aggiornamento: