In diesem Artikel werden wir über die Grundlagen von Metasploit und die in der Kommandozeilenschnittstelle verwendeten Metasploit-Befehle sprechen. Die Befehlszeile der MSF-Konsole und die Anzahl der verfügbaren Befehle mögen zunächst sehr umfangreich und schwer zu verstehen und zu verwenden sein, aber lassen Sie sich davon nicht einschüchtern. Wenn Sie das Konzept und die klare Struktur erst einmal verstanden haben, wird es sehr einfach sein. Zusammengefasst besteht das Metasploit-Framework aus dem Kern und der Basis, vielen Exploits, Payloads, Modulen (Ruby-Klassen), Plugins, Skripten und mehreren Benutzeroberflächen. Das Metasploit-Framework enthält auch einige großartige Tools zur Informationsbeschaffung, die sogenannten Hilfsmodule. Hilfsmodule können für das Scannen von Ports, die Identifizierung von Diensten, das Ausschnüffeln von Passwörtern und die Aufzählung von Windows-Patches verwendet werden. Metasploit ist für fortgeschrittene Benutzer in hohem Maße anpassbar und kann durch das Schreiben eigener Exploits, Module, Plugins und Skripte an die eigenen Bedürfnisse angepasst werden. Wenn Metasploit das von Ihnen benötigte Modul zum Sammeln von Informationen nicht standardmäßig bereitstellt, können Sie es einfach selbst schreiben.

Die msfconsole ist die Benutzeroberfläche, die als die stabilste Schnittstelle bekannt ist und mit der wir während der gesamten Metasploit-Tutorials auf Hacking Tutorials arbeiten werden. Neben der Stabilität ist ein weiterer Vorteil der msfconsole die Möglichkeit, externe Befehle wie den Ping-Befehl und die automatische Vervollständigung von Tabs auszuführen. Für Metasploit gibt es auch eine grafische Benutzeroberfläche namens Armitage. Wir werden uns Armitage und seine Verwendung anstelle von msfconsole in einem späteren Tutorial ansehen. Fahren wir in diesem Tutorial über Metasploit-Befehle mit der Aktualisierung des Metasploit-Frameworks fort, falls erforderlich, und wechseln wir dann zur msfconsole, um zu sehen, welche Befehle uns zur Verfügung stehen.

Grundlegende msfconsole-Befehle

Angenommen, Sie arbeiten mit Kali Linux 2016 Rolling Edition, können wir das Metasploit-Framework und die msfconsole starten, indem wir auf das Metasploit-Symbol im Dock klicken. Dadurch werden der PostgreSQL-Dienst und der Metasploit-Dienst automatisch gestartet.

Aktualisierung von Metasploit mit msfupdate

Beginnen wir mit der Aktualisierung von Metasploit, indem wir den folgenden Befehl in einer Terminalsitzung (nicht in msfconsole) verwenden:

msfupdate

Dieser Befehl sollte das Metasploit-Framework auf die neueste Version aktualisieren. Die Updates sagen, dass wir wöchentlich mit Updates rechnen sollten. Aber Vorsicht! Die Ausführung von msfupdate könnte Ihre Metasploit-Installation zerstören. Nachdem wir diesen Befehl für dieses Tutorial ausgeführt haben, sind wir auf folgende Fehlermeldungen gestoßen:

Dieser Fehler hatte etwas mit PostgreSQL zu tun. Um dieses Problem zu beheben, versuchen Sie zunächst, die folgenden Befehle auszuführen:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Dies hat das Problem auf unserer Seite gelöst, es hatte wahrscheinlich etwas mit einer veralteten Version eines Pakets zu tun. Ist Ihre Metasploit-Installation nach einem Update kaputt und Sie brauchen Hilfe, um das Problem zu beheben? Nutzen Sie die Kommentarfunktion unten und wir werden versuchen, Ihnen so gut wie möglich zu helfen. Lassen Sie uns mit der msfconsole fortfahren.

Metasploit msfconsole

