Informationsbeschaffung & Auxiliary-Module

CybersicherheitBeginner
Jetzt üben

Einführung

Willkommen zum Lab „Informationsbeschaffung & Auxiliary-Module“!

Wenn die meisten Menschen an das Metasploit Framework denken, denken sie sofort an Exploitation – also das Ausführen von Payloads, um anfällige Systeme zu kompromittieren. Metasploit ist jedoch auch ein mächtiges Werkzeug für die Phasen der Aufklärung (Reconnaissance) und Informationsbeschaffung bei einem Penetrationstest.

Metasploit verfügt über eine Kategorie von Modulen, die als Auxiliary-Module bezeichnet werden. Im Gegensatz zu Exploit-Modulen führen Auxiliary-Module keine Payloads auf dem Zielsystem aus. Stattdessen sind sie darauf ausgelegt, Aufgaben wie Port-Scans, Dienstidentifizierung, Fuzzing und Schwachstellen-Scans durchzuführen.

Diese Unterscheidung ist wichtig, da sie verdeutlicht, dass die Exploitation nur eine Phase eines Engagements ist. Gute offensive Arbeit hängt ebenso von einer strukturierten Aufklärung, Enumeration und Validierung ab.

In diesem Lab lernen Sie, wie Sie in der Metasploit-Konsole navigieren, gezielt nach Auxiliary-Modulen suchen, deren Parameter konfigurieren, Netzwerk-Scans gegen ein lokales Ziel ausführen und die Ergebnisse einsehen, die automatisch in der Datenbank von Metasploit gespeichert werden.

Auxiliary-Module suchen

In diesem Schritt starten Sie die Metasploit Framework-Konsole und lernen, wie Sie nach Auxiliary-Modulen suchen.

Metasploit enthält Tausende von Modulen. Um das zu finden, was Sie benötigen, können Sie den integrierten search-Befehl verwenden. Mit diesem Befehl können Sie nach Modultyp, Name, Plattform und mehr filtern.

Öffnen Sie zunächst Ihr Terminal und starten Sie die Metasploit-Konsole. Wir verwenden das Flag -q, um sie im „Quiet“-Modus zu starten, wodurch das große ASCII-Art-Banner übersprungen wird und die Konsole schneller lädt.

Effektives Suchen ist eine praktische Fähigkeit in Metasploit. Das Framework ist zu umfangreich, um es jedes Mal manuell zu durchsuchen; daher ist das Erlernen der Filterung ein wesentlicher Bestandteil der effizienten Nutzung.

Geben Sie den folgenden Befehl in Ihr Terminal ein:

msfconsole -q

Sie sehen nun den Metasploit-Prompt, der wie msf6 > aussieht. Dies zeigt an, dass Sie sich innerhalb der interaktiven Metasploit-Shell befinden. Falls Sie Metasploit in der aktuellen Umgebung zum ersten Mal starten, werden Sie möglicherweise gefragt, ob eine neue Datenbank eingerichtet werden soll. Antworten Sie mit yes und warten Sie, bis die Initialisierung abgeschlossen ist.

Suchen wir nun nach einem Modul, das einen einfachen TCP-Port-Scan durchführen kann. Eine einfache Stichwortsuche ist über verschiedene Metasploit-Versionen hinweg zuverlässiger als die Verwendung mehrerer Suchfilter.

Führen Sie den folgenden Befehl in der Metasploit-Konsole aus:

search portscan

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

   ##  Name                                              Disclosure Date  Rank    Check  Description
   -  ----                                              ---------------  ----    -----  -----------
   0  auxiliary/scanner/portscan/ack                                     normal  No     TCP ACK Firewall Scanner
   1  auxiliary/scanner/portscan/ftpbounce                               normal  No     FTP Bounce Port Scanner
   2  auxiliary/scanner/portscan/syn                                     normal  No     TCP SYN Port Scanner
   3  auxiliary/scanner/portscan/tcp                                     normal  No     TCP Port Scanner
   4  auxiliary/scanner/portscan/xmas                                    normal  No     TCP "XMas" Port Scanner

Die Suchergebnisse zeigen eine Liste passender Module. Jedes Modul hat einen spezifischen Pfad (zum Beispiel auxiliary/scanner/portscan/tcp), einen Rang und eine kurze Beschreibung. Im nächsten Schritt wählen wir eines dieser Module aus.

Zielparameter konfigurieren (RHOSTS)

In diesem Schritt wählen Sie ein spezifisches Port-Scan-Modul aus und konfigurieren dessen Einstellungen.

Um Metasploit mitzuteilen, mit welchem Modul Sie arbeiten möchten, verwenden Sie den Befehl use gefolgt vom Pfad des Moduls. Wir verwenden den Standard-TCP-Port-Scanner.

Führen Sie den folgenden Befehl in Ihrer Metasploit-Konsole aus:

use auxiliary/scanner/portscan/tcp

Beachten Sie, dass sich Ihr Prompt in msf6 auxiliary(scanner/portscan/tcp) > ändert. Dies zeigt an, dass das Modul nun aktiv ist.

Bevor Sie ein Modul ausführen, müssen Sie dessen Parameter konfigurieren. Sie können alle verfügbaren Parameter für das aktuelle Modul mit dem Befehl show options anzeigen:

show options

Die Ausgabe zeigt eine Tabelle mit Optionen. Achten Sie auf die Spalte Required. Jede Option, die mit yes markiert ist, muss einen Wert haben, bevor das Modul ausgeführt werden kann.

Module options (auxiliary/scanner/portscan/tcp):

   Name         Current Setting  Required  Description
   ----         ---------------  --------  -----------
   CONCURRENCY  10               yes       The number of concurrent ports to check per host
   DELAY        0                yes       The delay between connections, per thread, in milliseconds
   JITTER       0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
   PORTS        1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS                        yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   THREADS      1                yes       The number of concurrent threads (max one per host)
   TIMEOUT      1000             yes       The socket connect timeout in milliseconds

Die wichtigste Einstellung ist RHOSTS (Remote Hosts), die die Ziel-IP-Adresse oder den Netzwerkbereich angibt. Für dieses Lab scannen wir unsere eigene lokale Maschine, auf der mehrere Dienste laufen.

Setzen Sie die Ziel-IP-Adresse mit dem Befehl set auf 127.0.0.1 (localhost):

set RHOSTS 127.0.0.1

Standardmäßig scannt dieses Modul die Ports von 1 bis 10000. Damit unser Scan schnell abgeschlossen ist, beschränken wir ihn auf einige spezifische Ports, von denen wir wissen, dass in diesem Lab-Setup Dienste darauf laufen: FTP auf 21, HTTP auf 80 und PostgreSQL auf 5432.

Setzen Sie die Option PORTS so, dass nur diese spezifischen Ports gescannt werden:

set PORTS 21,80,5432

Sie können erneut show options ausführen, um zu überprüfen, ob Ihre Einstellungen korrekt übernommen wurden.

Scans ausführen und Ergebnisse speichern

In diesem Schritt führen Sie den konfigurierten Port-Scan aus.

Sobald der Scan in Metasploit läuft, ist der Wert nicht nur die unmittelbare Ausgabe. Der Wert liegt auch darin, dass die Ergebnisse Teil der Datenbank werden und spätere Module sowie Entscheidungen beeinflussen können.

Einer der größten Vorteile der Verwendung von Metasploit für die Informationsbeschaffung ist die integrierte Datenbankanbindung. Wenn eine Datenbank verbunden ist, speichert Metasploit automatisch die Ergebnisse Ihrer Scans und hält Ihre Aufklärungsdaten organisiert.

Überprüfen wir zunächst, ob Metasploit mit seiner PostgreSQL-Datenbank verbunden ist. Führen Sie den folgenden Befehl aus:

db_status

Sie sollten eine Ausgabe sehen, die die Verbindung bestätigt, wie zum Beispiel:

[*] Connected to msf. Connection type: postgresql.

