Metasploit-Datenbank konfigurieren und verwenden

Kali LinuxBeginner
Jetzt üben

Einleitung

Das Metasploit Framework ist ein leistungsstarkes Werkzeug für Penetrationstests und Sicherheitsforschung. Obwohl es auch ohne Datenbank verwendet werden kann, verbessert die Verbindung zu einer Datenbank wie PostgreSQL seine Fähigkeiten erheblich. Eine Datenbank ermöglicht es Ihnen, Informationen über Hosts, entdeckte Dienste, Schwachstellen und gesammelte Beweise (Loot) zu speichern. Dies macht die Datenverwaltung bei großen Assessments wesentlich effizienter.

In diesem Lab lernen Sie die grundlegenden Schritte zur Konfiguration und Nutzung der Metasploit-Datenbank. Sie werden den Datenbankdienst initialisieren, die Verbindung überprüfen und lernen, wie Sie Workspaces verwenden, um Ihre Projekte organisiert zu halten.

Initialisieren der Metasploit-Datenbank mit msfdb init

In diesem Schritt initialisieren Sie die Metasploit-Datenbank. Das Metasploit Framework enthält ein praktisches Skript namens msfdb zur Verwaltung der PostgreSQL-Datenbank. Der Befehl init startet den PostgreSQL-Dienst, erstellt eine dedizierte Datenbank und einen Benutzer für Metasploit und speichert die Verbindungsdetails, damit das Framework diese automatisch verwenden kann.

Sie müssen diesen Befehl mit sudo ausführen, da er Systemdienste verwaltet und Datenbankbenutzer erstellt.

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

sudo msfdb init

Sie sehen eine Ausgabe, die darauf hinweist, dass die Datenbank initialisiert wird. Dieser Vorgang kann einen Moment dauern. Die Ausgabe sollte in etwa wie folgt aussehen und bestätigen, dass der Datenbankbenutzer, die Datenbank und die Konfigurationsdatei erstellt wurden.

[+] Starting database
[+] Creating database user 'msf'
[+] Creating database 'msf'
[+] Creating database 'msf_test'
[+] Creating configuration file '/home/labex/.msf4/database.yml'
[+] Creating initial database schema

Dieser Befehl muss nur einmal ausgeführt werden. Danach ist die Datenbank für die Verwendung durch Metasploit bereit.

Überprüfen des Datenbankverbindungsstatus mit db_status

In diesem Schritt überprüfen Sie, ob Metasploit erfolgreich mit der gerade initialisierten Datenbank verbunden ist. Dazu müssen Sie zuerst die Metasploit Framework-Konsole starten, die die primäre Schnittstelle für die Interaktion mit Metasploit darstellt.

Starten Sie die Konsole, indem Sie msfconsole in Ihrem Terminal eingeben:

msfconsole

Nach einem Moment sehen Sie die Eingabeaufforderung msf6 >, die anzeigt, dass die Konsole bereit ist.

Um nun den Status der Datenbankverbindung zu überprüfen, verwenden Sie den Befehl db_status innerhalb der Metasploit-Konsole:

db_status

Wenn die Verbindung erfolgreich ist, sehen Sie eine Bestätigungsnachricht.

[*] postgresql connected to msf

Dies bestätigt, dass Metasploit ordnungsgemäß mit seiner Datenbank verbunden ist und bereit ist, Daten zu speichern. Vorerst bleiben wir für die nächsten Schritte in der msfconsole.

Erstellen eines neuen Arbeitsbereichs für ein Projekt

In diesem Schritt lernen Sie, wie Sie einen neuen Arbeitsbereich (workspace) erstellen. Arbeitsbereiche sind eine der nützlichsten Funktionen der Metasploit-Datenbank. Sie fungieren als separate Container für Ihre Daten und ermöglichen es Ihnen, verschiedene Penetrationstests oder Projekte vollständig voneinander zu isolieren. Standardmäßig starten Sie in einem Arbeitsbereich namens default.

Um einen neuen Arbeitsbereich zu erstellen, verwenden Sie den Befehl workspace mit dem Flag -a (was für "add" steht), gefolgt vom Namen des neuen Arbeitsbereichs. Erstellen wir einen Arbeitsbereich namens project_alpha.

Geben Sie im msfconsole-Prompt den folgenden Befehl ein:

workspace -a project_alpha

Metasploit bestätigt, dass der Arbeitsbereich hinzugefügt wurde, und wechselt Sie automatisch zu dem neuen Arbeitsbereich.

[*] Added workspace: project_alpha
[*] Workspace: project_alpha

Nun werden alle von Ihnen gesammelten Daten – wie Host-Informationen, Scan-Ergebnisse oder Anmeldeinformationen – innerhalb des Arbeitsbereichs project_alpha gespeichert und bleiben so vom Arbeitsbereich default getrennt.

Alle verfügbaren Arbeitsbereiche auflisten

In diesem Schritt listen Sie alle verfügbaren Arbeitsbereiche in der Datenbank auf. Dies ist nützlich, um alle Ihre aktuellen Projekte anzuzeigen und zu identifizieren, in welchem Sie gerade arbeiten.

Um alle Arbeitsbereiche aufzulisten, führen Sie einfach den Befehl workspace ohne Argumente aus.

Führen Sie im msfconsole-Prompt den folgenden Befehl aus:

workspace

Die Ausgabe zeigt eine Liste aller Arbeitsbereiche. Der aktuelle Arbeitsbereich ist mit einem Sternchen (*) gekennzeichnet. Sie sollten sowohl den Arbeitsbereich default als auch den Arbeitsbereich project_alpha, den Sie im vorherigen Schritt erstellt haben, sehen.

  default
* project_alpha

Dieser Befehl gibt Ihnen einen schnellen Überblick über Ihre Projekte und hilft Ihnen, Ihren aktuellen Kontext im Auge zu behalten.

Wechseln zwischen verschiedenen Arbeitsbereichen

In diesem Schritt lernen Sie, wie Sie zwischen verschiedenen Arbeitsbereichen wechseln. Wenn Sie an mehreren Projekten arbeiten, müssen Sie häufig Ihren aktiven Arbeitsbereich ändern, um auf die Daten zuzugreifen, die mit einem bestimmten Engagement verbunden sind.

Um zu einem anderen Arbeitsbereich zu wechseln, verwenden Sie den Befehl workspace, gefolgt vom Namen des Arbeitsbereichs, den Sie aktivieren möchten. Wechseln wir zurück zum Arbeitsbereich default.

Geben Sie im msfconsole-Prompt diesen Befehl ein:

workspace default

Metasploit bestätigt den Wechsel mit einer Meldung.

[*] Workspace: default

Sie können den Wechsel überprüfen, indem Sie den Befehl workspace erneut ausführen. Sie werden sehen, dass das Sternchen (*) nun neben default steht.

workspace
* default
  project_alpha

Sie haben nun erfolgreich Ihren Arbeitskontext gewechselt. Um die Metasploit-Konsole zu verlassen und zum normalen Terminal zurückzukehren, geben Sie exit ein:

exit

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die wesentlichen Fähigkeiten für die Verwaltung der Metasploit-Datenbank erlernt, was ein entscheidender Teil der effektiven Nutzung des Frameworks für professionelle Einsätze ist.

In diesem Lab haben Sie Folgendes behandelt:

  • Initialisierung der PostgreSQL-Datenbank für Metasploit mit sudo msfdb init.
  • Starten der Metasploit-Konsole mit msfconsole.
  • Überprüfung der Datenbankverbindung mit dem Befehl db_status.
  • Erstellung neuer, isolierter Projektumgebungen mit workspace -a <name>.
  • Auflistung aller verfügbaren Arbeitsbereiche mit dem Befehl workspace.
  • Wechseln zwischen verschiedenen Arbeitsbereichen mit workspace <name>.

Die richtige Nutzung der Datenbank und der Arbeitsbereiche hilft Ihnen, während Ihrer Penetration-Testing-Aktivitäten organisiert und effizient zu bleiben.