Kali Linux ist mit allen Tools ausgestattet, die für Penetrationstests erforderlich sind. Ein solches Tool ist das Metasploit-Framework, mit dem Red-Teamer Aufklärung durchführen, scannen, aufzählen, und Schwachstellen für alle Arten von Anwendungen, Netzwerken, Servern, Betriebssystemen usw. auszunutzen Plattformen.

Obwohl sich die Hauptfunktionalität von Metasploit auf Pentesting-Aufgaben vor und nach der Exploitation konzentriert, ist es auch bei der Exploit-Entwicklung und der Schwachstellenforschung hilfreich.

Dieser Artikel stellt die Hauptkomponenten des Metasploit-Frameworks vor. Es zeigt, wie Metasploit-Module zum Scannen, Aufzählen und Ausnutzen einer anfälligen MySQL-Datenbank verwendet werden, die auf einem Computer namens Metasploitable 2 gehostet wird.

Metasploit ist das am häufigsten verwendete Pentesting-Tool, das in Kali Linux vorinstalliert ist. Die Hauptkomponenten von Metasploit sind msfconsole und die angebotenen Module.

Was ist msfconsole?

msfconsole ist die am häufigsten verwendete Shell-ähnliche All-in-One-Oberfläche, mit der Sie auf alle Funktionen von Metasploit zugreifen können. Es verfügt über eine Linux-ähnliche Befehlszeilenunterstützung, da es die automatische Vervollständigung von Befehlen, Tabulatoren und andere Bash-Verknüpfungen bietet.

instagram viewer

Es ist die Hauptschnittstelle, die es Ihnen ermöglicht, mit Metasploit-Modulen zu arbeiten, um den Zielcomputer zu scannen und einen Angriff zu starten.

Metasploit hat kleine Codeschnipsel, die seine Hauptfunktionalität aktivieren. Bevor Sie die Module erklären, müssen Sie sich jedoch über die folgenden wiederkehrenden Konzepte im Klaren sein:

  • Verletzlichkeit: Es ist ein Fehler im Design oder Code des Ziels, der es anfällig für Ausnutzung macht, die zur Offenlegung vertraulicher Informationen führt.
  • Ausbeuten: Ein Code, der die gefundene Schwachstelle ausnutzt.
  • Nutzlast: Es ist ein Code, der Ihnen hilft, das Ziel zu erreichen, eine Schwachstelle auszunutzen. Es läuft innerhalb des Zielsystems, um auf die Zieldaten zuzugreifen, z. B. um den Zugriff über Meterpreter oder eine Reverse-Shell aufrechtzuerhalten.

Nun zu den fünf Hauptmodulen von Metasploit:

  • Hilfs: Das Hilfsmodul enthält eine Reihe von Programmen wie Fuzzer, Scanner und SQL-Injection-Tools, um Informationen zu sammeln und ein tieferes Verständnis des Zielsystems zu erlangen.
  • Encoder: Encoder verschlüsseln die Payloads/Exploits, um sie vor signaturbasierten Antivirenlösungen zu schützen. Da Payloads oder Exploits ungültige oder fehlerhafte Zeichen enthalten, besteht eine hohe Wahrscheinlichkeit, dass sie von einer Antivirenlösung erkannt werden.
  • Ausbeuten: Wie bereits erwähnt, ist ein Exploit ein Code, der die Schwachstellen des Ziels ausnutzt, um den Systemzugriff über Payloads sicherzustellen.
  • Nutzlast: Wie bereits erwähnt, helfen Payloads dabei, das gewünschte Ziel zu erreichen, das Zielsystem anzugreifen. Das bedeutet, dass sie Ihnen entweder dabei helfen, eine interaktive Shell zu erhalten oder Ihnen helfen, eine Hintertür zu warten, einen Befehl auszuführen oder Malware zu laden usw. Metasploit bietet zwei Arten von Payloads: Stageless Payloads und Staged Payloads.
  • Post: Das Post-Exploitation-Modul hilft Ihnen, weitere Informationen über das System zu sammeln. Beispielsweise kann es Ihnen dabei helfen, die Passwort-Hashes auszugeben und nach Benutzeranmeldeinformationen für laterale Bewegungen oder Rechteausweitungen zu suchen.

Sie können die folgenden Befehle verwenden, um jedes Modul und seine Kategorien anzuzeigen:

cd /usr/share/metasploit-framework/modules
ls
Baum -L 1 Modulname/

Um mit der Verwendung der Metasploit-Oberfläche zu beginnen, öffnen Sie das Kali Linux-Terminal und geben Sie ein msfconsole.

Standardmäßig öffnet sich msfconsole mit einem Banner; Um das zu entfernen und die Schnittstelle im stillen Modus zu starten, verwenden Sie die msfconsole Befehl mit dem -Q Flagge.

Die Schnittstelle sieht aus wie eine Linux-Befehlszeilen-Shell. Einige unterstützte Linux-Bash-Befehle sind ls, clear, grep, history, jobs, kill, cd, exit usw.

Typ Hilfe oder ein Fragezeichen "?", um die Liste aller verfügbaren Befehle anzuzeigen, die Sie in msfconsole verwenden können. Einige der wichtigsten, die wir in diesem Artikel verwenden werden, sind:

Befehl Beschreibung
Suche Ermöglicht die Suche in der Metasploit-Datenbank basierend auf dem angegebenen Protokoll/Anwendung/Parameter
benutzen Ermöglicht die Auswahl eines bestimmten Moduls und ändert den Kontext in modulspezifische Befehle
die Info Liefert Informationen zum ausgewählten Modul
Show Zeigt Informationen über den angegebenen Modulnamen und Optionen für das aktuelle Modul an
überprüfen Überprüft, ob das Zielsystem eine Schwachstelle aufweist
einstellen Es ist eine kontextspezifische Variable, die Optionen für das aktuelle Modul konfiguriert
ungesetzt Entfernt zuvor eingestellte Parameter
Lauf Führt das aktuelle Modul aus

Bevor Sie beginnen, richten Sie die Metasploit-Datenbank ein Starten des PostgreSQL-Servers und initialisieren Sie die msfconsole-Datenbank wie folgt:

systemctl postgresql starten
msfdb-Init

Überprüfen Sie nun den Datenbankstatus, indem Sie msfconsole initialisieren und die db_status Befehl.

Richten Sie zu Demonstrationszwecken die angreifbare Open-Source-Linux-Maschine Metasploitable2 ein.

MySQL-Aufklärung mit msfconsole

Finden Sie die IP-Adresse der Metasploitable-Maschine Erste. Verwenden Sie dann die db_nmap Befehl in msfconsole mit Nmap-Flags, um die MySQL-Datenbank zu scannen 3306 Hafen.

db_nmap -sV -sC -p 3306 

Sie können die regelmäßige ausführen nmap -p- Befehl, um die Portnummer der MySQL-Datenbank zu bestätigen.

Verwandt: Nmap für Anfänger: Sammeln Sie praktische Erfahrungen mit Port-Scanning

Verwenden Sie die Suche Option zum Suchen nach einem Hilfsmodul zum Scannen und Auflisten der MySQL-Datenbank.

Suchtyp: Hilfs mysql

Aus der obigen Liste können Sie die verwenden Hilfs/scanner/mysql/mysql_version Modul, indem Sie den Modulnamen oder die zugehörige Nummer eingeben, um die MySQL-Versionsdetails zu scannen.

verwenden 11

Oder:

Verwenden Sie auxiliary/scanner/mysql/mysql_version

Verwenden Sie jetzt die Optionen zeigen Befehl zum Anzeigen der notwendigen Parameter, die zum Ausführen des aktuellen Moduls erforderlich sind:

Die Ausgabe zeigt, dass die einzige erforderliche und nicht festgelegte Option RHOSTS ist, die die IP-Adresse des Zielcomputers ist. Verwenden Sie die rhosts setzen Befehl zum Festlegen des Parameters und Ausführen des Moduls wie folgt:

Die Ausgabe zeigt ähnliche MySQL-Versionsdetails wie die db_nmap Funktion.

Bruteforce-MySQL-Stammkonto mit msfconsole

Nach dem Scannen können Sie auch das MySQL-Root-Konto über Metasploit brute forcen Hilfsprogramm (scanner/mysql/mysql_login) Modul.

Sie müssen die einstellen PASS_DATEI Parameter zum Wortlistenpfad, der darin verfügbar ist /usr/share/wordlists:

setze PASS_FILE /usr/share/wordlistss/rockyou.txt

Geben Sie dann die IP-Adresse des Zielcomputers mit dem Befehl RHOSTS an.

Setze RHOSTS 

Satz BLANK_PASSWORDS auf true, falls für das Root-Konto kein Passwort festgelegt ist.

setze BLANK_PASSWORDS auf wahr

Führen Sie schließlich das Modul aus, indem Sie es eingeben Lauf im Endgerät.

MySQL-Aufzählung mit msfconsole

Mit msfconsole können Sie die Datenbank auch mit Hilfe der Hilfsprogramm (admin/mysql/mysql_enum) Modul. Es gibt alle Konten mit Details wie den zugehörigen Berechtigungen und Passwort-Hashes zurück.

Dazu müssen Sie das Passwort, den Benutzernamen und die rhosts-Variable angeben.

Passwort festlegen ""
Benutzernamen root festlegen
rhosts setzen

Führen Sie schließlich das Modul aus, indem Sie Folgendes eingeben:

Lauf

MySQL-Nutzung mit msfconsole

Aus der Aufzählungsphase ist klar, dass das Root-Konto über Dateiberechtigungen verfügt, die es einem Angreifer ermöglichen, die auszuführen lade Datei() Funktion. Die Funktion ermöglicht es Ihnen, die MySQL-Datenbank auszunutzen, indem Sie alle Daten aus laden die /etc/password-Datei über die Hilfsprogramm (/admin/mysql/mysql_sql) Modul:

Legen Sie erneut den Benutzernamen, das Kennwort und die rhosts-Variable fest. Führen Sie dann eine Abfrage aus, die die Funktion load_file() aufruft und die /etc/passwd Datei.

set sql select load_file(\"/etc/password\")

Metasploit-Module helfen in allen Phasen des Penetrationstests. Metasploit ermöglicht es Benutzern auch, ihre eigenen Module zu erstellen.

Dieser Artikel fasst einige Hauptmodule des Metasploit-Frameworks zusammen und zeigt, wie eine MySQL-Datenbank auf dem Metasploitable 2-Computer gescannt, aufgelistet und ausgenutzt wird.

Metasploit ist nicht das einzige Penetrationstest-Tool, das Sie als Cybersicherheitsexperte verwenden werden. Es gibt mehrere andere Dienstprogramme, mit denen Sie sich vertraut machen müssen, wenn Sie ein Sicherheitsexperte werden möchten.

Die 10 besten Tools für Penetrationstests für Sicherheitsexperten

Wenn Sie sich fragen, wie die Profis die Penetration testen, hilft Ihnen dieser Leitfaden weiter.

Lesen Sie weiter

TeilenTwitternEmail
Verwandte Themen
  • Linux
  • Ethisches Hacken
  • Hacken
  • Linux-Apps
Über den Autor
Rumaisa Niazi (11 veröffentlichte Artikel)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat viele Rollen getragen, von einer Mathematikerin bis hin zu einer Enthusiastin für Informationssicherheit, und arbeitet jetzt als SOC-Analystin. Ihre Interessen umfassen das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden