Video-Tipp #67: Metasploit im Pentest-Einsatz Pentesting mit Metasploit und Nmap

Von Thomas Joos 6 min Lesedauer

Metasploit gehört zu den bekanntesten Tools, mit denen Admins im Netzwerk nach Sicherheitslücken suchen können. Das Tool bietet auch eine grafische Oberfläche und lässt sich schnell und kostenlos installieren. In diesem Video-Tipp zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.

In diesem Video-Tipp zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.(Bild:  Kurhan - stock.adobe.com)
In diesem Video-Tipp zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.
(Bild: Kurhan - stock.adobe.com)

Metasploit lässt sich entweder direkt auf einem Linux-Computer installieren, oder über Kali nutzen. Parallel zu Metasploit kann die Test-VM Metasploitable hilfreich sein, mit der sich Metasploit testen lässt. Die VM hat verschiedene Sicherheitslücken, die mit Metasploit entdeckt werden können. Zusammen mit Metasploit ist nmap sinnvoll, da sich dadurch die Computer identifizieren lassen, bei denen Pentests durchgeführt werden sollen.

In diesem Video-Tipp und der Bildergalerie zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.

Bildergalerie
Bildergalerie mit 13 Bildern

Metasploit installieren oder auf Kali nutzen

Am Beispiel von Ubuntu kann der Installer direkt heruntergeladen und installiert werden:

wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.runchmod +x ./metasploit-latest-linux-x64-installer.run./metasploit-latest-linux-x64-installer.run

Bei der Installation auf einem Linux-Computer mit grafischer Oberfläche führt ein Assistent durch die Einrichtung. Danach steht die Weboberfläche über den Port zur Verfügung, der im Rahmen der Installation festgelegt wurde. Beim ersten Aufruf erfolgt das Festlegen des Metasploit-Admins und seines Kennworts. Das lässt sich nur auf dem Metasploit-Host durchführen, zum Beispiel mit:

https://localhost:3790

Mit „Create Account“ wird das Konto angelegt und steht auch über das Netzwerk zur Verfügung.

Ist eine Firewall im Einsatz, muss diese den Port natürlich durchlassen oder im Rahmen der Penetrationstests komplett deaktiviert werden. Generell dauert die Installation von Metasploit nur wenige Minuten.

Um Metasploit mit Kali zu nutzen muss erst Postgresql mit „service postgressql start“ aktiviert werden. Ob das geklappt hat, lässt sich mit „ss -ant“ überprüfen. Die Datenbank für Metasploit lässt sich danach mit „msfdb init“ laden.

Metasploit-Webinterface und Konsole

Neben der Weboberfläche bietet Metasploit noch eine Konsole, die über „msfconsole“ startet. In der Konsole lassen sich mit „help“ die verfügbaren Befehle anzeigen und mit „show exploits“ die Exploits, welche die installierte Version unterstützt. Die Payloads zeigt die Konsole mit „show payloads“ an. Die Exploits sind das Werkzeug, mit denen Metasploit sich Zugang zu einem System schafft und mit Payloads lädt Metasploit nach dem Zugriff auf das gehackte System Dateien nach.

Zu den Exploits und Payloads lassen sich auch weitere Daten anzeigen, zum Beispiel mit „info exploit <Name des Exploits> oder „info payload <Name des Payloads>“. Mit „search“ kann gezielt nach Sicherheitslücken gesucht werden. Der Befehl „search smb“ durchsucht die Datenbank von Metasploit nach Lücken, die es im SMB-Bereich gibt. Der Bildschirm kann innerhalb der Metasploit-Konsole mit „clear“ gelöscht werden.

Pentests mit Nmap vorbereiten

Metasploit kommt häufig mit Nmap zum Einsatz. Mit Nmap können die Computer im Netzwerk gescannt und die Ziele für Metasploit identifiziert werden, zum Beispiel mit:

sudo nmap -sS 10.0.0.0/16

Dieser Befehl führt einen Stealth-Scan im Netzwerk für das Subnetz 10.0.0.0/255.255.0.0 durch. Es lassen sich aber auch einzelne IP-Adressen scannen: „sudo nmap -sS 10.6.220“.

Das Ergebnis ist eine Liste der vorhandenen Computer und Netzwerkgeräte. Außerdem zeigt dieser Befehl auch gleich die offenen Ports der Geräte, die MAC-Adresse und weitere Informationen an. Interessant werden diese Informationen natürlich vor allem dann, wenn das Betriebssystem klar ist, das hinter einer IP-Adresse steckt. Auch hier hilft Nmap:

sudo nmap -O <IP-Adresse oder Subnetz>

An dieser Stelle ist es auch möglich die IP-Adressen zuvor in eine Textdatei in jeweils eigene Zeilen zu packen und nmap anzuweisen bei diesen IP-Adressen nach dem Betriebssystem zu schauen:

sudo nmap -O -iL ipliste.txt

Dadurch sind mit wenigen Befehlen die aktiven IP-Adressen im Netzwerk zu finden, die offenen Ports bei diesen Maschinen sowie die installierten Betriebssysteme, inklusive Version. Genau diese Informationen braucht später Metasploit.

In diesem Video-Tipp und der Bildergalerie zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.

Bildergalerie
Bildergalerie mit 13 Bildern

Nmap kann aber an dieser Stelle noch mehr Informationen liefern. Die nmap-Entwickler stellen auch Skripte zur Verfügung, die im Netzwerk nach bestimmen Sicherheitslücken auf Betriebssystemen suchen. In Verbindung mit den Informationen der beiden Optionen „-O“ und „-sS“ lassen sich dadurch gezielt Lücken finden, die es auf Systemen im Netzwerk geben kann. Der Befehl dazu lautet:

nmap --script vuln <IP-Adresse oder Subnetz>

Auch hier kann es wieder sinnvoll sein, mit einer Textdatei zu arbeiten, in der die IP-Adressen der zu scannenden Computer enthalten sind:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung
sudo nmap --script vuln -iL ipliste.txt

Nach diesem Vorgang ist für die verschiedenen IP-Adressen daher bekannt, welches Betriebssystem dahintersteht, welche Ports offen sind und welche Sicherheitslücken für das Betriebssystem in dieser Version bekannt sind. Damit lassen sich später umfangreiche Pentests mit Metasploit starten, die sich auf Anforderung auch direkt mit einzelnen Geräten oder Computer als Ziel starten lassen.

Hier ist vor allem die Option „Host script results“ interessant. Vor allen der Name, also zum Beispiel „smb-vuln-ms17-010“, für den Computer mit der IP-Adresse 10.0.6.220 in diesem Test. Für diesen Test haben wir einen PC mit Windows 7 Ultimate und installiertem SP1 verwendet. Mit dieser Bezeichnung lassen sich die Angriffe mit Metasploit durchführen. Der Befehl zeigt auch die CVE-Nummern der Lücken an und Links mit Informationen. Alleine diese Daten sind durchaus interessant. Lassen sich mit Metasploit aber noch ausbauen.

Mit Metasploit nach Lücken suchen

Wenn Metasploit auf einem Linux-Rechner installiert oder in Kali aktiviert ist, lassen sich die gefundenen Sicherheitslücken für die Betriebssysteme genauer testen. Innerhalb von Metasploit kann mit „search ms17“ nach der oben gefundenen Lüke auf Windows 7-Computern gesucht werden. Findet die Suche die Lücke, und hat Nmap bestätigt, dass es im Netzwerk diese Lücke auf bestimmten Geräten gibt, kann Metasploit überprüfen, ob die entsprechende Schwachstelle auch tatsächlich auf dem Zielgerät offen ist.

In diesem Beispiel wäre das Modul „auxiliary/scanner/smb/smb_ms17_010“ das interessante. In der Msfconsole wird das mit „use 3“ in diesem Beispiel ausgewählt, weil es in der Suche an dieser Stelle gelistet ist. Wenn ein Modul für den Scan ausgewählt ist, lassen sich mit „options“ nähere Informationen dazu anzeigen.

Der Befehl zeigt an, welche Daten Metasploit braucht, um Informationen vom Zielsystem auszulesen. Eine wichtige Option ist „rhosts“. Hier wird die IP-Adresse des Ziel-Hosts angegeben, in diesem Fall unsere Arbeitsstation mit der IP-Adresse 10.0.6.220, auf der Windows 7 installiert ist: „set rhost 10.0.6.20“ Mit „run“ führt Metasploit den Pentest auf diese IP-Adresse durch. Danach ist zu sehen, ob der Host anfällig für diese Lücke ist. Metasploit kennzeichnet das als „likely Vulnerable“.

Exploits auf unsicheren Computern durchführen

Um sicher zu gehen, dass die Lücke auf dem Computer auch tatsächlich vorhanden ist, wird die Vorgehensweise noch aggressiver und Metasploit kann das unsichere Gerät exploiten. Dazu wird wieder mit „search ms17“ nach der Lücke in der Metasploit-Datenbank gesucht. Hier sind neben den „auxiliary“-Modulen auch die Exploits aufgelistet, die Metasploit durchführen kann. In diesem Beispiel wäre „exploit/windows/smb/ms17_010_psexec“ interessant, der in diesem Beispiel mit „use 1“ ausgewählt wird.

Auch hier lassen sich die notwendigen Optionen wieder mit „options“ anzeigen. Zunächst wird auch hier wieder mit „set rhost 10.0.6.220“ der PC angegeben, der getestet werden soll. Mit dem Befehl „exploit“ testet Metasploit jetzt aggressiv, ob der Computer gehackt werden kann. Ist das der Fall, öffnet sich meistens eine Shell und mit „sysinfo“ lassen sich Informationen auslesen oder auch andere Befehle ausführen.

In diesem Video-Tipp und der Bildergalerie zeigen wir, wie sich Sicherheitslücken im Netzwerk mit Metasploit und Nmap identifizieren lassen.

Bildergalerie
Bildergalerie mit 13 Bildern

(ID:49777391)