2220751

Metasploit: Feuerprobe für die Netzwerk-Sicherheit

14.09.2016 | 12:14 Uhr |

Das Metasploit Framework gilt als gefährliches Hacking-Tool, da es Angriffe auf Netzwerke sehr vereinfacht. Fortgeschrittene Anwender nutzen Metasploit aber für die Suche nach Konfigurationsfehlern.

Exploit-Frameworks sind Programmgerüste, die über ihre Komponenten gleich Dutzende von Angriffsszenarien auf bekannte Schwachstellen abdecken. Für Sicherheitsexperten gehören diese modularen Werkzeugkästen mit oft Hunderten von Scripts zu den wichtigsten Tools bei der Jagd nach Sicherheitslücken. Ein sowohl umfangreicher als auch mächtiger Vertreter dieser Programmgerüste ist das Metasploit Framework : Das mittlerweile in Ruby komplett neu geschriebene Programm startete 2003 als Open-Source-Projekt – damals noch eher bescheiden als Perl-Script-Sammlung mit wenigen Dutzend Exploits. Mittlerweile kann es mit recht teuren kommerziellen Produkten wie Canvas oder Core Impact konkurrieren.

Metasploit wird vom IT-Dienstleister Rapid 7 auch in einer kommerziellen Variante vertrieben, die mehrere tausend US-Dollar kostet. Es gibt allerdings weiterhin die frei verfügbare Open-Source-Version, um die es im Folgenden geht. Wir beschreiben hier die Linux-Version von Metasploit. Das Tool gibt es aber auch für Windows. In der Open-Source-Ausgabe liefert Metasploit eine Kommandozeile und verzichtet auf eine GUI.

Siehe auch: WLAN-Schutz - Vorsicht vor SSID-Hacks

Metasploit lässt sich im Guten wie im Bösen einsetzen

Die freie Metasploit-Version hat es ebenfalls in sich: Über die Jahre ist die Anzahl der enthaltenen Programmschnipsel für Angriffe (Exploits) durch die freiwillige Mitarbeit von Sicherheitsforschern von einem Dutzend auf rund 1500 gewachsen. Nutzer können einzelne Exploits für bestimmte Schwachstellen anpassen und sogleich mit kompromittierendem Code ausstatten, der bei einem Erfolg des Angriffs auf dem Zielsystem ausgeführt wird und beispielsweise einen Shell-Zugang öffnet. Alle diese Schritte finden innerhalb der effizienten Kommandozeile von Metasploit statt und erlauben ein sehr systematisches Vorgehen.

Das Live- System Kali Linux liefert alles mit, was zu einem schnellen Start erforderlich ist. Es gibt keinen einfacheren Weg zu einem sorgfältig eingerichteten Metasploit Framework.
Vergrößern Das Live- System Kali Linux liefert alles mit, was zu einem schnellen Start erforderlich ist. Es gibt keinen einfacheren Weg zu einem sorgfältig eingerichteten Metasploit Framework.

Ein Tool wie Metasploit ist damit ein zweischneidiges Schwert, und die IT-Industrie sieht dessen Verbreitung kritisch. In den Händen böswilliger Hacker kann Metasploit erheblichen Schaden anrichten, ohne dass der Angreifer dazu selbst ein Scripting- und Sicherheitsgenie sein muss. Aus diesem Grund nahm Barnes & Nobles, das größte Buchhandelsunternehmen in den USA, 2012 die Ausgabe eines englischsprachigen Linux-Magazins mit einem detaillierten Artikel zu Metasploit kurzerhand aus dem Sortiment (mit dem Resultat, dass besagter Artikel zusätzlich eine Menge Beachtung fand und bald darauf im Web veröffentlicht wurde).

Wie auch immer man den Nutzen der Frameworks wie Metasploit sehen mag: Es muss jedem klar sein, dass allein durch die Existenz dieser ständig aktualisierten Script- und Programmsammlungen auch diffizile Hacks, die ansonsten etliche Tage an Recherche voraussetzen würden, deutlich einfacher werden.

Legitim: Der Einsatz im eigenen Netzwerk

Fühlt sich auch als fest installiertes System wohl: Kali Linux ist ein Debian 8 mit vielen Sicherheitstools im Repertoire. Es lässt sich wie Debian installieren.
Vergrößern Fühlt sich auch als fest installiertes System wohl: Kali Linux ist ein Debian 8 mit vielen Sicherheitstools im Repertoire. Es lässt sich wie Debian installieren.

Systematische Angriffe mit den gebündelten Komponenten von Metasploit sind jedoch keineswegs nur für Cyberkriminelle interessant, die sich illegal Zugang zu Computersystemen verschaffen möchten. Zwar werden die in Metasploit enthaltenen Tools auch von der Hacker-Szene mitentwickelt, die Zielgruppen sind aber Administratoren sowie Sicherheitsexperten. Tatsächlich werden Frameworks wie Metasploit völlig legal eingesetzt. Und zwar immer dann, wenn entweder der Administrator eines Netzwerkes diese Angriffe zu Testzwecken auf das eigene System loslässt oder im Auftrag des Betreibers einen definierten Pentest ausführt. Mini-PCs und Ein-Platinen-Computer wie der Raspberry Pi haben den Aufwand und die Kosten erheblich gesenkt, von zu Hause aus einen kleinen Linux-Server zu betreiben. Der niedrige Aufwand bedeutet jedoch nicht, dass es damit einfacher wird, einen Server sicher zu betreiben. Wenn Sie zu Hause ein Netzwerk mit PCs, NAS und Servern betreiben, sind Sie Ihr eigener Administrator. Entsprechend dürfen auch Sie ganz legal mit Metasploit Ihre eigene IT angreifen, um auf diese Weise Schwachstellen in den Geräten aufzudecken. Der Einsatz der Werkzeuge gegen den eigenen Rechner, Server oder im eigenen LAN ist legitim und nützlich. Sie fin- den damit Sicherheitslücken in Ihren Systemen, bevor es jemand anderer tut. In diesem Kontext sind die Programme auch in Deutschland nicht verboten, da dies kein unerlaubter Zugriff auf fremde Computersysteme ist. Sogar das Bundesamt für Sicherheit in der Informationstechnik (BSI) empfiehlt solche Testangriffe und hat hierzu eine Studie im PDF-Format veröffentlicht .

Beachten Sie aber, dass der Einsatz in Firmennetzwerken nur nach expliziter Genehmigung stattfinden darf. Greifen Sie ohne schriftliche Erlaubnis keine fremden PCs oder Netzwerke an, da schon ein Scan eine Straftat darstellen könnte oder erheblichen Ärger mit den Netzwerkadministratoren einbringen kann.

Live-System: Metasploit einsatzbereit

Die Open-Source-Version von Metasploit 4.x hat es in sich, wird aber per Konsole bedient. Es gibt eine Befehlszeilenergänzung mittels Tab-Taste.
Vergrößern Die Open-Source-Version von Metasploit 4.x hat es in sich, wird aber per Konsole bedient. Es gibt eine Befehlszeilenergänzung mittels Tab-Taste.

Auf der Unternehmenswebseite von Rapid 7 stehen kommerzielle Varianten von Metasploit zum Download bereit, aber das Installations-Script der Open-Source-Version für Linux ist auf Github untergebracht. Es gibt keine fertigen Pakete für Distributionen und auch die Installation der verlangten Script-Interpreter, Runtimes sowie der verlangten Postgre-sql-Datenbank muss trotz des Installations-Scripts auf manuellem Weg erfolgen. Wegen eines Live-Systems ist eine Installation von Metasploit aber gar nicht notwendig: Das System Kali Linux hat Metasploit (Open Source) einsatzbereit an Bord. Kali Linux basiert auf Debian 8 und lässt sich mit dem Debian-Installer samt Metasploit und allen anderen Tools auf Festplatte oder in einer virtuellen Maschine installieren. Für größere Metasploit-Vorhaben ist das sowieso empfehlenswert, da das Live-System Anpassungen und gespeicherte Daten verwirft.

Kali Linux 2.0 liegt als ISO-Image unter www.kali.org/downloads zum Herunterladen bereit (2,6 GB, 32 Bit und 64 Bit). In den Ausgaben „Light“ und „Mini“ ist Metasploit nicht enthalten, lediglich in der großen regulären Ausgabe. An Speicher benötigt Kali Linux mit Metasploit mindestens ein GB RAM.

Live-System nutzen: Der erste Start unter Kali Linux

Nach dem Boot von Kali Linux als Live-System laufen zunächst weder Netzwerkdienste noch die benötigte Postgre-sql-Datenbank. Es gibt jedoch auf dem Desktop (links in der Schnellstartleiste) einen Starter, der alle erforderlichen Schritte ausführt, um Metasploit mit seiner Datenbank in Gang zu setzen. Dies kann einige Momente dauern. Im Anschluss daran startet die Metasploit-Konsole automatisch in einem Terminal-Fenster. Diese Konsole können Sie später auch jederzeit mit dem Aufruf

/usr/share/metasploit-framework/mfsconsole 

oder über den Schnellstarter aufrufen.

Tipp: Netzwerk-Sniffen mit Wireshark und Raspberry Pi

Die Metasploit-Konsole ist die Schaltzentrale für alle Aufgaben

In der Open-Source-Variante liefert Metasploit die Ergebnisse einer Suche nach Modulen nur in der Konsole. Hier ist viel Blättern angesagt.
Vergrößern In der Open-Source-Variante liefert Metasploit die Ergebnisse einer Suche nach Modulen nur in der Konsole. Hier ist viel Blättern angesagt.

In der Open-Source-Ausgabe ist die Konsole die Schaltzentrale für alle Aktionen von Metasploit . Sie begrüßt Sie mit dem Eingabeprompt „msf >“, der jetzt auf Befehle wartet. Der Befehl „banner“ gibt die Versionsnummer aus und zeigt die Anzahl der verfügbaren Exploits (rund 1500), Auxiliaries (rund 870) und Payloads (mehr als 400). Ein Exploit ist der Code, der eine Schwachstelle ausnutzt, Auxiliaries sind Hilfsmodule, die Informationen über das Zielsystem einholen. Das beginnt bei DNS-Abfragen und geht über Portscanner bis hin zu spezialisierten Scannern wie beispielsweise für FTP-Server. Payloads sind jene Codeteile, die nach einem erfolgreichen Angriff auf dem Zielsystem eingeschleust werden.

Die Befehle show und search: Der Befehl „show“ listet sämtliche verfügbare Module sowie Exploits auf, letztere mit „show exploits“. Diese Liste ist lang und unübersichtlich. Für die Suche nach einem passenden Exploit für ein Zielsystem ist der Befehl „search“ besser. Dieser bietet unter anderem die Optionen „type“ und „name“. Vermuten Sie bei Ihrem Zielsystem etwa eine Lücke in einer Dateifreigabe über SMB (Server Message Block), suchen Sie mit diesem Befehl nach verfügbaren Exploits:

search type:exploit name:smb  

Die tabellarische Liste zeigt in den Spalten den Namen, das Veröffentlichungsdatum (Disclosure Date), die Qualität (Rank) und eine kurze Beschreibung (Description).

Bevor es zum Angriff geht, verlangen Module nach Parametern, die sich mit „show options“ abfragen lassen und den aktuell gesetzten Wert anzeigen.
Vergrößern Bevor es zum Angriff geht, verlangen Module nach Parametern, die sich mit „show options“ abfragen lassen und den aktuell gesetzten Wert anzeigen.

Umgang mit Exploits und Modulen: Jedes dieser Module hat noch mal unterschiedliche Optionen für den Einsatz gegen ein Zielsystem. Für Exploits müssen Sie meistens die Adresse des Zielsystems angeben und einen Payload mitschicken. Bei Auxiliary-Modulen geben Sie normalerweise auch eine Zieladresse oder einen Adressbereich ein. Möchten Sie ein Modul benutzen, dann laden Sie es zunächst über den nachfolgenden Befehl:

use [Modulpfad/Modulname]  

Unsere Suche von oben nach „exploit“ sowie „smb“ hat beispielsweise den Exploit „exploit/ windows/smb/ms08_067_netapi“ geliefert, der sich auf alte Windows-XP-PCs ansetzen lässt. Um den Exploit zu verwenden, geben Sie ihn anschließend wie folgt ein:

use exploit/windows/smb/ms08_067_ netapi  

Der Eingabeprompt ändert sich und zeigt den Namen des aktiven Exploits an. Um herauszufinden, welche Optionen dieses Modul bietet, geben Sie stets „show options“ ein:

show options  

Typische Optionen für einen Exploit sind „RHOST“ für den Remote Host, also die IP-Adresse des Zielrechners. „RPORT“ ist die Portnummer des anzugreifenden Dienstes. Zum Anpassen der Optionen verwenden Sie den Befehl „set“, gefolgt vom Namen der Option und dem gewünschten Wert. In unserem Beispiel sieht die Konfiguration von „RHOST“ für die Ziel-IP-Adresse so aus:

set RHOST 192.168.0.17  

Der Befehl „exploit“ zuzüglich seiner Parameter führt dann den Angriff auf die Adresse aus. Um das Modul wieder zu entladen, geben Sie einfach back ein.

Beispiele: So nutzen Sie Metasploit in der Praxis

Der Portscanner Nmap, bei Kali Linux in der neues- ten Version enthalten, ist so elementar, dass Metasploit ihn kurzerhand als Befehl aufgenommen hat.
Vergrößern Der Portscanner Nmap, bei Kali Linux in der neues- ten Version enthalten, ist so elementar, dass Metasploit ihn kurzerhand als Befehl aufgenommen hat.

Eine der Grundlagen für erfolgreiche Angriffe ist die Identifikation von Schwachstellen auf dem Zielrechner. Und die erste Aktion, die Ihnen schon mal einen Überblick darüber liefert, was auf dem Zielrechner an Diensten laufen könnte, ist ein Portscan. Zum Scannen offener Ports auf IP-Adressen dient das bekannte Tool Nmap, welches in Metasploit netterweise bereits integriert ist. Über den Befehl

nmap 192.168.0.17  

finden Sie in der Metasploit-Konsole heraus, welche Netzwerkports auf dem PC mit der angegebenen IP-Adresse offen sind. Bei Standardports lässt sich automatisch auf den dahinter aktiven Dienst schließen. Jeder laufende Dienst ist ein potenzielles Angriffsziel. Wenn Sie ermittelt haben, welche Adressen und welche Dienste das Ziel bietet, müssen Sie als Nächstes genauere Informationen über das Zielsystem in Erfahrung bringen. Dabei helfen in Metasploit die Vulnerability-Scanner, die nach Schwachstellen suchen. Eine Liste der Scanner erhalten Sie wieder mit dem Search-Befehl:

search type:auxiliary  

Die Liste ist ebenfalls lang, kann aber mit weiteren Parametern des Search-Befehls gefiltert werden. Wir zeigen hier exemplarisch den Einsatz des Portscanners TCP-Syn, der auf Antworten an TCP-Ports wartet:

use scanner/portscan/syn  

Mithilfe des Set-Befehls sowie den mit „show options“ ermittelten RHOSTS und RPORTs legen Sie das Ziel fest:

set RHOSTS 192.168.0.17 set RPORTS 20, 21 

Der Befehl „run“ startet dann den Scanvorgang.

Hier knackt eine Brute-Force-Attacke das Log-in einer Windows-Netzfreigabe. Die Passwörter lieferte eine Wörterbuchdatei, der Benutzername war vorher bekannt.
Vergrößern Hier knackt eine Brute-Force-Attacke das Log-in einer Windows-Netzfreigabe. Die Passwörter lieferte eine Wörterbuchdatei, der Benutzername war vorher bekannt.

Brute Force: Schwache Passwörter bedeuten Schwachstellen. Und leider gibt es ab einer gewissen Netzwerkgröße meistens mehrere Systeme, deren Anwender keine komplexen Passwörter vergeben haben. Metasploit bietet eine ganze Reihe von Brute-Force-Angriffen auf Passwörter verschiedener Dienste. Auf Windows- PCs öffnen der Log-in-Name und das Passwort des Windows-Kontos meist auch den Zugriff auf Netzwerkfreigaben. In Metasploit findet sich das entsprechende Auxiliary-Modul „auxiliary/scanner/smb/smb_login“ für Wörterbuchangriffe auf SMB-Freigaben. Wer in der glücklichen Lage ist, bereits ein Passwort oder einen Benutzernamen zu kennen, kann diese auch direkt angeben. Mit

use auxiliary/scanner/smb/smb_ login 

wird der Passwortscanner geladen und mit

set RHOSTS 192.168.0.17  set SMBUser admin  set PASS_FILE /root/kennworte.txt  

abgerichtet – hier auf den Benutzer „admin“.

Die angegebene Datei „/root/kennworte.txt“ auf der Festplatte, hier im Verzeichnis „/root“, enthält alle Passwörter, die der Scanner ausprobieren soll. „run“ startet den Angriff, der sämtliche Passwörter der Textdatei automatisch durchprobiert.

Video: Die unglaublichsten Sicherheitslücken im Internet
0 Kommentare zu diesem Artikel
2220751