Grundlagen der Metasploit Console-Navigation

LinuxBeginner
Jetzt üben

Einführung

Willkommen in der Welt von Metasploit! Das Metasploit Framework ist ein mächtiges Werkzeug, das von Sicherheitsexperten für Penetrationstests und Schwachstellenbewertungen (Vulnerability Assessment) eingesetzt wird. Im Zentrum steht die Metasploit Console, oder msfconsole, eine interaktive Kommandozeilen-Schnittstelle (Command-Line Interface), die Ihnen Zugriff auf die riesige Auswahl an Modulen, Exploits und Payloads des Frameworks gewährt.

In diesem Lab lernen Sie die wesentlichen Befehle zur Navigation in der msfconsole kennen. Die Beherrschung dieser Grundlagen ist der erste Schritt zur effektiven Nutzung von Metasploit. Wir werden behandeln, wie man Hilfe erhält, Projekte mit Arbeitsbereichen (Workspaces) verwaltet, nach Modulen sucht, detaillierte Informationen darüber ansieht und die Konsole ordnungsgemäß beendet.

Beginnen wir mit dem Starten der Konsole.

Kernbefehle mit dem help-Befehl erkunden

In diesem Schritt starten Sie die Metasploit Console und verwenden den Befehl help, um die verfügbaren Befehle zu erkunden. Der help-Befehl ist Ihre wertvollste Ressource, wenn Sie unsicher sind, was ein Befehl bewirkt oder welche Befehle überhaupt verfügbar sind.

Zuerst starten wir die Metasploit Console. Wir verwenden das Flag -q (quiet), um das Startbanner für eine sauberere Oberfläche zu überspringen.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

msfconsole -q

Sie werden feststellen, dass sich Ihre Eingabeaufforderung zu msf > ändert, was anzeigt, dass Sie sich nun innerhalb der Metasploit Console befinden.

Nun verwenden wir den Befehl help, um eine Liste aller verfügbaren Befehle anzuzeigen.

help

Sie sehen eine lange Liste von Befehlen, die zur einfacheren Navigation kategorisiert sind.

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Hilfemenü
    banner        Anzeige eines beeindruckenden Metasploit-Banners
    cd            Aktuelles Arbeitsverzeichnis ändern
    color         Umschalten der Farbausgabe
    connect       Kommunikation mit einem Host
    ...

Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Anzeige erweiterter Optionen für ein Modul
    back          Zurück aus dem aktuellen Kontext wechseln
    info          Anzeige von Informationen über ein Modul
    ...

Sie können auch detaillierte Hilfe für einen bestimmten Befehl erhalten. Um beispielsweise mehr über den Befehl search zu erfahren, können Sie help search eingeben.

help search

Dies zeigt die Syntax und die Optionen für den Befehl search an.

Usage: search [options] <keywords>

Suche nach Modulen, Plugins und anderen Framework-Objekten.

OPTIONS:

    -h, --help             Hilfebanner.
    -o <file>, --output <file>  Ausgabe in einer Datei im CSV-Format senden.
    -S <string>, --search <string>  Suchzeichenfolge zur Zeilenfilterung.
    -t <type>, --type <type>  Der Typ des zu durchsuchenden Moduls (exploit, payload, auxiliary, etc)
...

Nutzen Sie die Gelegenheit, andere Befehle mit help zu erkunden, bevor Sie mit dem nächsten Schritt fortfahren.

Arbeitsbereichsverwaltung mit dem workspace-Befehl anzeigen

In diesem Schritt lernen Sie die Arbeitsbereiche (Workspaces) kennen. Arbeitsbereiche sind eine Methode, um Ihre Arbeit in Metasploit zu organisieren. Jeder Arbeitsbereich ist eine in sich geschlossene Umgebung, die Informationen über Hosts, Dienste, Schwachstellen und gesammelte Daten (Loot) für ein spezifisches Engagement speichert. Dies ist äußerst nützlich, um verschiedene Penetrationstest-Projekte voneinander getrennt zu halten.