Wenn Metasploit gebootet hat und die msfconsole verfügbar ist, können wir ‚help‘ eingeben, um einen Überblick über die Metasploit-Kern- und Backend-Befehle mit einer Beschreibung zu erhalten:

Metasploit-Befehle

Es wäre Zeitverschwendung und würde den Rahmen dieses Tutorials sprengen, jeden einzelnen Metasploit-Befehl zu erklären. Wir möchten lediglich, dass Sie so schnell wie möglich mit Metasploit arbeiten können, und daher sollte ein Grundwissen über die grundlegenden Befehle für den Moment ausreichen. Sie werden im Laufe des Tutorials viel mehr über die fortgeschrittenen Optionen lernen. Außerdem sollten die meisten Befehlsbeschreibungen sehr deutlich machen, was der Befehl genau tut und wie er zu verwenden ist. Für den Moment werden wir uns in diesem Tutorial die am häufigsten verwendeten grundlegenden Metasploit-Befehle ansehen:

  • Grundlegende Befehle: search, use, back, help, info und exit.
  • Exploit-Befehle: set, um Variablen zu setzen und show, um die Exploit-Optionen, Ziele, Nutzlasten, Encoder, Nops und die erweiterten und Umgehungsoptionen anzuzeigen.
  • Ausführungsbefehle für Exploits: run und exploit, um Exploits gegen ein Ziel auszuführen.

Es gibt auch eine umfassende Metasploit-Dokumentation, die mit Metasploit mitgeliefert wird und die zur Klärung von Fragen verwendet werden kann. Werfen wir einen Blick auf die Metasploit-Befehle.

Metasploit-Befehle

Wir werden die grundlegenden Metasploit-Befehle schnell durchgehen, damit wir mit dem unterhaltsamen Teil beginnen können und lernen, wie man die Exploits auf einem verwundbaren Rechner wie Metasploitable 2 einsetzt. Die grundlegenden Befehle bestehen aus help, back, exit und info.

Befehle use, back und exit

Der Befehl use in Metasploit wird verwendet, um ein bestimmtes Modul zu aktivieren und den Kontext der msfconsole auf dieses bestimmte Modul zu ändern. Der Name des Exploits wird in der Befehlszeile wie folgt in rot angezeigt:

In diesem Beispiel haben wir den Kontext der Befehlszeile auf den Exploit namens realvnc_client geändert. Von hier aus können wir Informationen über diesen Exploit abrufen, die erforderlichen Exploit-Parameter setzen und ihn gegen ein Ziel ausführen.

Wenn wir den Exploit-Kontext verlassen und zurück zur msfconsole wechseln wollen, müssen wir den Befehl back verwenden. Der Befehl back bringt uns zurück zur msfconsole im allgemeinen Kontext. Von hier aus können wir den use-Befehl erneut eingeben, um zu einem anderen Metasploit-Modul zu wechseln.

Der exit-Befehl schließt die msfconsole und bringt Sie zurück zum Kali Linux Terminal.

Help-Befehl

Wie wir bereits in diesem Tutorial gesehen haben, gibt der help-Befehl eine Liste möglicher Befehle zusammen mit einer Beschreibung zurück, wenn er in der msfconsole eingegeben wird. Wenn ein aktiver Exploit ausgewählt ist, können wir den help-Befehl verwenden, um eine Liste der Exploit-Befehle zu erhalten:

Info-Befehl

Wenn ein Exploit mit dem use-Befehl ausgewählt wurde, können wir mit dem info-Befehl Informationen wie Name, Plattform, Autor, verfügbare Ziele und vieles mehr abrufen. Im folgenden Screenshot haben wir den info-Befehl auf einen Exploit namens ie_execcommand_uaf angewendet:

Suchbefehl

