Module in Metasploit suchen

Kali LinuxBeginner
Jetzt üben

Einleitung

Das Metasploit Framework ist ein leistungsstarkes Werkzeug, das von Sicherheitsexperten für Penetrationstests und Schwachstellenbewertungen eingesetzt wird. Es enthält eine riesige Datenbank mit Modulen, darunter Exploits, Hilfsscanner, Payloads und mehr. Bei Tausenden von verfügbaren Modulen ist die Fähigkeit, effizient nach dem richtigen zu suchen, eine entscheidende Fähigkeit.

In diesem Lab lernen Sie die grundlegenden Techniken zum Suchen von Modulen in Metasploit. Wir beginnen mit einfachen Stichwortsuchen und untersuchen dann, wie diese Suchen mithilfe von Filtern für Modultypen und spezifische CVE-Identifikatoren verfeinert werden können. Abschließend lernen Sie, wie Sie die Details eines Moduls inspizieren und es zur Verwendung auswählen.

Verwenden Sie den Suchbefehl mit einem Servicenamen wie ssh

In diesem Schritt starten Sie die Metasploit-Konsole und führen eine grundlegende Suche nach Modulen durch, die sich auf einen bestimmten Dienst beziehen. Der Befehl search ist Ihr Hauptwerkzeug für die Navigation in der umfangreichen Modulbibliothek von Metasploit.

Öffnen Sie zunächst Ihr Terminal und starten Sie die Metasploit Framework-Konsole, indem Sie den Befehl msfconsole ausführen. Dies kann einen Moment dauern.

msfconsole

Sie sehen ein Banner und die Metasploit-Eingabeaufforderung, die wie msf6 > aussieht.

Suchen wir nun nach allen Modulen, die sich auf den SSH (Secure Shell)-Dienst beziehen. Geben Sie den folgenden Befehl in die Metasploit-Konsole ein und drücken Sie Enter:

search ssh

Metasploit zeigt eine Liste aller Module an, die "ssh" in ihrem Namen oder ihrer Beschreibung enthalten. Die Ausgabe ist eine Tabelle mit mehreren Spalten:

  • #: Die Indexnummer des Moduls in den Suchergebnissen.
  • Name: Der vollständige Pfad und Name des Moduls.
  • Disclosure Date: Das Datum, an dem die Schwachstelle öffentlich bekannt gegeben wurde.
  • Rank: Die Zuverlässigkeitsbewertung des Moduls (z. B. excellent, great, good).
  • Check: Zeigt an, ob das Modul eine Prüfmethode hat, um festzustellen, ob ein Ziel anfällig ist, ohne es auszunutzen.
  • Description: Eine kurze Zusammenfassung dessen, was das Modul tut.

Ihre Ausgabe wird in etwa wie folgt aussehen (die Liste kann länger sein und die Versionen können abweichen):

msf6 > search ssh

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

   ##   Name                                                 Disclosure Date  Rank     Check  Description
   -   ----                                                 ---------------  ----     -----  -----------
   0   auxiliary/scanner/ssh/ssh_login                      1999-01-01       normal   No     SSH Login Check Scanner
   1   auxiliary/scanner/ssh/ssh_login_pubkey               2002-07-23       normal   No     SSH Public Key Login Scanner
   2   exploit/linux/ssh/libssh_auth_bypass                 2018-10-16       great    Yes    LibSSH Authentication Bypass
   3   auxiliary/scanner/ssh/ssh_enumusers                  2018-08-20       normal   No     OpenSSH User Enumeration
   4   post/linux/manage/ssh_authorized_keys                                 normal   No     Linux Manage SSH Authorized Keys
...

Diese einfache Suche gibt Ihnen einen breiten Überblick über alle verfügbaren SSH-bezogenen Module.

Suchergebnisse nach Modultyp wie exploit oder auxiliary filtern

In diesem Schritt lernen Sie, wie Sie Ihre Suchergebnisse eingrenzen, indem Sie nach einem bestimmten Modultyp filtern. Die vorherige Suche lieferte verschiedene Modultypen wie auxiliary, exploit und post. Oft wissen Sie, welche Art von Modul Sie benötigen.

