wiki.mbirth.de

All you never wanted to know

View on GitHub
:new: 2009-06-05 :wavy_dash: :up: 2009-06-05

Cisco Catalyst 2950

MAC Adresstabelle

Mit folgendem Befehl (im enable Modus) kann man sich den Zustand der MAC-Adresstabelle anzeigen lassen:

show mac-address-table count

Die Ausgabe sieht in etwa so aus:

Mac Entries for Vlan 1:
---------------------------
Dynamic Address Count  : 89
Static  Address Count  : 0
Total Mac Addresses    : 89

Total Mac Address Space Available: 8178

Laut cisco.com ist der normale Timeout einer MAC-Adresse 5min (=300 Sekunden). Während der STP-Erkennung ist der Timeout 15 Sekunden - das erklärt auch, warum die MAC-Adresstabelle nach Ändern der Topologie plötzlich leer ist.

MAC Flooding Angriff

Üblicherweise schalten Switches bei überfüllter CAM-Tabelle (MAC <=> Port-Zuordnung) in eine Art Hub-Modus für unbekannte MAC-Adressen, so dass man auf allen Ports ALLE Pakete bekommt, die an MAC-Adressen gehen sollen, welche nicht in der Tabelle stehen. Dadurch wird das Mitsniffen von fremder Kommunikation möglich.

Dies ist nochmal genauer unter tomshardware.com erläutert. Demnach ändert sich für bereits bestehende Einträge der CAM-Tabelle nichts - diese werden weiterhin geswitcht.

Der genaue Ablauf ist auch nochmal unter hakipedia.com erklärt. Dort wird auch gezeigt, wie man den Switch gegen diesen Angriff absichern kann.

Versuchsaufbau

Versuchsaufbau

IP305 und IP110 sind VoIP-Geräte. Die IP305 ist die Telefonanlage, die beiden IP110 sind Telefone. Durch diesen Aufbau ist gewährleistet, das jeglicher Verkehr zwischen Telefonanlage und Telefon durch den Switch geht. Die Kommunikation unter den Telefonen bei erfolgtem Verbindungsaufbau dürfte direkt über den PoE-Switch abgewickelt werden.

Benutzte Software

  • BackTrack 4insbes. das macof-Tool aus dem dsniff-Paket zum Fluten der MAC-Tabelle
  • PuTTY oder PuTTY Trayfür den Zugriff auf die Cisco-Konsole
  • Wiresharkzum Mitprotokollieren des VoIP-Verkehrs

Vorbereitung

  • BackTrack 4 in einer virtuellen Maschine auf dem Angreifenden PC booten (VM mit ca. 512MB oder mehr RAM anlegen, ISO-Image als CD-Laufwerk einbinden; alternativ direkt das VMware-Image herunterladen)
  • mit root / toor in BackTrack anmelden
  • mit folgenden Befehlen die IP-Adresse einrichten: (die IP durch eine freie IP im Netz ersetzen)

    /etc/init.d/networking start
    ifconfig eth0 192.168.0.9
    
  • am Logging PC das Programm Wireshark installieren und starten
  • eine Überwachungs-Sitzung auf dem benutzten Netzwerk-Interface starten
  • in der Filterzeile folgenden Filter angeben und Anwenden: h225 || q931 (Unterlässt man dies, wird Wireshark durch die MAC-Flut überlastet und man kann Stunden warten, bis die interessanten Pakete sichtbar sind.)

Durchführung

  • auf dem Angreifenden PC wird jetzt in der VM das Tool macof gestartet:

      macof
    
  • jetzt laufen haufenweise MAC-Adressen über den Bildschirm; die Bildschirmausgabe bremst allerdings den Ablauf des Programms. Schaltet man mit Strg-Alt-F2 auf ein anderes Terminal, wird die CAM-Tabelle schneller geflutet. (Mit Strg-Alt-F1 kommt man jederzeit wieder zurück auf das erste Terminal.)
  • den Erfolg kann man an der Konsole des Switches mit dem o.g. Befehl verfolgen:

    Switch>en
    Switch#show mac-address-table count
    
    Mac Entries for Vlan 1:
    ---------------------------
    Dynamic Address Count  : 8186
    Static  Address Count  : 0
    Total Mac Addresses    : 8186
    
    Total Mac Address Space Available: 0
    
  • erhält man zuerst keine Pakete auf dem Logging PC, liegt das daran, dass die “echten” MAC-Adressen im Netz noch in der Tabelle des Switches stehen; das Löschen dieser kann man forcieren, indem man ein Kabel abzieht und/oder ansteckt - dadurch wird der MAC-Timeout auf 15 Sekunden gesetzt und 15 Sekunden später sind alle alten MAC-Adressen aus der Tabelle gefallen - dabei muss macof aktiv sein und die Telefone sollten in den 15 Sekunden nicht angefasst werden (sonst beginnt der Timeout von vorn), damit die freigewordenen Plätze gleich “zugemüllt” werden.
  • jetzt erscheinen im Wireshark die H225-Nachrichten, wenn man an einem Telefon einen Hörer abhebt bzw. das andere Telefon anruft:
    Wireshark Screenshot

Absicherung

Mit folgenden Befehlen kann man den Switch gegen solche Angriffe absichern:

Switch>en
Switch#conf ter
Switch(config)#interface range FastEthernet 0/1 - 8
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport port-security
Switch(config-if-range)#switchport port-security maximum 5
Switch(config-if-range)#switchport port-security violation shutdown
Switch(config-if-range)#end
Switch#

Dadurch werden pro Port nur 5 MAC-Adressen erlaubt. Kommen von einem Port Nachrichten von weiteren MAC-Adressen, wird dieser Port deaktiviert, d.h. das Gerät wird vom Netz getrennt. Die Befehle sind hier erläutert. Evtl. muss man noch switchport port-security aging setzen, damit alte MAC-Adressen auch aus der Statistik genommen werden.

Die deaktivierten Ports bekommt man auf zwei Wege wieder an:

Switch>en
Switch#conf ter
Switch(config)#interface FastEthernet 0/2
Switch(config-if)#shutdown
Switch(config-if)#no shutdown

oder global:

Switch>en
Switch#conf ter
Switch(config)#errdisable recovery cause psecure-violation

Netgear FS108P PoE-Switch

Der gleiche Angriff auf einen Netgear FS108P Switch bringt den Switch nur dazu, Pakete an unbekannte MAC-Adressen zu ignorieren. Somit wäre das eine DoS-Attacke - aber keine Möglichkeit, fremde Daten mitzusniffen. Die Broadcast-Pakete hingegen werden auf allen Ports ausgegeben und fluten somit auch angeschlossene Switches/Router.

Loading Google+ comments…