In lokalen Netzwerken spielt das Spanning Tree Protokol (STP), welches auf der OSI-Layer 2 arbeitet, eine wichtige Rolle bei der Gewährleistung einer stabilen Netzwerkinfrastruktur. Als Protokoll zur Vermeidung von Schleifen ermöglicht es eine redundante Netzwerktopologie und schützt vor Datenverlusten und Netzwerküberlastungen. In diesem Blogbeitrag befassen wir uns mit den Sicherheitsrisiken, die die Defaultkonfiguration des STP birgt: Wir zeigen dir 3 Spanning Tree Protokoll Angriffe und erklären anschließend, wie du diese mit der BPDU-Guard Funktion vermeiden kannst.
Wenn du die Funktionsweise des Spanning Tree Protokoll im Detail nachlesen möchtest, empfehlen wir unseren Grundlagen-Beitrag:
https://www.prosec-networks.com/blog/das-spanning-tree-protokoll/
Das Spanning Tree Protokoll, obwohl als stabilisierende Technologie entwickelt, birgt Schwachstellen, die Angreifern ausnutzen können.
Gesendeten und empfangenen BPDUs wird standardmäßig vertraut. Innerhalb des Protokolls existiert keine Authentifizierung/ Möglichkeit zur Verifizierung, mit der Switche prüfen können, ob es sich um ein valides BPDU-Paket eines anderen Switches handelt. Das hat zur Folge, dass jedes BPDU-fähige Gerät (Linux, Unix, Switche) in den Spanning-Tree-Prozess eingreifen und ihn verändern kann.
Eine gängige STP-Angriffsmethode ist es, das Netzwerk über längere Zeiträume zu stören bzw. die Kommunikation zu unterbinden (Denial of Service). Dies kann zu Beeinträchtigungen oder zum zeitweisen Totalausfall des Netzwerkverkehrs führen. Eine andere Möglichkeit ist das Mitlesen und „Übersprechen“ von Netzwerkverkehr.
Der folgende Abschnitt zeigt 3 konkrete Angriffe, die sich das Spanning Tree Protokoll zunutze machen.
Die Ports der Switches verfügen über keinen Sicherheitsmechanismus, der einen Angreifer am Zugriff auf das STP hindert. Dadurch kann ein Angreifer den STP-Traffic mitlesen.
Wenn du keine aktiven Gegenmaßnahmen triffst, erhalten Angreifer entsprechende BPDU-conf Frames vom jeweiligen STP-Prozess, der auf den Ports läuft.
In unserem Beispiel lesen wir den Traffic mit dem Netzwerkanalyse-Tool Wireshark mit und haben Einsicht in die STP-Frames.
Die BPDU-Frames geben weitere Informationen wie BPDU Type, flags, root ID etc. preis. Diese Informationen können für weitere Angriffsvektoren hilfreich sein.
Neben der Informationsbeschaffung können Angreifer das SPT für das Auslösen eines Denial of Service im Netzwerk nutzen. Hierzu sendet der Angreifer Rekonfigurationspakete an alle Switches. Der Angreifer kann verschiedene Frames nutzen, um einen Denial of Service zu verursachen, auf die wir im Folgenden näher eingehen.
Wir benutzen das Tool Yersinia, um diesen Angriff zu durchzuführen.
Im Attack Menu bei Yersinia sind die mit x markierten Attacks DoS-Angriffe. Solange ein Angreifer über Yersinia den DoS fährt, können andere Geräte nicht mehr kommunizieren, weil der Switch immer wieder dazu aufgefordert wird, den STP-Prozess neu zu starten. Die Root-Bridge wird immer wieder neu ausgehandelt, was viel Traffic produziert.
Schaut man sich den Angriff in Wireshark an, kann man anhand der ConfCT sehen, dass Yersinia Einträge manipuliert. Darunter fallen die root bridge priority, Bridge System ID Extension und weitere.
Yersinia sendet immer wieder neue Topologie Change Notifications zur Root-Bridge und durch die Generierung von TCN Paketen wird die Bandbreite zwischen den Switches auf ein Maximum gesetzt (Traffic congestion).
Indem der Angreifer sein Device im Netzwerk als Root-Bridge erklärt, fließt der gesamte Layer 2 Traffic über ihn. Da normale Rechner der Last in der Regel nicht gewachsen sind, ist ein Systemabsturz nicht unwahrscheinlich. Daher solltest du diesen Angriff mit Vorsicht genießen.
Im Attack Menu in Yersinia wählst du hierzu Option 4: „Claim root role“. Yersinia emuliert, dass ein neues Layer 2 Gerät ins Netz kommt und handelt die root bridge entsprechend aus. Bei großen Netzwerken ist die Wahrscheinlichkeit hoch, dass der Rechner abstürzt. Wenn das Attacker-Device abstürzt, wird ein DoS ausgelöst, da der Attacker die Root-Bridge darstellt, die dann nicht mehr zur Verfügung steht.
Um Man-in-the-Middle oder Denial-of-Service Spanning Tree Protokoll Angriffe zu erkennen und zu unterbinden, empfehlen wir den Einsatz der Funktion „BPDU-Guard“ auf sogenannten Access/Edge-Switchports.
Nach der erfolgten Konfiguration werden Switchports, die von einem angeschlossenen Client eine BPDU erhalten, abgeschaltet und die BPDU wird verworfen, sodass keine Neukonfiguration ins Netzwerk übermittelt wird.
Wenn die Funktion nicht aktiviert ist, kann ein entsprechend gestaltetes BPDU dazu führen, dass das Angreifer-Gerät zur Root-Bridge in einem Netzwerk wird, was den Traffic umleitet. Dies ermöglicht Man-in-the-Middle-Angriffe. BPDUs führen dazu, dass alle Switches in einem Netzwerk die Struktur des Spanning Trees neu aushandeln. Während dieser Periode werden keine weiteren Pakete weitergeleitet und das Netzwerk funktioniert nicht. Angreifer können diesen Zustand kann durch dauerhaftes Versenden von BPDUs aufrechterhalten.
Für die Aktivierung der BPDU-Guard Funktion kannst du folgende CLI-Commands verwenden:
#Globale Aktivierung des BPDU Guard Features auf dem Switch.
#Wird nur auf Ports mit der Portfast Einstellung eingesetzt.
configure terminal
spanning-tree portfast bpduguard default
#Auswahl des Switchport-Interfaces.
#Alternativ kann auch eine Interface Range benannt werden.
interface interface-id
#Aktiviert das Port Fast Feature, das dazu führt,
#dass ein Switchport sofort in den Forwarding State wechselt.
#Dieser Zustand sollte nur an Access/Edge-Ports vorherrschen.
spanning-tree portfast
#Beendet Config-Prompt.
#Switch-abhängig - Switche neuerer Generation beinhalten
#diesen Command nicht mehr.
end
#Verifizierung der Einstellungen
show spanning-tree interface interface-id
Anmerkung:
Das Feature BPDU Guard kann auch an einzelnen Switchports bzw. Ranges aktiviert werden. Hierzu kann der folgende Befehl genutzt werden:
#Aktiviert das BPDU Guard Feature auf dem Switchport
spanning-tree bpduguard enable
#Beendet Config-Prompt.
end
#Verifizierung der Einstellungen
show spanning-tree interface interface-id
Das Spanning Tree Protokoll (STP) ist essenziell für die Netzwerkstabilität und effiziente Datenübertragung. Es bietet Vorteile wie Redundanz, Ausfallsicherheit, Kontrolle von Broadcast- und Multicast-Nachrichten sowie einfache Implementierung und Interoperabilität. Dennoch ist es wichtig, die damit verbundenen Sicherheitsrisiken zu verstehen und geeignete Maßnahmen zu ergreifen, um diese zu minimieren.
Eine solche Maßnahme ist die Aktivierung des „BPDU-Guard“ auf Access/Edge-Switchports, um Spanning Tree Protokoll Angriffe wie Man-in-the-Middle und Denial-of-Service zu erkennen und zu blockieren. Regelmäßige Sicherheitsaudits und Überprüfungen der STP-Konfiguration sind ebenfalls empfehlenswert, um Schwachstellen zu identifizieren und entsprechend zu handeln.
Wir verwenden Cookies, und Google reCAPTCHA, das Google Fonts lädt und mit Google-Servern kommuniziert. Durch die weitere Nutzung unserer Website stimmen Sie der Verwendung von Cookies und unserer Datenschutzerklärung zu.