Dieser Artikel erschien ursprünglich in c’t 24/2013, Seite 200

Schnellstart mit Kali Linux

Sicherheit testen, Netzwerk durchleuchten, Daten retten

Ronald Eikenberg – 28.05.2014

Will man ein Netzwerk auf seine Sicherheit hin abklopfen oder den Daten verkehr einer App analysieren, landet man schnell bei Linux. Die Spezial-Distribution Kali Linux bringt einen prall gefüllten Werkzeugkoffer mit, der das Herz von Hackern und Pentestern höher schlagen lässt.

Im Launcher präsentiert Kali Linux sein Tafelsilber.
Im Launcher präsentiert Kali Linux sein Tafelsilber. Vergrößern
Als Unterbau für Kali Linux dient Debian Wheezy, das sich mit 512 MByte RAM und 10 GByte Plattenplatz begnügt. Alternativ kann man es sogar auf einem Raspberry Pi starten. Über das Menü „Anwendungen, Kali Linux“ gelangen Sie an die Schatzkammer, die über 300 Tools enthält. Wir haben sowohl prominente Pentesting-Tools als auch selten beachtete Perlen zusammengetragen, die zum Experimentieren einladen.

Selbstredend müssen Sie dabei stets sicherstellen, die in Ihrem Land geltenden Gesetze nicht zu verletzen. Das heißt im Zweifelsfall, dass Sie die Tools nur auf Ihre eigenen Dienste ansetzen – oder zumindest mit dem expliziten Einverständnis des Betreibers.

Die Entwicklerfirma Offensive Security bietet Kali für 32-, 64-Bit- sowie ARM-Systeme zum Download an. Die ISO-Images starten zwar als Live-System, bei Gefallen kann man damit aber auch eine Installation anstoßen. Darüber hinaus gibt es eine vorgefertigte VMware-Maschine. Wer sich für das Live-System oder die virtuelle Maschine entscheidet, der will als erste Amtshandlung wahrscheinlich in den Systemeinstellungen das voreingestellte US-Tastaturlayout an die hiesigen Bedingungen anpassen.

Sie finden das Stellrad über „Applications, System Tools, Preferences, System Settings, Region and Language“. Dort können Sie auch gleich die Systemsprache umstellen. Beachten Sie, dass diese Änderungen beim Live-System nicht den nächsten Systemstart überleben. Wer Kali Linux indes installiert, nimmt diese Einstellungen über den Setup-Assistenten vor. Mit den Befehlenapt-get updateundapt-get upgradebringen Sie das System nach der Inbetriebnahme auf den aktuellen Stand.

Netzwerkscan

Auch wenn Kali mit einer grafischen Oberfläche bootet, ist der Dreh- und Angelpunkt meist die Konsole. Man erreicht sie unter anderem über das schwarz-weiße Rechteck, oben links in der Statusleiste. Für viele Operationen benötigt man Netzwerk. Der Befehl
ifconfig -azeigt, ob und welches der vorgefundenen Netzwerk-Interfaces via DHCP mit einer IP-Adresse versorgt wurde.

Bei Bedarf weist man eine IP wie folgt manuell zu:

ifconfig eth0 192.168.0.2 netmask 255.255.255.0

Der erste Parameter entspricht dem Namen der Schnittstelle. Es folgen die gewünschte IP-Adresse, die Zeichenfolge „netmask“ sowie die Netzwerkmaske. Kali Linux unterstützt zahlreiche WLAN-Adapter. Die Konfiguration geht am besten über den Netzwerkmanager von der Hand, der seine Präsenz in der oberen rechten Bildschirmecke durch ein Symbol kundtut, das zwei Rechner zeigt.

