Skip to main content
  1. Concetti/

Botnet e C2 - Master-Slave vs P2P, Domain Flux

·4 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Botnet e C2 - Mappa Globale
#

Definizione
#

Una botnet e' una rete di dispositivi infetti (chiamati bot o zombie) coordinata da un attaccante (botmaster) tramite un'infrastruttura di Command and Control (C2). Ogni bot esegue i comandi ricevuti dal C2 senza che il proprietario del dispositivo lo sappia. Il termine "zombie" enfatizza che il dispositivo e' vivo ma controllato da qualcun altro.

malware-worm-rootkit-spyware-botnet.webp

Architettura C2 - Centralizzata vs P2P
#

L'architettura del C2 determina la resilienza della botnet e la difficolta' di abbatterla.

flowchart TD
    subgraph CENTRAL["Architettura Centralizzata"]
        BM1["Botmaster"]
        C2["C2 Server\n(single point)"]
        B1["Bot 1"]
        B2["Bot 2"]
        B3["Bot 3"]
        B4["Bot 4"]
    end

    subgraph P2P_NET["Architettura P2P"]
        BM2["Botmaster"]
        P1["Bot/C2 A"]
        P2["Bot/C2 B"]
        P3["Bot/C2 C"]
        P4["Bot/C2 D"]
    end

    BM1 --> C2
    C2 --> B1
    C2 --> B2
    C2 --> B3
    C2 --> B4

    BM2 -.-> P1
    P1 --- P2
    P1 --- P3
    P2 --- P4
    P3 --- P4

Lettura diagramma: A sinistra, l'architettura centralizzata ha un singolo C2 server come collo di bottiglia. Blocca il C2 e tutti i bot sono isolati. A destra, nell'architettura P2P ogni bot e' anche C2: il botmaster inietta comandi in qualsiasi nodo e si propagano via gossip. Eliminare un singolo nodo non ferma la rete.

Fast Flux e DGA - Evasion C2
#

Le botnet moderne usano tecniche per rendere difficile l'identificazione e il blocco del C2.

Fast Flux vs CDN: la tecnica e' identica a quella usata dai CDN legittimi (Cloudflare, Akamai) per distribuire il traffico. La differenza e' l'intenzione: il CDN usa TTL basso per routing ottimale, il fast flux lo usa per nascondere l'infrastruttura C2.

DGA example: il malware usa come seed la data del giorno (2026-07-20) per generare aexzqpmnr.com, bkjrtyvwq.net, cvmxopqrs.org... L'attaccante sa in anticipo quali domini verranno generati e ne registra uno. Il defender non puo' bloccarli tutti prima che siano usati.

Comunicazione C2 - Tecniche di Beaconing
#

I bot devono comunicare periodicamente con il C2 per ricevere comandi (beaconing). Le tecniche si evolvono per evitare detection.

Beaconing C2 - indicatore chiave: connessione periodica (ogni X secondi/minuti) verso stesso IP/dominio esterno, anche senza attivita' utente. L'EDR rileva il pattern temporale. Il jitter lo rende meno ovvio ma non elimina l'anomalia.

Usi della Botnet
#

Una botnet e' infrastruttura criminale generale-purpose: lo stesso insieme di bot puo' essere usato per attacchi diversi.

Caso Reale - Mirai 2016
#

Mirai e' la botnet IoT piu' famosa: ha dimostrato che i dispositivi embedded non sicuri possono diventare un'arma DDoS di scala senza precedenti.

malware-worm-rootkit-spyware-botnet.webp

Detection e Difesa
#

Sinkholing: tecnica difensiva in cui le autorita' o i ricercatori prendono il controllo del dominio C2 (tramite accordo con il registrar o seizure legale) e lo reindirizzano verso un server controllato. I bot continuano a fare beaconing ma ora comunicano con gli investigatori. Permette di mappare la botnet e bloccarla.

Emotet: botnet P2P che tra il 2014 e il 2021 e' stato smantellato con un'operazione coordinata di 8 paesi (Europol, FBI, etc.) nel gennaio 2021. La struttura P2P ha richiesto anni e coordinamento internazionale. I bot sono stati rimossi inviando un aggiornamento dal server infiltrato che li disinstallava.

[Dev parallel] Una botnet centralizzata funziona esattamente come un sistema di job queue distribuito: il C2 server e' il message broker (RabbitMQ, Redis), i bot sono i worker. Il botmaster pubblica un job (comando) e tutti i worker lo consumano. La differenza da una botnet P2P: un sistema Kafka con replication e' tollerante ai guasti come una botnet P2P. Per un developer PHP/Node, riconoscere il pattern di beaconing e' analogo a debuggare un worker che fa polling ogni 60 secondi verso un endpoint: se il traffico e' regolare e verso un IP sconosciuto, e' un indicatore C2. Fast flux e' esattamente la stessa tecnica che usi per il failover DNS in produzione: TTL basso per cambio IP rapido. La differenza e' l'intenzione.

Related