Standardmäßig befinden Sie sich im Arbeitsbereich default. Sie können den aktuellen und die verfügbaren Arbeitsbereiche mit dem Befehl workspace anzeigen.

workspace

Die Ausgabe zeigt Ihnen die verfügbaren Arbeitsbereiche an, wobei ein Sternchen * den aktuell aktiven Bereich kennzeichnet.

* default

Erstellen wir nun einen neuen Arbeitsbereich für unser Projekt. Wir nennen ihn myproject. Das Flag -a wird verwendet, um einen neuen Arbeitsbereich hinzuzufügen.

workspace -a myproject

Metasploit bestätigt die Erstellung und wechselt Sie automatisch zum neuen Arbeitsbereich.

[*] Added workspace: myproject
[*] Workspace: myproject

Wenn Sie nun die Arbeitsbereiche erneut auflisten, sehen Sie sowohl default als auch myproject, wobei myproject der aktive ist.

workspace
  default
* myproject

Alle nachfolgenden Aktionen, wie das Scannen von Hosts oder das Sammeln von Daten, werden nun innerhalb des Arbeitsbereichs myproject gespeichert.

Verfügbare Module mit dem search-Befehl auflisten

In diesem Schritt lernen Sie, wie Sie Module mithilfe des Befehls search finden. Das Metasploit Framework enthält Tausende von Modulen, welche die Kernkomponenten sind, die Sie zur Durchführung von Aktionen verwenden werden. Dazu gehören Exploits, Auxiliary-Scanner, Payloads und mehr. Der Befehl search ist unerlässlich, um das richtige Werkzeug für die jeweilige Aufgabe zu finden.

Sie können Module anhand von Schlüsselwörtern durchsuchen. Suchen wir zum Beispiel nach Modulen, die mit smb (Server Message Block) in Zusammenhang stehen, einem gängigen Netzwerkprotokoll.

search smb

Die Ausgabe ist eine lange Liste übereinstimmender Module. Die Ergebnisse werden in einer Tabelle mit mehreren Spalten angezeigt:

  • #: Die Indexnummer des Ergebnisses.
  • Name: Der vollständige Pfad und Name des Moduls.
  • Disclosure Date: Das Datum der öffentlichen Bekanntgabe der Schwachstelle.
  • Rank: Die Zuverlässigkeit des Exploits, von low (niedrig) bis excellent (exzellent).
  • Check: Gibt an, ob das Modul eine check-Methode besitzt, um sicher auf die Schwachstelle zu testen.
  • Description: Eine kurze Zusammenfassung dessen, was das Modul tut.
Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   auxiliary/admin/smb/impacket/secretsdump  2021-11-09       normal     No     SMB Secrets Dump
   1   auxiliary/admin/smb/psexec_ntdsgrab       2021-11-09       normal     No     PsExec NTDSGRAB
   ...
   58  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average    Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   ...

Sie können Ihre Suche verfeinern, indem Sie Schlüsselwörter wie type, platform, name usw. verwenden. Um beispielsweise nur exploit-Module für die Plattform windows zu finden, die mit smb in Zusammenhang stehen, können Sie den folgenden Befehl verwenden:

search type:exploit platform:windows smb

Dies liefert Ihnen eine wesentlich fokussiertere Ergebnisliste, was die Suche nach dem spezifischen Exploit, den Sie benötigen, erleichtert.

Modulinformationen mit dem info-Befehl anzeigen

In diesem Schritt lernen Sie, wie Sie detaillierte Informationen zu einem bestimmten Modul mithilfe der Befehle use und info abrufen. Nachdem Sie mit search ein vielversprechendes Modul gefunden haben, müssen Sie verstehen, was es tut, welche Optionen es erfordert und welche Ziele es betrifft.

Zuerst müssen Sie ein Modul zur Bearbeitung auswählen. Dies geschieht mit dem Befehl use, gefolgt vom vollständigen Namen des Moduls aus den Suchergebnissen. Wählen wir den berühmten eternalblue-Exploit aus.

use exploit/windows/smb/ms17_010_eternalblue

Beachten Sie, dass sich Ihre Eingabeaufforderung (Prompt) ändert. Sie enthält nun den Namen des aktiven Moduls und zeigt an, dass Sie sich in dessen Kontext befinden.

msf exploit(windows/smb/ms17_010_eternalblue) >

Nachdem ein Modul ausgewählt wurde, können Sie mit dem Befehl info detaillierte Informationen darüber abrufen.

info

Dieser Befehl zeigt eine umfassende Übersicht des Moduls an, einschließlich:

  • Name, Module, Platform, Arch
  • Privileged: Ob spezielle Berechtigungen erforderlich sind.
  • License und Rank
  • Provided by: Die Autoren des Moduls.
  • Available targets: Die spezifischen Betriebssysteme oder Anwendungen, die als Ziel dienen können.
  • Basic options: Die Parameter, die Sie konfigurieren müssen, wie die Ziel-IP-Adresse (RHOSTS).
  • Payload information: Die Arten von Payloads, die es liefern kann.
  • Description: Eine detaillierte Erklärung der Schwachstelle.
  • References: Links zu Advisories und Artikeln (CVE, BID usw.).
       Name: MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
     Module: exploit/windows/smb/ms17_010_eternalblue
   Platform: Windows
       Arch: x86, x64
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Average
...

Basic options:
  Name      Current Setting  Required  Description
  ----      ---------------  --------  -----------
  RHOSTS                     yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT     445              yes       The target port (TCP)
  SMBDomain .                no        (Optional) The Windows domain to use for authentication
...

Die Überprüfung dieser Informationen ist ein entscheidender Schritt, bevor Sie versuchen, einen Exploit auszuführen.

Metasploit Konsole mit dem exit-Befehl verlassen

In diesem letzten Schritt lernen Sie, wie Sie die Metasploit Console ordnungsgemäß beenden. Obwohl Sie das Terminalfenster schließen oder Ctrl+C verwenden können, ist der empfohlene Weg, msfconsole zu verlassen, die Verwendung des Befehls exit.

Dies stellt sicher, dass das Framework sauber herunterfährt, alle laufenden Jobs stoppt und den aktuellen Zustand speichert.

Bevor Sie beenden, können Sie aus dem Kontext eines Moduls zur Haupt-Eingabeaufforderung von msfconsole zurückkehren, indem Sie den Befehl back verwenden.

back

Ihre Eingabeaufforderung kehrt zum Standard msf > zurück.

Um die Konsole nun vollständig zu verlassen, geben Sie einfach exit ein.

exit

Sie sehen eine Abschaltmeldung und kehren zu Ihrer normalen System-Shell-Eingabeaufforderung zurück.

labex:project$

Damit ist unsere grundlegende Einführung in die Navigation der Metasploit Console abgeschlossen.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben dieses Lab zu den Grundlagen der Metasploit Console-Navigation erfolgreich abgeschlossen.

In diesem Lab haben Sie gelernt, wie man die grundlegendsten Operationen innerhalb von msfconsole durchführt:

  • Starten der Konsole und Verwendung des Befehls help, um andere Befehle zu entdecken und kennenzulernen.
  • Organisieren Ihrer Projekte mithilfe des Befehls workspace zur Erstellung und Verwaltung separater Umgebungen.
  • Finden von Modulen für jede Aufgabe mit dem leistungsstarken Befehl search und seinen Filtern.
  • Untersuchen der Details, Optionen und Ziele eines Moduls mit dem Befehl info.
  • Ordentliches Beenden des Frameworks mit dem Befehl exit.

Diese Befehle bilden die Grundlage, auf der Ihre gesamte zukünftige Arbeit in Metasploit aufbauen wird. Mit diesem Wissen sind Sie nun bereit, fortgeschrittenere Themen zu erkunden, wie das Konfigurieren und Ausführen von Modulen.