Metasploit ermöglicht es Ihnen, Suchen mit Schlüsselwörtern wie type zu filtern. Die gängigsten Typen sind:

  • exploit: Module, die eine Schwachstelle ausnutzen, um die Kontrolle zu erlangen.
  • auxiliary: Module für Scans, Fuzzing, Sniffing und andere Aktionen, die keine direkten Exploits sind.
  • post: Post-Exploitation-Module, die auf einem kompromittierten System ausgeführt werden.

Verfeinern wir unsere vorherige Suche, um nur exploit-Module im Zusammenhang mit SSH zu finden. Verwenden Sie den Filter type: in Ihrer Suchanfrage:

search type:exploit ssh

Die Ausgabe wird nun auf Module beschränkt, die als Exploits klassifiziert sind:

msf6 > search type:exploit ssh

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

   ##   Name                                  Disclosure Date  Rank    Check  Description
   -   ----                                  ---------------  ----    -----  -----------
   0   exploit/linux/ssh/libssh_auth_bypass  2018-10-16       great   Yes    LibSSH Authentication Bypass
   1   exploit/multi/ssh/sshexec             2004-01-01       manual  No     SSH Exec
...

Wenn Sie beispielsweise nach einem Scanner suchen, um Informationen über einen SSH-Dienst zu sammeln, würden Sie nach auxiliary-Modulen suchen:

search type:auxiliary ssh

Dieser Befehl gibt eine Liste von Scannern und anderen Nicht-Exploit-Tools für SSH zurück.

msf6 > search type:auxiliary ssh

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

   ##   Name                                  Disclosure Date  Rank    Check  Description
   -   ----                                  ---------------  ----    -----  -----------
   0   auxiliary/scanner/ssh/ssh_login       1999-01-01       normal  No     SSH Login Check Scanner
   1   auxiliary/scanner/ssh/ssh_enumusers   2018-08-20       normal  No     OpenSSH User Enumeration
...

Die Verwendung von Typfiltern ist eine effektive Methode, um schnell die benötigte Art von Werkzeug zu finden.

Nach einer spezifischen CVE-Kennung suchen

In diesem Schritt lernen Sie, wie Sie nach Modulen suchen, die mit einer spezifischen Common Vulnerabilities and Exposures (CVE)-Kennung verknüpft sind. Wenn Sie die CVE-ID einer Schwachstelle kennen, die Sie anvisieren möchten, ist dies der direkteste Weg, den entsprechenden Exploit zu finden.

Eine CVE ist eine eindeutige Kennung für eine öffentlich bekannte Cybersicherheitslücke. Metasploit-Module sind oft mit den CVEs gekennzeichnet, die sie adressieren.

Sie können nach CVE suchen, indem Sie den Filter cve: verwenden. Suchen wir zum Beispiel nach einem Modul, das sich auf CVE-2018-15473 bezieht, einer Schwachstelle zur Benutzeraufzählung in einigen Versionen von OpenSSH.

search cve:2018-15473

Diese Suche ist sehr spezifisch und sollte nur die Module zurückgeben, die darauf ausgelegt sind, genau diese Schwachstelle auszunutzen.

msf6 > search cve:2018-15473

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

   ##   Name                                 Disclosure Date  Rank    Check  Description
   -   ----                                 ---------------  ----    -----  -----------
   0   auxiliary/scanner/ssh/ssh_enumusers  2018-08-20       normal  No     OpenSSH User Enumeration

Wie Sie sehen können, zielt die Suche genau auf das entsprechende Hilfsmodul für diese CVE ab. Die Suche nach CVE ist eine wesentliche Technik, wenn Sie mit einem Schwachstellenscanbericht oder einer Sicherheitsberatung arbeiten.

Verwenden Sie den Befehl info, um detaillierte Modulinformationen anzuzeigen

In diesem Schritt lernen Sie, wie Sie detaillierte Informationen zu einem Modul erhalten, bevor Sie es verwenden. Nachdem Sie ein vielversprechendes Modul gefunden haben, ist es wichtig zu verstehen, was es tut, welche Optionen es erfordert und wer es entwickelt hat. Der Befehl info liefert all dies.

Sie können den Befehl info entweder mit dem vollständigen Modulnamen oder seiner Indexnummer aus dem letzten Suchergebnis verwenden. Holen wir uns weitere Informationen zum Modul ssh_enumusers, das wir im vorherigen Schritt gefunden haben.

Sie können seinen vollständigen Namen verwenden:

info auxiliary/scanner/ssh/ssh_enumusers