Nachdem wir bestätigt haben, dass die Datenbank aktiv ist und unsere Moduloptionen konfiguriert sind, ist es an der Zeit, den Scan zu starten. Sie können das Modul entweder mit run oder exploit starten. Für Auxiliary-Module ist run die Standardkonvention.

Führen Sie den Scan aus:

run

Metasploit versucht nun, eine Verbindung zu den angegebenen Ports auf der Ziel-IP-Adresse herzustellen. Da wir den Scan auf drei Ports begrenzt haben, sollte er fast sofort abgeschlossen sein.

Sie sehen eine Ausgabe ähnlich der folgenden, die anzeigt, welche Ports offen sind:

[+] 127.0.0.1             - 127.0.0.1:21 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:80 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:5432 - TCP OPEN
[*] 127.0.0.1:            - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Das Symbol [+] zeigt einen erfolgreichen Fund (einen offenen Port) an. Im Hintergrund hat Metasploit diese Informationen direkt in seiner Datenbank gespeichert.

Hosts und Dienste in der Datenbank anzeigen

In diesem letzten Schritt lernen Sie, wie Sie die Informationen abrufen und anzeigen, die Metasploit während des Scans automatisch in seiner Datenbank gespeichert hat.

Bei der Verwaltung eines großen Penetrationstests scannen Sie möglicherweise Dutzende von Netzwerken und Hunderte von Hosts. Es ist unmöglich, sich jeden offenen Port zu merken, weshalb die Datenbankbefehle unglaublich nützlich sind.

Um eine Liste aller Zielsysteme anzuzeigen, die Metasploit entdeckt und gespeichert hat, verwenden Sie den Befehl hosts:

hosts

Die Ausgabe zeigt eine Tabelle der bekannten Hosts. Sie sollten die Localhost-IP-Adresse sehen, die wir gerade gescannt haben:

Hosts
=====

address    mac  name  os_name  os_flavor  os_sp  purpose  info  comments
-------    ---  ----  -------  ---------  -----  -------  ----  --------
127.0.0.1             Unknown                    device

Um die spezifischen offenen Ports und Dienste anzuzeigen, die auf diesen Hosts entdeckt wurden, verwenden Sie den Befehl services:

services

Dieser Befehl fragt die Datenbank ab und listet alle offenen Ports auf, die wir während unseres Scans gefunden haben:

Services
========

host       port  proto  name  state  info  resource  parents
----       ----  -----  ----  -----  ----  --------  -------
127.0.0.1  21    tcp          open         {}
127.0.0.1  80    tcp          open         {}
127.0.0.1  5432  tcp          open         {}

In diesem Stadium zeichnet der einfache TCP-Port-Scanner lediglich auf, dass diese Ports offen sind; er fügt jedoch möglicherweise keine detaillierten Dienstnamen oder Versionsinformationen hinzu. Wenn Sie später fortgeschrittenere Auxiliary-Module ausführen, kann diese Tabelle mit zusätzlichen Details angereichert werden.

Sie haben die Ziele des Labs erfolgreich erreicht! Um die Metasploit-Konsole zu verlassen und zu Ihrem Standard-Linux-Terminal zurückzukehren, geben Sie ein:

exit

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab „Informationsbeschaffung & Auxiliary-Module“ erfolgreich abgeschlossen.

In diesem Lab haben Sie gelernt, dass Metasploit ein vielseitiges Framework ist, das weit über die reine Exploitation hinausgeht. Sie haben geübt, in der Metasploit-Konsole zu navigieren, nach spezifischen Auxiliary-Modulen zu suchen und wesentliche Parameter wie RHOSTS und PORTS zu konfigurieren. Darüber hinaus haben Sie einen Netzwerk-Port-Scan durchgeführt und die leistungsstarke Datenbankintegration von Metasploit genutzt, um Ihre Aufklärungsdaten automatisch zu speichern und mit den Befehlen hosts und services zu überprüfen.

Diese grundlegenden Fähigkeiten sind entscheidend, um Ihren Arbeitsablauf während der Phase der Informationsbeschaffung bei jeder Sicherheitsüberprüfung zu organisieren.