networking

IGMP (Multicast): Cos’è, Come Funziona e Perché Conta nel Pentesting di Rete

IGMP (Multicast): Cos’è, Come Funziona e Perché Conta nel Pentesting di Rete

Scopri cos’è IGMP, come funziona il multicast e perché è utile nel pentesting: host discovery, membership report, IGMP snooping, reconnaissance, DoS e sicurezza.

  • Pubblicato il 2026-03-23
  • Tempo di lettura: 8 min

IGMP è il protocollo che gestisce i gruppi multicast nelle reti IP. Capire cos’è IGMP e come funziona è utile per chi fa pentesting su reti enterprise con streaming, IPTV, o sistemi di comunicazione interna basati su multicast — contesti dove IGMP è attivo, spesso ignorato, e può essere sfruttato per reconnaissance, denial of service, e discovery di host nascosti.


Cos’è IGMP #

IGMP (Internet Group Management Protocol) è un protocollo di livello 3 definito in RFC 1112 (IGMPv1), RFC 2236 (IGMPv2) e RFC 3376 (IGMPv3). Viene trasportato direttamente su IP con protocol number 2.

Il suo scopo è gestire la comunicazione tra host e router multicast: permette agli host di segnalare ai router locali che vogliono ricevere traffico destinato a un gruppo multicast specifico, e di notificare quando non sono più interessati.

Cos’è il multicast #

Il multicast è una modalità di trasmissione IP che permette di inviare un singolo pacchetto a un gruppo di destinatari interessati, senza doverlo replicare manualmente. Si contrappone a:

  • Unicast: un pacchetto per ogni destinatario
  • Broadcast: un pacchetto per tutti gli host della rete
  • Multicast: un pacchetto per tutti gli host che hanno richiesto di riceverlo

Gli indirizzi multicast IPv4 appartengono al range 224.0.0.0 – 239.255.255.255 (Classe D). Alcuni riservati importanti:

IndirizzoUso
224.0.0.1All hosts — tutti gli host multicast-capable
224.0.0.2All routers — tutti i router multicast
224.0.0.5OSPF routers
224.0.0.10EIGRP routers
224.0.0.22IGMP (IGMPv3)
239.0.0.0/8Scope privato (simile agli IP privati RFC 1918)

Questi indirizzi sono direttamente sfruttabili in reconnaissance: un ping a 224.0.0.1 rivela tutti gli host multicast-capable nel segmento.


Come funziona IGMP #

IGMPv1 e IGMPv2 #

IGMPv1 (RFC 1112): meccanismo base. Gli host inviano Membership Report per unirsi a un gruppo. I router inviano Membership Query per verificare se ci sono ancora host interessati. Nessun meccanismo di leave.

IGMPv2 (RFC 2236): aggiunge il Leave Group message, permettendo agli host di notificare immediatamente quando lasciano un gruppo. Riduce i tempi di convergenza. Aggiunge la Group-Specific Query (oltre alla General Query di IGMPv1).

IGMPv3 #

IGMPv3 introduce il source filtering: gli host possono specificare da quali sorgenti vogliono ricevere il traffico multicast, non solo a quale gruppo appartengono. Fondamentale per applicazioni come SSM (Source-Specific Multicast).

Il flusso IGMP tipico (IGMPv2) #

  1. Un router invia una General Membership Query all’indirizzo 224.0.0.1 ogni 125 secondi (Query Interval)
  2. Gli host interessati a uno o più gruppi rispondono con Membership Report al rispettivo indirizzo multicast
  3. Se un host non vuole più ricevere traffico, invia un Leave Group all’indirizzo 224.0.0.2
  4. Il router invia una Group-Specific Query per verificare se altri host nel segmento sono ancora interessati
  5. Se nessuno risponde, il router smette di forwardare il traffico per quel gruppo

Struttura del messaggio IGMP #

CampoDimensioneDescrizione
Type1 byte0x11=Query, 0x16=v2 Report, 0x17=Leave, 0x22=v3 Report
Max Resp Time1 byteTempo massimo per rispondere (Query)
Checksum2 byteChecksum del messaggio
Group Address4 byteIndirizzo del gruppo multicast (0.0.0.0 in General Query)

IGMP Snooping #

Gli switch managed moderni implementano IGMP Snooping: ascoltano il traffico IGMP per sapere quali porte hanno host interessati a quali gruppi, e forwardano il traffico multicast solo verso quelle porte (invece di inondare tutta la VLAN).

Questo ha implicazioni per il pentesting: in reti con IGMP Snooping, un host che non ha fatto Join a un gruppo non riceve il traffico multicast di quel gruppo, limitando la visibilità passiva.


Dove viene usato IGMP nelle reti #

IGMP è presente in qualsiasi rete enterprise che usa applicazioni multicast:

  • IPTV e streaming video interno: distribuzione di flussi video a molti utenti senza moltiplicare la banda
  • Comunicazioni VoIP conferencing: alcune implementazioni usano multicast per le conference call
  • Protocolli di routing: OSPF, EIGRP, PIM usano indirizzi multicast per i loro messaggi di controllo
  • Ambienti finanziari: distribuzione di feed di dati di mercato (market data) in tempo reale a molti trader
  • Ambienti OT/ICS: alcuni protocolli di controllo industriale usano multicast
  • Sistemi di clustering: heartbeat e discovery tra nodi di cluster spesso usano multicast

In molti ambienti enterprise IGMP è attivo di default su tutti gli switch e router, spesso senza che nessuno lo sappia o lo monitori.


Perché IGMP è importante in cybersecurity #

IGMP è ignorato nella maggior parte degli assessment di sicurezza. Eppure:

  • Rivela host nascosti: un ping all’indirizzo 224.0.0.1 riceve risposte da host che potrebbero non rispondere a ICMP unicast
  • Espone la topologia multicast: i Membership Report rivelano quali host sono iscritti a quali gruppi, e quindi quali applicazioni multicast stanno usando
  • È vulnerabile a spoofing: come la maggior parte dei protocolli di livello 3, non ha autenticazione
  • Permette DoS selettivi: un attaccante può forzare l’unione o l’abbandono di gruppi multicast su host bersaglio
  • Espone protocolli di routing: OSPF su 224.0.0.5, EIGRP su 224.0.0.10 — joining a questi gruppi rivela il traffico di routing del segmento

Per il contesto dei pacchetti IP su cui IGMP viaggia, vedi IP Internet Protocol. Per i protocolli di routing che usano multicast, vedi OSPF, EIGRP, BGP.


IGMP in un engagement di pentesting #

Reconnaissance: host discovery tramite multicast #

Uno dei metodi di host discovery meno conosciuti — e meno bloccati dai firewall — è il ping all’indirizzo multicast All-hosts:

bash
ping -c 3 224.0.0.1

Tutti gli host multicast-capable nel segmento rispondono con Echo Reply all’indirizzo unicast dell’attaccante. Spesso rivela host che non rispondono ai ping unicast normali o che non compaiono in un ARP scan.

Su Linux, specifica l’interfaccia:

bash
ping -I eth0 -c 3 224.0.0.1

Enumeration del traffico IGMP #

Ascoltare il traffico IGMP passivamente rivela la mappa completa dei gruppi multicast attivi nel segmento:

bash
tcpdump -i eth0 -nn igmp

I Membership Report mostrano:

  • Quali host sono iscritti a quali gruppi multicast
  • Quali applicazioni multicast sono in uso (identificabili dagli indirizzi di gruppo)
  • Frequenza delle iscrizioni (rivela pattern di attività)

Con Wireshark:

text
igmp

Per filtrare solo i Membership Report:

text
igmp.type == 0x16 || igmp.type == 0x22

Identificare protocolli di routing tramite multicast #

I protocolli di routing dinamico usano indirizzi multicast riservati. Osservare traffico verso questi indirizzi rivela quali protocolli sono attivi nel segmento:

bash
tcpdump -i eth0 -nn dst net 224.0.0.0/4
  • Traffico verso 224.0.0.5 o 224.0.0.6 → OSPF attivo
  • Traffico verso 224.0.0.10 → EIGRP attivo
  • Traffico verso 224.0.0.9 → RIPv2 attivo

Informazione preziosa per pianificare attacchi ai protocolli di routing. Vedi OSPF, EIGRP, BGP, RIP.

IGMP Join spoofing per accedere a gruppi riservati #

Un attaccante può inviare IGMP Membership Report falsificati per unirsi a gruppi multicast e ricevere il traffico corrispondente, anche in presenza di IGMP Snooping:

python
from scapy.all import *

# Join al gruppo OSPF (224.0.0.5) — solo a scopo dimostrativo
igmp_join = IP(dst="224.0.0.5", proto=2) / \
            IGMP(type=0x16, gaddr="224.0.0.5")
send(igmp_join, iface="eth0")

Una volta unito al gruppo, il traffico multicast di quel gruppo verrà forwardato verso l’host dell’attaccante dallo switch (se usa IGMP Snooping) o verso tutti gli host del segmento (se IGMP Snooping è disabilitato).

DoS tramite IGMP Leave flood #

Inviare massivamente messaggi IGMP Leave Group per un gruppo attivo forza i router a inviare Group-Specific Query continue, aumentando il carico di gestione e potenzialmente interrompendo il servizio per gli host legittimi:

bash
# Con hping3 (crafting IGMP richiede raw socket o Scapy)
# Con yersinia
yersinia igmp -attack 2 -interface eth0

Attacchi e abusi possibili su IGMP #

IGMP Flooding (DoS) #

Inondare il segmento con Membership Report o Leave Group per gruppi multipli, forzando i router a elaborare e rispondere a una quantità abnorme di messaggi IGMP. Può saturare le risorse del router e degradare le performance del segmento.

IGMP Spoofing #

Inviare Membership Report con indirizzo sorgente falsificato per far credere che un host specifico sia iscritto a un gruppo. Può essere usato per:

  • Far ricevere traffico multicast indesiderato a un host target (potenziale vettore per exploit)
  • Confondere i sistemi di monitoring che tracciano i gruppi multicast

Membership Report Suppression #

In IGMPv1/v2, quando un host riceve un Membership Report per un gruppo a cui è iscritto, sopprime il proprio Report (evita duplicati). Un attaccante può inviare Report falsi per sopprimere quelli legittimi, causando la rimozione degli host dal gruppo quando il router non riceve conferme.

Accesso al traffico di routing #

Come descritto: unirsi ai gruppi multicast usati da OSPF o EIGRP permette di ricevere i loro LSA e update, rivelando la topologia completa della rete e aprendo la porta ad attacchi di routing injection.


Esempi pratici con IGMP in laboratorio #

Monitoraggio IGMP completo con tshark #

bash
tshark -i eth0 -f "igmp" -T fields \
  -e ip.src \
  -e ip.dst \
  -e igmp.type \
  -e igmp.group_addr

Output strutturato: IP sorgente, destinazione, tipo di messaggio, gruppo.

Vedere i gruppi multicast attivi sull’host locale #

bash
ip maddr show
netstat -gn

Mostra i gruppi multicast a cui l’host è attualmente iscritto su ogni interfaccia.

Scansione multicast con nmap #

bash
nmap -sn 224.0.0.0/4    # Sweep dell'intero range multicast
nmap -sn 224.0.0.1      # All-hosts

Analisi con Wireshark dei gruppi attivi #

Filtro per osservare l’intera attività IGMP nel segmento:

text
igmp

Esporta la lista dei gruppi unici in File → Export Packet Dissections.


Detection e difesa IGMP #

Un difensore che monitora IGMP può rilevare:

  • Membership Report anomali: host che si uniscono a gruppi insoliti o non previsti dalla loro funzione
  • Leave Group massivi: possibile DoS flood in corso
  • Join ai gruppi di routing (224.0.0.5, 224.0.0.10): host non-router che si uniscono a gruppi di routing
  • Traffico IGMP da host non autorizzati: segnale di dispositivo non inventariato o attacco in corso
  • Variazioni improvvise nella membership table dei router: possibile spoofing o flooding

Tool: syslog dai router con logging IGMP attivo, Zeek con script di analisi multicast, monitoraggio SNMP della tabella IGMP dei router.


Hardening e mitigazioni IGMP #

IGMP Snooping su tutti gli switch #

Abilita IGMP Snooping per limitare il forwarding del traffico multicast solo alle porte con host interessati. Riduce l’esposizione del traffico multicast e mitiga alcuni attacchi di sniffing.

text
ip igmp snooping vlan 10

IGMP Rate Limiting #

Limita il numero di messaggi IGMP elaborati per unità di tempo, mitigando il flooding:

text
ip igmp limit 100

Filtrare i gruppi multicast consentiti #

Configura i router per accettare Join solo verso gruppi multicast autorizzati. I gruppi di routing come 224.0.0.5 e 224.0.0.10 non dovrebbero essere raggiunti da host generici.

Segmentare il traffico multicast #

Isolare le applicazioni multicast in VLAN dedicate riduce la superficie esposta a host in segmenti non autorizzati.

Disabilitare IGMP dove non necessario #

In segmenti dove non ci sono applicazioni multicast, disabilita IGMP sui router e configura gli switch per bloccare il traffico verso 224.0.0.0/4.


Errori comuni su IGMP #

“IGMP non è rilevante per la sicurezza, è solo per lo streaming” Falso. IGMP è il meccanismo che controlla l’accesso al traffico multicast, incluso quello dei protocolli di routing. Ignorarlo significa ignorare una superficie di attacco reale.

“Il ping a 224.0.0.1 non funziona” Dipende dalla configurazione. Su molte reti funziona perfettamente ed è uno dei metodi di host discovery più efficaci per trovare host che filtrano ICMP unicast.

“IGMP Snooping protegge completamente il traffico multicast” No. IGMP Snooping limita la distribuzione del traffico, ma un attaccante che invia un Join legittimo (anche falsificato) può comunque ricevere il traffico del gruppo.

“Solo i router parlano IGMP” No. Tutti gli host che vogliono ricevere traffico multicast inviano Membership Report IGMP. I router inviano le Query. Entrambi parlano IGMP.


FAQ su IGMP #

Cos’è IGMP e a cosa serve? IGMP (Internet Group Management Protocol) gestisce la partecipazione ai gruppi multicast nelle reti IP. Permette agli host di comunicare ai router locali il loro interesse a ricevere traffico destinato a specifici indirizzi multicast, e ai router di ottimizzare la distribuzione di quel traffico.

Cos’è il multicast e come si distingue dal broadcast? Il broadcast invia un pacchetto a tutti gli host della rete. Il multicast lo invia solo agli host che hanno esplicitamente richiesto di riceverlo (tramite IGMP). Il multicast è più efficiente perché evita di intasare host non interessati.

Perché pingo 224.0.0.1 e ricevo risposte da host sconosciuti? 224.0.0.1 è l’indirizzo All-hosts multicast: tutti gli host multicast-capable nel segmento rispondono. Stai scoprendo host attivi nella rete, inclusi quelli che non rispondono ai ping unicast normali.

Come si usa IGMP in un pentest? Principalmente per reconnaissance: host discovery tramite ping multicast, identificazione di protocolli di routing attivi tramite ascolto del traffico verso indirizzi multicast riservati, e mapping dei servizi multicast in uso nell’ambiente.

IGMP esiste in IPv6? No. IPv6 usa MLD (Multicast Listener Discovery), basato su ICMPv6, che svolge le stesse funzioni di IGMP per le reti IPv6.


Conclusione su IGMP #

IGMP è uno di quei protocolli che nessuno mette nel proprio threat model. Eppure permette di scoprire host nascosti, identificare protocolli di routing, e ricevere traffico multicast riservato — tutto con strumenti standard e senza generare rumore significativo.

In un engagement su reti enterprise con applicazioni multicast, OSPF o EIGRP attivi, ignorare IGMP significa perdere una fonte di intelligence preziosa e una superficie di attacco spesso completamente scoperta.

Approfondisci i protocolli correlati:

Riferimento ufficiale: RFC 3376 — Internet Group Management Protocol, Version 3


Hai reti con multicast o protocolli di routing dinamico che non sono mai stati testati? Un assessment dedicato può rivelare superfici di attacco che i tool automatici non toccano. Scrivici su hackita.it/servizi.

Ogni articolo pubblicato su HackITA è scritto per chi studia sul serio. Se ti è utile: hackita.it/supporto

#igmp #multicast

DIVENTA PARTE DELL’ÉLITE DELL’HACKING ETICO.

Accedi a risorse avanzate, lab esclusivi e strategie usate dai veri professionisti della cybersecurity.

Non sono un robot

Iscrivendoti accetti di ricevere la newsletter di HACKITA. Ti puoi disiscrivere in qualsiasi momento.