Alternativ, wenn es sich um den Eintrag 0 in Ihrer letzten Suche handelte, könnten Sie einfach info 0 verwenden. Die Verwendung des vollständigen Namens ist im Allgemeinen zuverlässiger.

Der Befehl zeigt eine detaillierte Seite über das Modul an:

msf6 > info auxiliary/scanner/ssh/ssh_enumusers

       Name: OpenSSH User Enumeration
     Module: auxiliary/scanner/ssh/ssh_enumusers
    License: Metasploit Framework License (BSD)
       Rank: Normal
  Disclosed: 2018-08-20

Provided by:
  Justin Gardner

Check supported:
  No

Basic options:
  Name      Current Setting  Required  Description
  ----      ---------------  --------  -----------
  RHOSTS                     yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT     22               yes       The target port (TCP)
  THREADS   1                yes       The number of concurrent threads (max one per host)
  USER_FILE                  yes       File containing usernames, one per line

Description:
  This module enumerates valid usernames on OpenSSH servers by exploiting
  a subtle timing discrepancy in the C library's handling of password
  authentication.

References:
  https://nvd.nist.gov/vuln/detail/CVE-2018-15473
  https://www.exploit-db.com/exploits/45233/

Diese Ausgabe liefert Ihnen wichtige Informationen, einschließlich der erforderlichen Optionen (RHOSTS, USER_FILE usw.), einer vollständigen Beschreibung des Zwecks des Moduls und Links zu den ursprünglichen Offenlegungen der Schwachstelle. Überprüfen Sie diese Informationen immer, bevor Sie ein Modul verwenden.

Ein Modul für die Verwendung mit dem Befehl use auswählen

In diesem letzten Schritt lernen Sie, wie Sie ein Modul auswählen, um es zu aktivieren. Nachdem Sie ein Modul identifiziert und recherchiert haben, müssen Sie es in den Kontext des Frameworks laden, um es zu konfigurieren und auszuführen. Dies geschieht mit dem Befehl use.

Ähnlich wie beim Befehl info kann auf use der vollständige Modulname oder seine Indexnummer aus den Suchergebnissen folgen. Wählen wir das Modul ssh_enumusers aus.

use auxiliary/scanner/ssh/ssh_enumusers

Nachdem Sie diesen Befehl ausgeführt haben, werden Sie feststellen, dass sich Ihre Metasploit-Eingabeaufforderung ändert. Sie enthält nun den Namen des aktiven Moduls, was darauf hinweist, dass es geladen und zur Konfiguration bereit ist.

msf6 > use auxiliary/scanner/ssh/ssh_enumusers
msf6 auxiliary(scanner/ssh/ssh_enumusers) >

Die neue Eingabeaufforderung msf6 auxiliary(scanner/ssh/ssh_enumusers) > bestätigt, dass das Modul geladen ist. Von hier aus würden Sie normalerweise Befehle wie show options verwenden, um zu sehen, welche Parameter gesetzt werden müssen, set, um sie zu konfigurieren, und schließlich run oder exploit, um das Modul auszuführen. Wir werden das Modul in diesem Lab nicht ausführen, aber die Auswahl ist der wesentliche letzte Schritt im Suchprozess.

Um zur Haupt-Eingabeaufforderung msf6 > zurückzukehren, können Sie den Befehl back verwenden.

Zusammenfassung

In diesem Lab haben Sie die wesentlichen Fähigkeiten zum Finden von Modulen innerhalb des Metasploit Frameworks erlernt. Sie sind nun in der Lage, die Tausenden von verfügbaren Modulen präzise und effizient zu durchsuchen.

Sie haben die Kernbefehle für diesen Prozess geübt:

  • search: Um Module basierend auf Schlüsselwörtern wie Servicenamen zu finden.
  • search type:<type>: Um Ergebnisse nach spezifischen Modultypen wie exploit oder auxiliary zu filtern.
  • search cve:<cveid>: Um Module zu identifizieren, die mit einer bestimmten CVE-Schwachstelle verbunden sind.
  • info: Um die Details, Optionen und den Zweck eines Moduls zu überprüfen.
  • use: Um ein Modul auszuwählen und in den Kontext des Frameworks zu laden.

Die Beherrschung dieser Suchtechniken ist ein grundlegender Schritt, um mit Metasploit vertraut zu werden. Sie sind nun gut gerüstet, um die richtigen Werkzeuge für Ihre zukünftigen Penetration-Testing-Aufgaben zu finden.