Bin da, wer noch? Zenmap zeichnet eine Karte vom Netzwerk.
Bin da, wer noch? Zenmap zeichnet eine Karte vom Netzwerk. Vergrößern
Damit ist Kali Linux im Netz – aber wer noch? Mit dem Netzwerk-Scanner nmap findet man das sehr schnell heraus. Starten Sie seine grafische Bedienoberfläche, indem Sie zenmap in die Konsole tippen. Ziel ist das lokale Netzwerk. Hat das System die IP-Adresse 192.168.0.2 bekommen, geben Sie also 192.168.0.0/24 ein, wodurch nmap den Adressblock 192.168.0.0 bis 192.168.0.255 scannt. Als Profil wählen Sie für den Probelauf den oberflächlichen „Quick scan“. Drücken Sie jetzt den Scan-Button, woraufhin sich im linken Fensterbereich eine Liste der antwortenden Netzwerkteilnehmer aufbaut. Über den Tab „Ports / Rechner“ erfährt man, auf welchen Ports die Clients antworten.

Man in the Middle

Stößt man beim Netzwerk-Scan auf Clients, die man nicht so recht zuordnen kann, liefert eine gezielte Analyse des Datenverkehrs mitunter wertvolle Hinweise. In den üblichen Netzwerkkonfigurationen kommt fremder Traffic aber nicht am Analysesystem vorbei, weshalb Sie eine Umleitung durch sogenanntes Arp-Spoofing einrichten müssen. Das klingt komplizierter, als es ist.

Zunächst weisen Sie Kali Linux an, die in Kürze einprasselnden Datenpakete des Clients an ihr eigentliches Ziel, den Router, weiterzuleiten:

echo 1 > /proc/sys/net/ipv4/ip_forward

Anschließend manipulieren Sie mit arpspoof die ARP-Tabelle des Opfers. In dieser ist festgelegt, welche IP-Adresse zu welcher MAC-Adresse gehört. Mit dem folgenden Befehl überzeugen Sie den Client davon, Pakete, die für die IP-Adresse des Routers bestimmt sind, an die MAC-Adresse des Kali-Rechners zu schicken:

arpspoof -i eth0 -r -t 192.168.0.5 192.168.0.1

eth0 bezeichnet das eingesetzte Netzwerk-Interface und -r bewirkt, dass der Verkehr in beide Richtungen umgeleitet wird. Sie erhalten also auch die Pakete, die der Router an den Client schickt. Dem Parameter -t (wie Target) folgt die IP-Adresse des Opfers (in unserem Beispiel 192.168.0.5) und zu guter Letzt geben Sie noch die IP des Routers an.

Sie befinden sich mit Kali Linux nun in der mächtigen Position des „Man in the Middle“ – also zwischen dem zu analysierenden Client und dem Router. Jetzt ist der Zeitpunkt gekommen, mit dem Tool tcpdump einen Blick auf den durchgeleiteten Traffic zu werfen:

tcpdump -i eth0 -A host 192.168.0.5

Ist der Client gerade aktiv, rauscht sein Datenverkehr nun durch die Konsole. Diesen Effekt können Sie auch mit dem grafischen tcpdump-Äquivalent Wireshark nachvollziehen.

Da inzwischen fast alles irgendwie mit dem Internet spricht, gilt es, die Datenflut sinnvoll zu filtern. Um etwa nur den Datenverkehr auf dem HTTP-Port 80 anzuzeigen, hängen Sie ein and port 80 an den Befehl. Ein| grep Suchbegriffwiederum würde nur Pakete anzeigen, die eine bestimmte Zeichenkette enthalten.

Kleiner Aufwand, große Wirkung: driftnet zeigt, welche Bilder durch das Netzwerk fließen.
Kleiner Aufwand, große Wirkung: driftnet zeigt, welche Bilder durch das Netzwerk fließen. Vergrößern
Für zahlreiche naheliegende Filteraufgaben bringt Kali Linux spezialisierte Tools mit. So extrahiert etwa urlsnarf ausschließlich HTTP-Anfragen aus dem Datenstrom. Optisch eindrucksvoll ist driftnet: Nach dem Start scrollen die im Netzwerk übertragenen Bilder über den Bildschirm. Wer noch immer ein unzureichend geschütztes WLAN betreibt, ist wohl spätestens dann vom Ernst der Lage überzeugt, wenn in Echtzeit Firmeninterna oder Urlaubserinnerungen über einen fremden Bildschirm flimmern. Wenn das nicht reicht, kann man mit dsniff noch einen draufsetzen: Das Schnüffelprogramm spürt Zugangsdaten auf, die zum Beispiel beim Anmelden an Webseiten, beim Mail-Versand oder dem Verbindungsaufbau mit einem FTP-Server übertragen werden.