Zum Zeitpunkt der Erstellung dieses Artikels enthält Metasploit über 1.500 verschiedene Exploits und es kommen regelmäßig neue hinzu. Bei dieser Anzahl von Exploits wird die Suchfunktion und das Wissen, wie man sie benutzt, sehr wichtig. Der einfachste Weg, die Suchfunktion zu nutzen, ist die Eingabe des Befehls search, gefolgt von einem Suchbegriff, z. B. flash, um nach Exploits zu suchen, die sich auf den Flash Player beziehen. Durch die Verwendung des Suchbefehls sucht Metasploit nach dem angegebenen Suchbegriff in den Modulnamen und der Beschreibung wie folgt:

Wie erwartet gibt es eine Menge Exploits im Zusammenhang mit der oft anfälligen Flash Player Software. Die Liste enthält auch den Zero-Day CVE-2015-5122 Adobe Flash opaqueBackground Use After Free, der bei der Hacking Team-Datenpanne im vergangenen Jahr entdeckt wurde.

Suche nach Exploits mit Schlüsselwörtern

Sie können auch den Suchbefehl mit einem Schlüsselwort verwenden, um nach einem bestimmten Autor, einer OSVDB-ID oder einer Plattform zu suchen. Der Befehl ‚help search‘ zeigt die verfügbaren Schlüsselwörter in der msfconsole wie folgt an:

Die Verwendung des Suchbefehls mit einem Schlüsselwort ist ziemlich einfach und wird am Ende des Hilfetextes angezeigt. Der folgende Befehl wird verwendet, um nach Modulen mit einer CVE-ID aus dem Jahr 2016 zu suchen:

msf > search cve:2016

Dies liefert uns alle Exploits mit einer CVE-ID aus dem Jahr 2016, einschließlich eines Hilfsmodulscanners für die sehr aktuelle SSH-Backdoor der Fortinet-Firewall:

Metasploit-Befehle für Exploits

Im vorherigen Kapitel haben wir die Metasploit-Befehle gelernt, um einen Exploit auf der msfconsole zu aktivieren und den Kommandozeilenkontext mit dem use-Befehl auf den Exploit zu ändern. Jetzt werden wir uns ansehen, wie man die Exploit-Parameter anzeigt und wie man sie mit dem set-Befehl ändern kann. Außerdem werden wir uns ansehen, wie die Nutzlasten, Ziele, erweiterten und Umgehungsoptionen angezeigt werden. Der Befehl help show zeigt die verfügbaren Parameter für den Befehl show an:

Optionen anzeigen

Der Befehl show options zeigt die verfügbaren Parameter für einen Exploit an, wenn die Befehlszeile im Exploit-Kontext steht. Verwenden wir den Exploit adobe_flash_shader_drawing_fill und sehen uns die Optionen mit dem folgenden Befehl an:

msf > Use exploit/multi/browser/ adobe_flash_shader_drawing_fill

Gefolgt vom Befehl show options:

msf > show options

Der Flash-Exploit enthält insgesamt 6 Optionen, von denen nur 2 erforderlich sind:

  • Wiederholungen
  • SRVHOST (Erforderlich)
  • SRVPORT (Erforderlich)
  • SSL
  • SSLCert
  • URLPath

Beachten Sie, dass der Befehl show options das aktuell ausgewählte Ziel unterhalb der Moduloptionen zurückgibt. Das Standardziel ist 0, was Windows für den ausgewählten Exploit ist.

Verwenden Sie den Befehl set, gefolgt von dem Optionsnamen und dem neuen Wert, um die Standardwerte zu ändern:

Set SRVHOST 192.168.0.100, um den SRVHOST-Wert auf 192.168.0.100

Set SRVPORT 80, um den Port von 8080 auf 80 zu ändern

Durch erneute Verwendung des Befehls show options können Sie überprüfen, ob die Werte SRVHOST und SRVPORT geändert wurden. Sie können boolesche Werte ändern, indem Sie den Befehl set mit dem Optionsnamen und true oder false verwenden.

Nutzlasten anzeigen

Wenn wir den Befehl show payloads verwenden, gibt die msfconsole eine Liste der kompatiblen Nutzlasten für diesen Exploit zurück. In unserem Flash Player-Exploit-Beispiel werden einige kompatible Payloads angezeigt:

