WLAN analysieren und optimieren

Workshop: Mit Kismet Schwachstellen im WLAN aufdecken

Kismet konfigurieren

Die neue Version 2011-03-R2 von Kismet ist grundlegend neu programmiert. Die Konfigurationsdateien älterer Versionen sind damit nicht mehr zu gebrauchen. Der Kismet-Client ist vollständig überarbeitet und hat mit früheren Versionen nichts mehr gemein. Die Konfiguration geschieht inzwischen direkt im Kismet-Client und wird im Home-Verzeichnis der Nutzer in der Datei ~/.kismet/kismet_ui.conf gespeichert. Programmabstürze sind seltener, außerdem gibt es neue Filtermethoden, und bei einer großen Anzahl von Netzwerken wird die CPU deutlich weniger beansprucht.

Erster Start: Zunächst meldet sich der Kismet-Server mit dem Konsolenfenster. Mit der Tab-Taste wechselt man auf die Schaltfläche und schließt das Fenster.
Erster Start: Zunächst meldet sich der Kismet-Server mit dem Konsolenfenster. Mit der Tab-Taste wechselt man auf die Schaltfläche und schließt das Fenster.

Kismet nutzt die textbasierte Ncurses-Bibliothek, ähnlich wie etwa der Midnight Commander. Das Menü aktiviert der Benutzer über die [Esc]-Taste, die Navigation im Menü geschieht mithilfe der [Tab]-Taste. Die Maus wird unterstützt, allerdings nicht von allen Widgets. Das Hauptfenster besteht aus der Netzwerkliste, GPS-Informationen, einer Statistik des Servers und dem Paketstatus. In der Statuszeile erscheinen Fehlermeldungen und weitere Hinweise. Weitere Komponenten können über das View-Menü hinzugeschaltet werden. Die Vorgaben werden über Kismet, Preferences geändert; ein Neustart ist danach nicht erforderlich. In den Vorgaben zum Start-up und Shut-down stellt man beispielsweise ein, ob der Kismet-Server gestartet oder beim Verlassen des Programms automatisch geschlossen werden soll.

Geordnete Ausgabe: Über das Kismet-Menü kann der Benutzer die WLANs sortieren, etwa nach der Verschlüsselung. Im Info-Bereich sind gerade zwei versteckte Funknetze geortet worden, eines davon unverschlüsselt.
Geordnete Ausgabe: Über das Kismet-Menü kann der Benutzer die WLANs sortieren, etwa nach der Verschlüsselung. Im Info-Bereich sind gerade zwei versteckte Funknetze geortet worden, eines davon unverschlüsselt.

Nach dem Start müssen Sie Kismet zunächst den WLAN-Adapter mitteilen. Dazu starten Sie das Programm, das sich zuerst mit dem Kismet-Server verbinden will. Bestätigen Sie das mit Yes und anschließend mit Start. Im nächsten Schritt müssen Sie den WLAN-Adapter hinzufügen, falls der nicht automatisch erkannt wird. Der WLAN-Adapter wird als "Packet Source" bezeichnet.

In die Zeile Intf tragen Sie den WLAN-Adapter ein; oft reicht ein wlan0. Sollte das nicht funktionieren, hilft ein Blick in Kapitel 5 "Capture Sources" sowie in Kapitel 7 "Supported capture source types" der Dokumentation. Alle modernen Treiber, die das mac80211-Framework unterstützen, werden automatisch erkannt. Außer dem generischen Treiber namens mac80211 werden unter anderem die folgenden Treiber unterstützt: adm8211; acx100; hostap (prism2-Treiber); die Intel-Treiber ipw2100, ipw2200, ipw2915 und ipw3945; madwifi und die Vorgaben für die Känale mit madwifi_a (802.11a), madwifi_b (802.11b), madwifi_g (802.11b/g) und madwifi_ag (802.11abg); die Nokia-Maemo-Tablet-Treiber nokia770, nokia800, nokia810 und nokiaitt.

Welche WLAN-Schnittstellen auf dem eigenen Rechner zur Verfügung stehen, kriegt man schnell mit dem Konsolenbefehl iwconfig heraus. Den verwendeten Chipsatz finden Sie bei einer PCI- oder PCMCIA-Karte mit dem Befehl

lspci | grep -i net

und bei einer USB-Karte mit dem Befehl

lsusb

heraus. Die Daten zum WLAN-Adapter können Sie dann in die /etc/kismet/kismet.conf eintragen. Dort sollte die Zeile dann beispielsweise so lauten:

ncsource=wlan0:option1=foo,option2=bar

Es gibt insgesamt 15 Optionen. Informationen darüber stehen im Abschnitt 5 der README-Datei unter "Capture sources". Wichtige Optionen sind:

  • type: der Treibertyp, falls er nicht erkannt wird.

  • hop=true|false: Kanal-Hopping ein- oder ausschalten.

  • Velocity=#: Wechsel der Kanäle pro Sekunde; mögliche Werte sind 1 bis 10.

  • dwell=#: Dauer in Sekunden, wie lange Kismet auf einem Kanal verweilt.

Wer zum Beispiel alle Daten auf Kanal 6 erfassen will, trägt die folgende Zeile ein:

ncsource=wlan0:hop=false,channel=6

Kismet versucht außerdem, sich mit einem GPS-Server zu verbinden. Sollten Sie das nicht benötigen, schalten Sie die GPS-Erkennung in der Konfigurationsdatei /etc/kismet/kismet.conf ab. Dazu ändern Sie die Zeile gps=true in gps=false.

Sammelleidenschaft: Nach etwa zwei Stunden hat Kismet fast 3300 WLANs aufgespürt und in die Logdateien eingetragen. Unten im Info-Bereich steht, welche verschlüsselt sind und welche nicht.
Sammelleidenschaft: Nach etwa zwei Stunden hat Kismet fast 3300 WLANs aufgespürt und in die Logdateien eingetragen. Unten im Info-Bereich steht, welche verschlüsselt sind und welche nicht.

Die erhaltenen Daten loggt der Sniffer mit. In der Voreinstellung speichert Kismet die PCAP-Datei, das GPS-Log, Alarme und das Netzwerk-Log als XML und Text. Die Log-Dateien werden in das Verzeichnis geschrieben, aus dem heraus Kismet gestartet wird, üblicherweise also ins Home-Verzeichnis. Das können Sie ändern mit der Option --log-prefix. Wichtig dabei: Die Verzeichnisse, in denen die Log-Dateien aufgezeichnet werden, müssen zuvor existieren.