OSPF, EIGRP, BGP e RIP: come funzionano e come si sfruttano in pentest

Guida completa a OSPF, EIGRP, BGP e RIP: funzionamento, differenze, route injection, BGP hijacking, fake LSA, MITM e difese per protocolli di routing dinamico.
- Pubblicato il 2026-03-24
- Tempo di lettura: 9 min
I protocolli di routing dinamico sono il sistema nervoso delle reti enterprise e di Internet. Capire cos’è OSPF, come funziona BGP e perché EIGRP è rilevante per un pentester significa capire come i pacchetti trovano il loro percorso — e come un attaccante può manipolare quei percorsi per intercettare, redirigere, o bloccare il traffico di un’intera organizzazione.
Cos’è il routing dinamico con OSPF/EIGRP/BGP/RIP #
Il routing dinamico è il meccanismo con cui i router si scambiano automaticamente informazioni sulle reti raggiungibili e aggiornano le proprie tabelle di routing senza intervento manuale. Contrapposto alle route statiche (configurate a mano), il routing dinamico si adatta automaticamente ai cambiamenti della topologia: link down, nuove subnet, percorsi alternativi.
I protocolli di routing si dividono in due categorie principali:
IGP (Interior Gateway Protocol): usati all’interno di un sistema autonomo (AS). Includono OSPF, EIGRP, RIP, IS-IS.
EGP (Exterior Gateway Protocol): usati tra sistemi autonomi diversi. BGP è l’unico EGP in uso oggi su Internet.
La caratteristica comune a tutti: nessun meccanismo di autenticazione obbligatorio nelle configurazioni di default. Un router non autorizzato che parla il protocollo giusto può iniettare route nella tabella di routing dell’intera rete.
RIP: Routing Information Protocol #
Cos’è RIP #
RIP (Routing Information Protocol) è il protocollo di routing più semplice e più vecchio. Definito in RFC 1058 (RIPv1) e RFC 2453 (RIPv2), usa il distance-vector algorithm: ogni router conosce solo la distanza verso le reti vicine e propaga quella conoscenza.
La metrica di RIP è il hop count: il numero di router da attraversare per raggiungere una destinazione. Il massimo è 15 hop — 16 significa “irraggiungibile”. Questo lo rende inadatto a reti grandi.
Come funziona RIP #
- Ogni router invia il proprio RIP table completo ai vicini ogni 30 secondi (RIPv1: broadcast; RIPv2: multicast 224.0.0.9)
- I vicini aggiornano le proprie tabelle con le informazioni ricevute
- Se una route non viene aggiornata entro 180 secondi (timeout), viene marcata come irraggiungibile
- Convergenza lenta: in reti grandi ci volgono minuti per propagare i cambiamenti
RIP in un pentest #
RIP usa UDP porta 520. In reti con RIP attivo (spesso ambienti legacy e SOHO), un attaccante può:
Iniettare route false: inviare RIP Response con route più specifiche (hop count basso) per dirottare traffico:
from scapy.all import *
# RIPv2 route injection
rip_packet = (
IP(src="192.168.1.1", dst="224.0.0.9") /
UDP(sport=520, dport=520) /
RIP(cmd=2) /
RIPEntry(AF=2, addr="10.0.0.0", mask="255.0.0.0", nextHop="0.0.0.0", metric=1)
)
send(rip_packet, iface="eth0")Causare routing loop: iniettare route che si riferiscono l’una all’altra, causando loop di instradamento e interruzioni del servizio.
OSPF: Open Shortest Path First #
Cos’è OSPF #
OSPF (Open Shortest Path First) è il protocollo IGP più usato nelle reti enterprise. Definito in RFC 2328 (OSPFv2 per IPv4) e RFC 5340 (OSPFv3 per IPv6), usa il link-state algorithm: ogni router conosce la topologia completa dell’area e calcola il percorso ottimale tramite l’algoritmo di Dijkstra (SPF).
Usa IP protocol number 89 e multicast:
- 224.0.0.5 — All OSPF routers
- 224.0.0.6 — All Designated Routers
Concetti chiave OSPF #
Area: OSPF divide la rete in aree gerarchiche. L’Area 0 (backbone) è obbligatoria. Le altre aree si connettono al backbone tramite ABR (Area Border Router).
Designated Router (DR) e Backup DR (BDR): sulle reti multi-access (come Ethernet), OSPF elegge un DR che centralizza la distribuzione degli LSA. Controllare il DR significa controllare il flusso degli aggiornamenti di routing nell’area.
LSA (Link State Advertisement): i messaggi OSPF che descrivono la topologia della rete. Ogni router inonda la propria area con i propri LSA.
Hello packet: OSPF usa pacchetti Hello ogni 10 secondi (su reti broadcast) o 30 secondi (su link seriali) per verificare che i vicini siano attivi e mantenere le adiacenze.
Come funziona OSPF #
- Router invia Hello su 224.0.0.5 per scoprire i vicini
- Negozia parametri (Hello interval, Dead interval, Area ID) con ogni vicino
- Se i parametri corrispondono, forma un’adiacenza (neighbor relationship)
- Scambia il proprio database LSA con i vicini tramite DBD, LSR, LSU, LSAck
- Calcola il percorso ottimale con SPF
- Installa le route nella tabella di routing
OSPF in un pentest #
OSPF è il protocollo di routing più interessante per un pentester enterprise.
Reconnaissance passiva: il traffico OSPF è visibile su qualsiasi interfaccia connessa alla rete. Hello packet e LSA rivelano:
tcpdump -i eth0 -nn proto 89In Wireshark:
ospfGli LSA contengono la mappa completa della topologia OSPF: tutti i router, tutte le subnet, tutti i link. In pochi minuti di ascolto passivo si ottiene un diagramma completo della rete interna.
Injection di route OSPF false: se l’autenticazione OSPF non è configurata (default in molti ambienti), un attaccante può stabilire un’adiacenza OSPF con i router vicini e iniettare LSA arbitrari:
# Con FRRouting (FRR) su Linux
apt install frr
# Configurare ospfd con route da iniettareCon Loki (framework per attacchi a protocolli di routing):
loki -i eth0 --ospfDiventare DR/BDR: inviare Hello con Router Priority massima (255) per vincere l’elezione del Designated Router. Il DR riceve tutti gli LSA e li distribuisce — posizione privilegiata per intercettare aggiornamenti di routing.
Falso LSA per MITM: iniettare un LSA che annuncia una route più specifica verso un subnet target con se stesso come next-hop. Il traffico verso quella subnet passa per l’attaccante.
EIGRP: Enhanced Interior Gateway Routing Protocol #
Cos’è EIGRP #
EIGRP (Enhanced Interior Gateway Routing Protocol) è un protocollo di routing proprietario Cisco, in parte aperto con RFC 7868. Usa un algoritmo ibrido chiamato DUAL (Diffusing Update Algorithm) che combina caratteristiche distance-vector e link-state.
Usa IP protocol number 88 e multicast 224.0.0.10.
La metrica EIGRP è composita: considera bandwidth, delay, reliability, load, e MTU — significativamente più ricca del solo hop count di RIP.
EIGRP in un pentest #
Come OSPF, EIGRP non ha autenticazione di default in molte configurazioni legacy. Il traffico EIGRP è visibile su qualsiasi interfaccia nella stessa subnet:
tcpdump -i eth0 -nn proto 88In Wireshark:
eigrpI pacchetti EIGRP Hello rivelano il Router ID, l’AS number, e i parametri K (metriche). Con Loki:
loki -i eth0 --eigrpLoki può stabilire adiacenze EIGRP e iniettare route false, ottenendo lo stesso effetto MITM descritto per OSPF. L’AS number è visibile nei pacchetti Hello — necessario per stabilire l’adiacenza.
BGP: Border Gateway Protocol #
Cos’è BGP #
BGP (Border Gateway Protocol) è il protocollo di routing di Internet. Definito nell’RFC 4271, BGP è l’unico EGP in uso: gestisce il routing tra i sistemi autonomi (AS) che compongono Internet.
BGP usa TCP porta 179. A differenza di OSPF e EIGRP, BGP è un protocollo path-vector: non calcola il percorso ottimale basandosi sulla topologia, ma sceglie il percorso in base a policy e attributi definiti dall’amministratore.
Concetti chiave BGP #
AS (Autonomous System): un insieme di reti sotto un’unica amministrazione con una policy di routing coerente. Identificato da un ASN (Autonomous System Number).
BGP peer (speaker): due router BGP si connettono tramite sessione TCP e si scambiano informazioni di routing. La sessione richiede che i peer siano configurati esplicitamente (no discovery automatico come OSPF).
eBGP vs iBGP: eBGP (External BGP) tra AS diversi; iBGP (Internal BGP) tra router dello stesso AS.
NLRI (Network Layer Reachability Information): le informazioni di raggiungibilità scambiate tra peer BGP — essenzialmente la lista di prefissi IP con i loro attributi.
Attributi BGP: ogni route BGP ha attributi che ne determinano la preferenza (AS_PATH, NEXT_HOP, LOCAL_PREF, MED, COMMUNITY, ecc.).
BGP in un pentest #
BGP è rilevante in engagement su ISP, grandi enterprise con connessioni multi-homed, e ambienti cloud/CDN.
Reconnaissance passiva su sessioni BGP:
# Identificare sessioni BGP attive
nmap -p 179 <target_range>
# Capture del traffico BGP
tcpdump -i eth0 -nn tcp port 179Le sessioni BGP in chiaro (BGP non usa cifratura di default) rivelano:
- ASN dei peer
- Prefissi annunciati
- Attributi delle route
BGP Hijacking (su reti con BGP proprio o accesso a router BGP): se un attaccante riesce ad accedere a un router BGP o a stabilire una sessione BGP non autorizzata, può annunciare prefissi IP più specifici di quelli legittimi. I router Internet preferiscono route più specifiche (Longest Prefix Match): il traffico verso quei prefissi viene rediretto globalmente.
Questo è esattamente il meccanismo degli incidenti BGP più famosi: Pakistan Telecom che ha “preso” il traffico YouTube nel 2008, o i molteplici incident BGP di leak e hijack documentati annualmente.
BGP Session Reset (DoS): inviare un RST TCP alla sessione BGP causa il reset della sessione e la rimozione di tutte le route del peer. Richiede IP spoofing o accesso MITM sul path TCP:
hping3 -S -a <bgp_peer_ip> -p 179 --tcp-timestamp <router_ip>Lettura dei full routing table tramite looking glass: in ambienti con accesso a looking glass BGP interni, è possibile ottenere l’intera tabella di routing dell’organizzazione senza accesso diretto ai router.
OSPF/EIGRP/BGP/RIP in un engagement di pentesting #
Reconnaissance: identificare protocolli attivi #
Il primo passo è identificare quali protocolli di routing sono attivi nel segmento:
# Ascoltare il multicast di routing
tcpdump -i eth0 -nn dst net 224.0.0.0/4
# OSPF (proto 89) su 224.0.0.5/224.0.0.6
tcpdump -i eth0 -nn proto 89
# EIGRP (proto 88) su 224.0.0.10
tcpdump -i eth0 -nn proto 88
# RIP (UDP 520) su 224.0.0.9
tcpdump -i eth0 -nn udp port 520
# BGP (TCP 179)
tcpdump -i eth0 -nn tcp port 179Con Nmap:
nmap -sU -p 520 <subnet> # RIP
nmap -p 179 <subnet> # BGP
nmap --script broadcast-ospf-discover -e eth0 # OSPF discoveryEnumeration della topologia da LSA/Update #
Una volta identificato il protocollo, ascoltare il traffico per raccogliere la topologia:
- OSPF LSA: rivelano tutti i router, tutte le subnet, i link cost, gli ABR
- EIGRP Update: rivelano le reti raggiungibili e le metriche
- BGP Update: rivelano i prefissi annunciati e l’AS path
- RIP Response: rivelano le subnet raggiungibili e i hop count
In pochi minuti di ascolto passivo si costruisce una mappa della rete più dettagliata di qualsiasi scan attivo.
Attack surface: route injection #
Su tutti i protocolli senza autenticazione (o con autenticazione debole), l’iniezione di route false permette di:
- MITM: annunciare route più specifiche verso subnet target con se stesso come next-hop
- Blackholing: annunciare route con next-hop inesistente per scartare silenziosamente il traffico
- Route leak: propagare route interne verso segmenti non autorizzati
Tool principali per attacchi ai protocolli di routing:
- Loki: toolkit specifico per OSPF, EIGRP, RIP, BGP
- Scapy: costruzione di pacchetti di routing personalizzati
- FRRouting: implementazione completa di OSPF, EIGRP, BGP, RIP su Linux
- GNS3/EVE-NG: per testare in laboratorio prima dell’engagement
Pivoting tramite manipolazione del routing #
Iniettando route che annunciano subnet normalmente non raggiungibili dall’attaccante come raggiungibili attraverso di lui, è possibile espandere il raggio d’azione dell’engagement verso segmenti isolati. Combinato con VLAN hopping e tunneling GRE, questa tecnica permette di raggiungere praticamente qualsiasi segmento della rete interna.
Attacchi specifici su OSPF/EIGRP/BGP/RIP #
RIP: False Response Injection #
Inviare RIP Response con route più specifiche e metric 1. Convergenza rapida (30 secondi): il traffico viene rediretto quasi immediatamente.
OSPF: Fake LSA e MaxAge Attack #
Inviare LSA con MaxAge (3600 secondi) per un router legittimo causa l’immediata rimozione di quel router dalla topologia OSPF — effetto DoS selettivo su un singolo router senza toccarlo fisicamente.
EIGRP: Stuck-In-Active (SIA) Attack #
Inviare query EIGRP continue senza risposta mette i vicini in stato SIA, causando la rottura delle adiacenze e la convergenza verso percorsi alternativi — potenzialmente meno sicuri.
BGP: AS Path Manipulation #
Inviare update BGP con AS_PATH manipolato per influenzare le preferenze di routing dei peer, dirottando traffico su percorsi controllati dall’attaccante.
Esempi pratici con OSPF/EIGRP/BGP/RIP in laboratorio #
Analisi OSPF completa con Wireshark #
ospf.msg.hello # Pacchetti Hello (topology discovery)
ospf.msg.dbdesc # Database Description (lista LSA)
ospf.msg.lsupdate # LSA Update (topologia completa)
ospf.v2.options.e # OSPF con external routesDump della topologia OSPF con Scapy #
from scapy.all import *
# Ascoltare Hello OSPF e stampare Router ID e Area
sniff(filter="proto 89", iface="eth0",
prn=lambda p: print(f"Router ID: {p[OSPF].src}, Area: {p[OSPF].area}"))Verifica adiacenze OSPF su host Linux con FRR #
vtysh
show ip ospf neighbor
show ip ospf database
show ip route ospfDetection e difesa OSPF/EIGRP/BGP/RIP #
- OSPF/EIGRP/RIP: monitorare le adiacenze — un nuovo neighbor non in inventario è sospetto
- LSA/Update anomali: route più specifiche che compaiono improvvisamente, specialmente verso subnet critiche
- BGP: monitorare i prefix announcement — servizi come BGPmon e RIPE RIS rivelano hijack BGP in tempo reale
- Volume anomalo di traffico di routing: flood di pacchetti Hello o Update può indicare un attacco DoS
Hardening e mitigazioni OSPF/EIGRP/BGP/RIP #
Autenticazione OSPF #
OSPFv2 supporta autenticazione MD5 (legacy) e SHA-HMAC:
interface GigabitEthernet0/0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 <password>Meglio: usare OSPFv3 con IPSec per autenticazione e cifratura.
Autenticazione EIGRP #
key chain EIGRP-KEYS
key 1
key-string <password>
router eigrp 100
network 192.168.0.0
authentication mode eigrp 100 md5
authentication key-chain eigrp 100 EIGRP-KEYSAutenticazione RIPv2 #
key chain RIP-KEYS
key 1
key-string <password>
interface GigabitEthernet0/0
ip rip authentication mode md5
ip rip authentication key-chain RIP-KEYSBGP: TTL Security e MD5 #
neighbor <peer_ip> ttl-security hops 1 # GTSM — accetta solo pacchetti con TTL 255
neighbor <peer_ip> password <password> # MD5 sulla sessione TCP BGPFiltrare il traffico di routing sulle porte di accesso #
Nessun host utente dovrebbe poter inviare o ricevere traffico OSPF, EIGRP, RIP o BGP. Configurare ACL sui router per accettare questi protocolli solo dalle interfacce verso altri router autorizzati.
Errori comuni su OSPF/EIGRP/BGP/RIP #
“I protocolli di routing sono interni, non sono a rischio” Falso. Un attaccante con accesso fisico o logico a qualsiasi segmento della rete può partecipare al routing dinamico se l’autenticazione non è configurata.
“L’autenticazione MD5 su OSPF/EIGRP è sufficiente” MD5 è considerato debole. Preferire SHA-256/SHA-512 dove supportato. MD5 è comunque molto meglio di nessuna autenticazione.
“BGP è sicuro perché richiede configurazione manuale dei peer” BGP richiede la configurazione del peer, ma non verifica l’identità in modo crittografico di default. La combinazione GTSM + MD5 + prefix filtering è il minimo per BGP sicuro.
“RIP è obsoleto, nessuno lo usa più” RIP è presente in moltissimi router SOHO, dispositivi embedded, e ambienti legacy industriali. In un engagement su reti OT/ICS o ambienti con hardware datato, RIP è molto più comune di quanto ci si aspetti.
FAQ su OSPF/EIGRP/BGP/RIP #
Cos’è OSPF e come funziona? OSPF (Open Shortest Path First) è un protocollo di routing link-state che usa l’algoritmo di Dijkstra per calcolare il percorso ottimale. Ogni router ha una mappa completa della topologia della propria area e calcola autonomamente le route migliori.
Qual è la differenza tra OSPF e BGP? OSPF è un IGP usato all’interno di un singolo AS per trovare il percorso ottimale basandosi sulla topologia. BGP è l’EGP usato tra AS diversi per scambiare informazioni di raggiungibilità basandosi su policy. OSPF converge velocemente; BGP è lento e policy-driven.
Come si sfrutta OSPF in un pentest? I due vettori principali sono: l’ascolto passivo degli LSA per mappare la topologia della rete, e l’iniezione di LSA falsi (su reti senza autenticazione) per redirigere il traffico. Tool come Loki o FRRouting permettono di stabilire adiacenze OSPF e iniettare route.
Cos’è un BGP hijack? Un BGP hijack è l’annuncio non autorizzato di prefissi IP altrui da parte di un AS. I router Internet preferiscono le route più specifiche (Longest Prefix Match), quindi un hijack con prefisso più specifico redirige il traffico verso l’attaccante a livello globale.
Come si protegge OSPF dagli attacchi? La difesa principale è l’autenticazione: configurare autenticazione SHA-HMAC su tutte le interfacce OSPF. Combinata con ACL che limitano il traffico OSPF solo alle interfacce verso router autorizzati, riduce drasticamente la superficie di attacco.
Conclusione su OSPF/EIGRP/BGP/RIP #
I protocolli di routing dinamico sono la spina dorsale invisibile di qualsiasi rete enterprise. Sono ovunque, spesso non autenticati, e trasportano la mappa completa dell’infrastruttura in ogni pacchetto che inviano.
In un engagement su reti interne, ascoltare il traffico OSPF o EIGRP per pochi minuti può darti una visione della topologia più completa di settimane di scanning attivo. E su reti senza autenticazione, iniettare route false significa controllare il flusso del traffico di tutta l’organizzazione.
Approfondisci i protocolli correlati:
- IP Internet Protocol: il livello di rete
- ICMP: diagnostica e traceroute
- IGMP: multicast e gruppi di routing
- GRE: tunneling per routing dinamico su VPN
- IPSec: sicurezza per il traffico di routing
- VRRP, HSRP, CARP: ridondanza e gateway spoofing
- Nmap: service detection e scanning
Riferimento ufficiale: RFC 2328 — OSPF Version 2
Hai routing dinamico nella tua infrastruttura e non sai se è configurato in modo sicuro? Un pentest dedicato al livello 3 può rispondere a quella domanda prima che lo faccia qualcun altro: hackita.it/servizi.
HackITA è gratuito grazie a chi decide di supportarlo: hackita.it/supporto