Ein Überblick über kompatible Exploits

Um eine bestimmte Payload zu verwenden, müssen Sie den Befehl set gefolgt von dem Namen der Payload verwenden:

Set payload linux/x86/exec

Show targets

Der Befehl show targets liefert eine Liste der Betriebssysteme, die für den gewählten Exploit anfällig sind. Wenn wir den Befehl ausführen, erhalten wir die folgende Ausgabe für den adobe_flash_shader_drawing_fill-Exploit:

Eine Übersicht der verfügbaren Ziele für den ausgewählten Exploit.

Dieser Exploit zielt sowohl auf Windows- als auch auf Linux-Betriebssysteme. Beachten Sie, dass wir den Befehl info verwenden können, um zusätzliche Informationen über diesen Exploit und die Ziele zu erhalten.

Um ein Ziel zu setzen, können wir den Befehl set gefolgt von der Ziel-ID verwenden:

set target 1

Durch das Setzen des Ziels wird die Liste der Nutzlasten stark reduziert, da nur Nutzlasten angezeigt werden, die mit dem Ziel kompatibel sind:

Show advanced

Mit dem Befehl show advanced können wir uns die erweiterten Optionen für den Exploit ansehen.

Verwenden Sie den Befehl set, gefolgt von dem Parameter advanced und dem neuen Wert, um die erweiterten Einstellungen zu ändern:

Set displayablepayloadhandler true

Show encoders

Der Befehl show encoders gibt die kompatiblen Encoder zurück. Kodierer werden verwendet, um einfache IDS/IPS-Signaturen zu umgehen, die nach bestimmten Bytes der Nutzdaten suchen. Wir werden uns in einem späteren Kapitel der Metasploit-Tutorials ausführlich mit Encodern beschäftigen.

Um einen Encoder zu verwenden, verwenden Sie den Befehl set, gefolgt vom Namen des Encoders.

Show nops

Der Befehl show nops gibt eine Liste von NOP-Generatoren zurück. NOP ist die Abkürzung für No Operation und wird verwendet, um das Muster eines NOP-Sleds zu ändern, um einfache IDS/IPS-Signaturen gängiger NOP-Sleds zu umgehen. Die NOP-Generatoren beginnen mit der CPU-Architektur im Namen. Wir werden uns in einem späteren Kapitel dieses Tutorials mit NOPS beschäftigen.

Um einen NOP-Generator zu verwenden, verwenden Sie den Befehl set, gefolgt vom Namen des NOP-Generators. Wenn der Exploit gestartet wird, werden die NOP-Schlitten vom NOP-Generator genommen.

Show evasion

Der show evasion-Befehl gibt eine Liste der verfügbaren Evasions-Techniken aus.

Um die Evasions-Einstellungen zu ändern, verwenden Sie den set-Befehl, gefolgt von dem Evasion-Parameter und dem neuen Wert.

Metasploit-Befehle für die Exploit-Ausführung

Wenn alle erforderlichen Optionen für den Exploit gesetzt wurden, einschließlich einer Nutzlast und erweiterter Einstellungen wie einem NOP-Generator, Evasion-Optionen und Kodierung, ist der Exploit bereit für die Ausführung. Der Exploit kann mit zwei Befehlen ausgeführt werden: run und exploit. Geben Sie einfach run oder exploit in die msfconsole ein, und der Exploit wird ausgeführt.

Damit ist das Tutorial zu den Metasploit-Befehlen vorerst abgeschlossen. Wenn Sie Fragen zu einem der genannten oder nicht genannten Befehle haben, stellen Sie diese bitte über die Kommentarfunktion unter diesem Beitrag. Im nächsten Metasploit-Tutorial werden wir die Metasploitable 2 Maschine aufzählen. Danach werden wir mit den gesammelten Informationen eine Schwachstellenanalyse durchführen. Wenn Sie Metasploitable 2 noch nicht installiert haben, können Sie zunächst das Metasploitable 2-Installationstutorial lesen.

Teilen auf: