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.


