Metasploit Modulsuche und -auswahl

LinuxBeginner
Jetzt üben

Einführung

Willkommen in der Welt von Metasploit! Das Metasploit Framework ist ein unglaublich mächtiges Open-Source-Tool, das von Cybersicherheitsexperten zur Entwicklung, zum Testen und zur Ausführung von Exploits verwendet wird. Es enthält eine riesige Datenbank von Modulen, bei denen es sich um Code-Teile handelt, die für verschiedene Penetration-Testing-Aufgaben genutzt werden können. Diese Module umfassen Exploits, Payloads und Auxiliary-Tools.

In diesem Lab lernen Sie den grundlegenden Workflow für die Arbeit mit Metasploit-Modulen kennen. Sie beginnen mit dem Starten der Metasploit-Konsole, lernen dann, wie man nach spezifischen Modulen sucht, eines zur Verwendung auswählt und dessen grundlegende Optionen konfiguriert. Dies ist das grundlegende Fähigkeitenset für jeden angehenden Penetrationstester.

In diesem Schritt lernen Sie, wie Sie den Befehl search verwenden, um Module innerhalb des Metasploit Frameworks zu finden. Der Befehl search ist Ihr primäres Werkzeug zur Navigation durch die Tausenden von verfügbaren Modulen.

Zuerst starten wir die Metasploit Framework-Konsole. Das Hochfahren kann einen Moment dauern.

msfconsole

Sie sehen ein Banner und die Metasploit-Befehlszeile, die wie msf > aussieht. Alle nachfolgenden Befehle in diesem Lab werden innerhalb dieser Konsole ausgeführt.

Um Ihre Suche effektiver zu gestalten, können Sie Schlüsselwörter verwenden, um die Ergebnisse zu filtern. Eines der gebräuchlichsten Schlüsselwörter ist type, mit dem Sie die Art des gesuchten Moduls angeben können (z. B. exploit, payload, auxiliary).

Suchen wir nun nach allen Modulen, die als Exploits klassifiziert sind. Geben Sie den folgenden Befehl in die Metasploit-Konsole ein:

search type:exploit

Sie sehen eine lange Liste verfügbarer Exploits. Die Ausgabe ist in Spalten organisiert:

  • #: Die Indexnummer des Suchergebnisses.
  • Name: Der vollständige Pfad und Name des Moduls.
  • Disclosure Date: Wann die Schwachstelle öffentlich bekannt gegeben wurde.
  • Rank: Die Zuverlässigkeit des Exploits, von low (niedrig) bis excellent (exzellent).
  • Check: Gibt an, ob das Modul überprüfen kann, ob ein Ziel anfällig ist, ohne es auszunutzen.
  • Description: Eine kurze Zusammenfassung der Funktion des Moduls.
msf > search type:exploit

Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   exploit/windows/local/adobe_sandbox_esc  2011-04-15       excellent  No     Adobe Reader/Acrobat "Movie" Annotation Sandbox Escape
   1   exploit/windows/fileformat/acdsee_pica   2011-01-12       good       No     ACDSee PicaView 2.0 EML File Parsing Buffer Overflow
   ... (Ausgabe gekürzt) ...

Dies gibt Ihnen eine allgemeine Vorstellung von den verfügbaren Exploits, aber die Liste ist zu lang, um praktisch zu sein. Im nächsten Schritt werden wir sie eingrenzen.

In diesem Schritt lernen Sie, wie Sie Ihre Suchergebnisse verfeinern können. Die vorherige Suche lieferte Tausende von Exploits für viele verschiedene Betriebssysteme. Um einen relevanten Exploit zu finden, müssen Sie weitere Filter hinzufügen.

Das Schlüsselwort platform ermöglicht es Ihnen, Module basierend auf dem Zielbetriebssystem zu filtern, wie z. B. windows, linux, osx oder android. Sie können mehrere Schlüsselwörter in einem einzigen search-Befehl kombinieren, um eine sehr spezifische Abfrage zu erstellen.

Suchen wir nach Exploits, die speziell für die Linux-Plattform entwickelt wurden.

search type:exploit platform:linux

Die Ausgabe wird nun eine wesentlich kürzere, besser handhabbare Liste von Exploits sein, die für Linux-Systeme relevant sind.

msf > search type:exploit platform:linux

Matching Modules
================

   ##   Name                                          Disclosure Date  Rank     Check  Description
   -   ----                                          ---------------  ----     -----  -----------
   0   exploit/linux/http/advantech_switch_bash_env_exec 2014-09-24       excellent  Yes    Advantech Switch Bash Environment Variable Code Injection (Shellshock)
   1   exploit/linux/http/airties_login_cgi_bof      2012-01-17       excellent  No     AirTies login.cgi Buffer Overflow
   ... (Ausgabe gekürzt) ...

Durch die Kombination von Schlüsselwörtern können Sie schnell den exakten Modul finden, den Sie für ein bestimmtes Ziel benötigen.

Exploit-Modul verwenden mit use exploit/multi/handler

In diesem Schritt wählen Sie ein Modul aus, mit dem Sie arbeiten möchten. Nachdem Sie ein Modul mit dem Befehl search gefunden haben, müssen Sie es mithilfe des Befehls use in den Kontext des Frameworks laden.

Der Befehl use benötigt den vollständigen Namen des Moduls als Argument. Sie können den Namen direkt aus den Suchergebnissen kopieren.

Für dieses Lab wählen wir ein spezielles und sehr häufig verwendetes Modul: exploit/multi/handler. Dieses Modul ist kein typischer Exploit, der auf eine spezifische Schwachstelle abzielt. Stattdessen handelt es sich um einen generischen Listener, der auf eine eingehende Verbindung von einer auf einem Zielsystem ausgeführten Payload wartet. Es ist ein grundlegendes Werkzeug zum Abfangen von Reverse Shells.

Laden Sie das Handler-Modul mit dem folgenden Befehl:

use exploit/multi/handler

Nachdem Sie den Befehl ausgeführt haben, werden Sie feststellen, dass sich Ihre Befehlszeile ändert.

msf > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf exploit(multi/handler) >

Die Eingabeaufforderung msf exploit(multi/handler) > zeigt an, dass Sie sich nun im Kontext des Moduls exploit/multi/handler befinden. Alle Befehle, die Sie jetzt ausführen, wie das Setzen von Optionen, gelten für dieses spezifische Modul.

Moduloptionen prüfen mit show options

In diesem Schritt lernen Sie, wie Sie die konfigurierbaren Parameter für das ausgewählte Modul anzeigen können. Jedes Modul verfügt über eine Reihe von Optionen, die Sie möglicherweise konfigurieren müssen, bevor es ausgeführt werden kann. Diese Optionen definieren das Verhalten des Moduls, wie z. B. die IP-Adresse des Ziels oder den Port, auf dem gelauscht werden soll.

Der Befehl show options zeigt alle verfügbaren Optionen für das aktuell geladene Modul an.

Da Sie sich nun im Kontext von exploit/multi/handler befinden, führen Sie den folgenden Befehl aus:

show options

Die Ausgabe listet die Optionen des Moduls zusammen mit ihren aktuellen Einstellungen und Beschreibungen auf.

msf exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target

Achten Sie genau auf die Spalte Required (Erforderlich). Jede Option, die mit yes markiert ist, muss festgelegt werden, bevor Sie das Modul ausführen können. Für multi/handler sind LHOST (Listen Host) und LPORT (Listen Port) erforderlich. LHOST ist die IP-Adresse, auf der Ihr Rechner lauschen wird, und LPORT ist der Port.

Basiseinstellungen festlegen mit set LHOST

In diesem Schritt lernen Sie, wie Sie die Optionen eines Moduls mithilfe des Befehls set konfigurieren. Dieser Befehl ermöglicht es Ihnen, Werte für die Parameter zuzuweisen, die Sie zuvor mit show options gesehen haben.

Die allgemeine Syntax lautet set <OPTIONSNAME> <WERT>.

Für das Modul multi/handler ist die wichtigste zu konfigurierende Option LHOST, was für "Listen Host" (Zuhör-Host) steht. Diese Option legt die IP-Adresse fest, auf der der Handler auf eingehende Verbindungen von Payloads wartet.

Lassen Sie uns die Option LHOST auf die Loopback-Adresse 127.0.0.1 setzen, damit der Handler auf dem lokalen Rechner lauscht.

set LHOST 127.0.0.1

Metasploit bestätigt die Änderung:

LHOST => 127.0.0.1

Sie können überprüfen, ob die Option aktualisiert wurde, indem Sie erneut show options ausführen. Sie werden sehen, dass 127.0.0.1 als Current Setting (Aktuelle Einstellung) für LHOST aufgeführt ist. Dieser einfache set-Befehl ist die Methode, mit der Sie alle Module konfigurieren, bevor Sie einen Angriff starten.

Um die Metasploit-Konsole zu verlassen, können Sie exit eingeben.

exit

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die wesentlichen ersten Schritte für die Arbeit mit dem Metasploit Framework erlernt.

Sie wissen nun, wie Sie:

  • Die Metasploit-Konsole starten (msfconsole).
  • Module mithilfe des Befehls search suchen und sie nach type (Typ) und platform (Plattform) filtern.
  • Ein spezifisches Modul zur Verwendung mit dem Befehl use auswählen.
  • Die konfigurierbaren Parameter eines Moduls mit show options anzeigen.
  • Die Parameter eines Moduls mithilfe des Befehls set konfigurieren (z. B. das Festlegen von LHOST für Listener).

Diese Befehle bilden den Kern-Workflow für jede Aufgabe, die Sie in Metasploit ausführen werden. Ihre Beherrschung ist der Schlüssel zur effektiven Nutzung dieses leistungsstarken Penetration-Testing-Tools.