Freilich sind diesen Werkzeugen Grenzen gesetzt. Sobald Verschlüsselung zum Einsatz kommt, kann man den Inhalt der Datenpakete, wenn überhaupt, nur durch einen tiefen Griff in die Trickkiste in Erfahrung bringen.

Entschlüsselungstricks

Wollen Sie den Inhalt verschlüsselter Verbindungen auswerten, müssen Sie die Verschlüsselung nicht zwangsläufig knacken – Sie können auch auf die Unachtsamkeit des Nutzers spekulieren: Das Werkzeug sslstrip ersetzt als Zwangsproxy sämtliche Verweise auf https://-Adressen durch http://. Im Fall von Chrome und Firefox funktioniert das allerdings nur noch bei älteren Browser-Versionen zuverlässig. Die aktuellen werten den HSTS-Header aus, durch den ein Server den Browser anweisen kann, ausschließlich über HTTPS zu kommunizieren. Der Internet Explorer in der bei Entstehung dieses Artikels aktuellen Version 11 fällt allerdings noch auf sslstrip rein.

Verschlüsselung kommt nur zwischen sslstrip und dem Dienst zum Einsatz. Das ist nötig, weil viele Dienste inzwischen ausschließlich über HTTPS erreichbar sind. Ganz so trivial wie die bisherigen Helferlein bedient sich sslstrip allerdings nicht: Damit der Datenverkehr bei dem Tool ankommt, müssen Sie den Datenverkehr mit dem Netzwerkfilter iptables umlenken. Ferner benötigt es einen unverschlüsselten Einstiegspunkt wie etwa die automatische Umleitung von http://paypal.com auf https://paypal.com. Steuert der Nutzer zielstrebig die HTTPS-Adresse an, kann sslstrip nicht einhaken.

Will man zum Beispiel den Krypto-Traffic einer Smartphone-App untersuchen, muss man einen universellen Ansatz wählen. Der Zwangsproxy sslsniff serviert die Datenpakete im Unterschied zu sslstrip weiterhin verschlüsselt. Damit das Tool den Klartext mitlesen kann, spielt es dem Opfer dessen Zielserver vor. Dazu stellt sich sslsniff mit seiner eigenen CA ein passendes Zertifikat auf den Namen des Servers aus. Da die Anwendung auf dem Client dieser CA nicht vertraut, zeigt sie einen Warnhinweis an oder lehnt die verschlüsselte Verbindung ab. Um das zu verhindern, muss der Client das CA-Zertifikat importieren. Das erfordert physischen Zugriff – dies ist aber keine Hürde, wenn die zu analysierende App ohnehin auf dem eigenen Smartphone läuft.

Zur komfortablen Analyse und Manipulation von HTTP(S)-Anfragen bringt Kali eine Reihe von Web-Analyseproxies mit. Die prominentesten Vertreter dieser Gattung heißen Burp Suite, OWASP Zed Attack Proxy (ZAP) und mitmproxy. Die Programme bieten im lokalen Netzwerk standardmäßig auf Port 8080 ihre Dienste an. Durchgeleitete Verbindungen kann man nicht nur betrachten, sondern auch interaktiv abfangen, um sie anschließend mit manipulierten Werten an ihr eigentliches Ziel zu schicken. Entwickler können so zum Beispiel den Datenverkehr zwischen Browser und Web-Anwendung gezielt mit unerwarteten Inhalten füttern, um potenzielle Sicherheitslücken aufzuspüren. Burp und Zap bieten umfangreiche Bedienoberflächen, mitmproxy läuft auf der Konsole. Zu welchem Kandidaten man greift, ist letztlich Geschmackssache.

WLAN-Tools

Wer einen Router einrichtet, steht vor der Qual der Frequenzwahl. In dicht besiedelten Gebieten ist es durchaus sinnvoll, einen Kanal einzustellen, auf dem wenig Betrieb herrscht. Zur Analyse des WLAN-Luftraums kennt Kali zahlreiche Werkzeuge. Bevor es losgeht, sollten Sie mitiwconfigüberprüfen, ob das angeschlossene WLAN-Interface vom System erkannt wurde und wie es heißt. Damit das Interface auch solche WLAN-Pakete durchreicht, die für andere MAC-Adressen bestimmt sind, müssen Sie den sogenannten Monitor Mode aktivieren:

airmon-ng wlan1 start

Wenn dies gelingt, finden Sie mit iwconfig ein neues Wireless-Interface namens mon0 vor. Anschließend tippen Siekismet ein, um einen detaillierten Überblick über die umliegenden WLAN-Netze zu erhalten. Die aufpoppenden Dialoge beantworten Sie mit „OK“, „Yes“ und „Start“. Wenn kismet fragt, ob ein Interface hinzugefügt werden soll, bejahen Sie dies und geben unter „Intf“ den zuvor ermittelten Namen der Monitor-Schnittstelle ein. Hangeln Sie sich mit der Tab-Taste zu „Add“ durch und drücken Sie im nächsten Dialog auf die gleiche Weise auf „Close Console Window“.

Kismet blickt hinter die Kulissen der WLAN-Kommunikation.
Kismet blickt hinter die Kulissen der WLAN-Kommunikation. Vergrößern
Nach und nach zeichnet sich nun ein umfangreiches Bild der umliegenden WLAN-Netze. Durch den Monitor-Modus kann man auf die Aktivitäten sämtlicher WLANs schließen und etwa ermitteln, wie viele Clients verbunden sind und wie viele Datenpakete diese aktuell verschicken. Auch „versteckte“ Netzwerke tauchen in der Liste auf. Möchten Sie ein bestimmtes Netz untersuchen, sollten Sie das Interface über „Kismet, Config Channel…“ an dessen Kanal binden. Andernfalls klappert Kismet die WLAN-Kanäle kontinuierlich der Reihe nach ab.

Zu weiteren WLAN-Experimenten laden die übrigen Mitglieder der Familie
aircrack-ng ein, zu der auch airmon-ng gehört. Man spürt sie durch die Eingabe vonairund zweimaliges Drücken der Tabulator-Taste auf. So können Sie zum Beispiel mit airbase-ng die Leichtgläubigkeit der meisten WLAN-Clients demonstrieren: Das Tool spannt einen virtuellen WLAN-Hotspot beliebigen Namens (SSID) auf. Wenn die SSID der Kennung eines unverschlüsselten WLAN entspricht, die einer der Clients in Funkreichweite kennt, versucht dieser eine Verbindung herzustellen.

Mit dem Fern WIFI Cracker stellt man die Sicherheit eines WLAN auf die Probe.
Mit dem Fern WIFI Cracker stellt man die Sicherheit eines WLAN auf die Probe. Vergrößern
Wer sich einen Eindruck davon verschaffen will, wie verwundbar sein WLAN ist, für den hält Kali ebenfalls passende Werkzeuge bereit. Viele davon vereint der Fern WIFI Cracker (der passende Befehl lautet fern-wifi-cracker) unter einer grafischen Oberfläche. Den Entwicklern zufolge nimmt es Fern sowohl mit WEP-Verschlüsselung als auch WPA/WPA2 auf. Während WEP bekanntermaßen schnell zu knacken ist, muss man bei den beiden neueren Verschlüsselungsstandards mitunter sehr viel Zeit mitbringen. An ausreichend langen und komplexen Passwörtern beißt sich auch Fern die Zähne aus. Schneller führt dann unter Umständen das Erraten der WPS-Pin zum Ziel, wofür Fern das Tool reaver benutzt.

Kali rückt nicht nur WLAN, sondern auch Bluetooth und NFC zu Leibe. Darüber hinaus kann man mithilfe der mitgelieferten Tools zum Beispiel einen günstigen DVB-T-Stick in ein sogenanntes Software Defined Radio (SDR) umwandeln, das auf weiteren Frequenzen nach „Leben“ sucht. Die passenden Tools finden sich unter „Anwendungen, Kali Linux, Wireless-Angriffe“.

Rekonstruieren

Das Forensik-Tool Autopsy spürt verloren geglaubte Daten auf.
Das Forensik-Tool Autopsy spürt verloren geglaubte Daten auf. Vergrößern
Kali beschränkt sich nicht auf das Untersuchen von Live-Kommunikation, sondern beherrscht auch die forensische Analyse von Datenträgern. Ganz gleich, ob man die Platte eines virenverseuchten Windows-Rechners inspiziert oder auf SD-Karten nach verloren geglaubten Urlaubserinnerungen sucht – Kali Linux bringt die passenden Werkzeuge in der Kategorie „Forensik“ mit. Um den zu sezierenden Datenträger nicht unabsichtlich zu verändern, sollte man zunächst ein Abbild davon ziehen, das fortan als Arbeitsgrundlage dient. Mit dem selbsterklärenden Guymager ist dies mit wenigen Mausklicks geschafft.

Zur Analyse des Abbilds bringt Kali zum Beispiel die Allzweckwaffe Autopsy mit, die unter anderem längst gelöschte Dateien wiederherstellt, sofern diese nicht bereits mit neuen Dateien überschrieben wurden. Für das Retten gelöschter Fotos gibt es einen Spezialisten namens recoverjpeg. Wer noch tiefer in die Materie Forensik einsteigen will, findet im Unterordner „RAM-Forensik“ das Tool Volatility, mit dem man anhand eines Arbeitsspeicher-Abbilds detaillierte Informationen darüber erhält, was zu einem bestimmten Zeitpunkt im Inneren eines Rechners vor sich ging.

Simulierter Ernstfall

Die Spezial-Werkzeuge aus dem Unterordner „Exploitation-Tools“ können unter anderem Virenangriffe unter Realbedingungen simulieren. Wer sich hier umschaut, sollte wissen, was er tut. Das mächtigste Tool dieser Sparte ist das Metasploit-Framework, das Exploits für etliche Programme mitbringt. Damit kann man zum Beispiel mit überschaubarem Aufwand demonstrieren, wie leicht sich ein Rechner kapern lässt, auf dem nicht die allerneueste Java-Version installiert ist. Mit Armitage befindet sich auch eine Art grafische Oberfläche im Lieferumfang. Wer sich nur mal umschauen möchte, kann das Exploit-Arsenal von Kali Linux mit dem Befehl
searchsploit suchbegriffdurchsuchen. Das Social-Engineer Toolkit (SET) simuliert, wie es der Name bereits andeutet, Social-Engineering-Angriffe, etwa durch gezieltes Phishing.

Hardware-Hacks

Kali Linux hat ein Herz für Kleinstrechner. Einerseits bringt es die Arduino-Entwicklerumgebung mit, andererseits läuft es auch selbst auf zahlreichen Embedded-Geräten. Es gibt Images für ARM-Geräte wie das Samsung Galaxy Note 10.1, ein Samsung-Chromebook, HDMI-Sticks und den Einplatinenrechner Raspberry Pi. So kann man sich für kleines Geld ein individuelles Pentesting-Device zusammenbauen, das durch die sparsame ARM-Architektur gut für den Dauerbetrieb geeignet ist. Ein Raspberry, ausgestattet mit einem handelsüblichen USB-WLAN-Stick, ergibt zum Beispiel einen WLAN-Honeypot, den man sogar mit Akkus oder Batterien betreiben kann. Der Fantasie sind kaum Grenzen gesetzt …