SMB-Enumeration mit einem Auxiliary Scanner in Metasploit durchführen

Kali LinuxBeginner
Jetzt üben

Einleitung

In diesem Lab lernen Sie, wie Sie Server Message Block (SMB) Enumeration mit dem Metasploit Framework durchführen. SMB ist ein Netzwerkprotokoll, das für die gemeinsame Nutzung von Dateien, Druckern und seriellen Ports zwischen Knoten in einem Netzwerk verwendet wird. Die Enumeration der SMB-Version ist ein entscheidender erster Schritt beim Penetration Testing, da sie hilft, die spezifische Software und Version zu identifizieren, die auf einem Ziel läuft, welche dann mit bekannten Schwachstellen abgeglichen werden kann.

Wir werden eines der Hilfsscanner-Module von Metasploit verwenden, speziell auxiliary/scanner/smb/smb_version, um ein Ziel zu scannen und seine SMB-Version zu ermitteln. Metasploit ist ein leistungsstarkes Penetration Testing Framework, das es einfach macht, Schwachstellen zu finden, auszunutzen und zu validieren.

Am Ende dieses Labs werden Sie mit dem Starten von Metasploit, dem Suchen nach Modulen, dem Konfigurieren von Moduloptionen und dem Ausführen eines Scanners zum Sammeln von Informationen über ein Zielsystem vertraut sein.

Suche nach dem smb_version Hilfsmodul

In diesem Schritt starten wir die Metasploit Framework Konsole und suchen nach dem geeigneten Modul zur Durchführung von SMB-Versionsscans. Die msfconsole ist die primäre Schnittstelle für die Interaktion mit Metasploit.

Öffnen Sie zuerst ein Terminal und starten Sie die Metasploit Konsole, indem Sie den folgenden Befehl ausführen. Die Initialisierung kann einen Moment dauern.

msfconsole -q

Das Flag -q sorgt für ein leises Startbanner. Nach dem Laden sehen Sie die Metasploit-Eingabeaufforderung, die wie folgt aussieht: msf6 >.

Nun suchen wir das Modul für den SMB-Versionsscan. Wir können den Befehl search verwenden, um nach Modulen zu suchen, die sich auf smb_version beziehen.

search smb_version

Sie sehen eine Liste übereinstimmender Module. Dasjenige, das uns interessiert, ist ein Hilfsscanner (auxiliary scanner). Die Ausgabe sollte in etwa so aussehen:

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

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/smb/smb_version                     normal  No     SMB Version Detection
   1  exploit/windows/smb/smb_doublepulsar_eternalblue      2017-04-14  extraordinary Yes    SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE

Aus der Ausgabe können wir ersehen, dass auxiliary/scanner/smb/smb_version das Modul ist, das wir benötigen.

Auswahl des smb_version Moduls

In diesem Schritt wählen wir das Modul aus, das wir im vorherigen Schritt gefunden haben. Nachdem Sie das richtige Modul identifiziert haben, müssen Sie es mit dem Befehl use in den Kontext des Frameworks laden.

Geben Sie in Ihrer msfconsole-Eingabeaufforderung den folgenden Befehl ein, um den smb_version-Scanner auszuwählen:

use auxiliary/scanner/smb/smb_version

Sie werden feststellen, dass sich Ihre Eingabeaufforderung ändert, um das aktuell geladene Modul widerzuspiegeln:

msf6 auxiliary(scanner/smb/smb_version) >

Dies zeigt an, dass das Modul nun aktiv ist. Um zu sehen, welche Optionen wir für dieses Modul konfigurieren können, verwenden Sie den Befehl show options:

show options

Dies zeigt eine Tabelle mit Parametern an, die Sie für das Modul festlegen können.

Module options (auxiliary/scanner/smb/smb_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   THREADS  1                yes       The number of concurrent threads (max one per host)

Achten Sie genau auf die Optionen RHOSTS und THREADS, da wir diese in den nächsten Schritten konfigurieren werden. Die Spalte Required zeigt an, dass RHOSTS gesetzt werden muss, bevor wir den Scanner ausführen können.

Setzen der RHOSTS-Option auf den Ziel-IP-Bereich

In diesem Schritt konfigurieren wir das Ziel für unseren Scan. Die Option RHOSTS (Remote Hosts) teilt Metasploit mit, welche Maschine(n) gescannt werden sollen. Für dieses Lab haben wir einen Samba-Server auf der lokalen Maschine installiert, der als unser Ziel dient. Daher setzen wir RHOSTS auf die Loopback-IP-Adresse 127.0.0.1.

Verwenden Sie den Befehl set, um der Option RHOSTS einen Wert zuzuweisen:

set RHOSTS 127.0.0.1

Metasploit bestätigt die Änderung:

RHOSTS => 127.0.0.1

Sie können überprüfen, ob die Option korrekt gesetzt wurde, indem Sie erneut show options ausführen. Sie sehen, dass 127.0.0.1 nun als Current Setting für RHOSTS aufgeführt ist. Dies ist ein obligatorischer Schritt, da der Scanner sein Ziel kennen muss.

Setzen der THREADS-Option für schnelleres Scannen

In diesem Schritt passen wir die Option THREADS an. Diese Option steuert, wie viele gleichzeitige Scan-Threads Metasploit verwendet. Eine Erhöhung der Anzahl der Threads kann das Scannen erheblich beschleunigen, wenn Sie eine große Anzahl von Hosts anvisieren.

Obwohl das Scannen eines einzelnen Hosts (127.0.0.1) keinen Leistungsvorteil durch mehrere Threads bringt, ist es eine gute Übung, zu lernen, wie diese Option konfiguriert wird. Lassen Sie uns die Anzahl der Threads auf 50 setzen.

Verwenden Sie erneut den Befehl set, um den Wert von THREADS zu ändern:

set THREADS 50

Metasploit bestätigt die Einstellung:

THREADS => 50

Nun ist der Scanner so konfiguriert, dass er bis zu 50 Threads verwendet, was für das Scannen eines Netzwerkbereichs wie 192.168.1.0/24 sehr effektiv wäre.

Ausführen des Scanners und Analysieren der Ausgabe

In diesem Schritt, nachdem alle Optionen konfiguriert sind, sind wir bereit, den Scanner auszuführen. Der Befehl run (oder sein Alias exploit) startet das Modul gegen das angegebene Ziel.

Führen Sie den Scanner in Ihrer msfconsole-Eingabeaufforderung aus:

run

Das Modul versucht nun, eine Verbindung zu Port 445 auf 127.0.0.1 herzustellen und die SMB-Version zu ermitteln. Die Ausgabe sieht dann ungefähr so aus:

[*] 127.0.0.1:445     - Sending SMBv1 request
[+] 127.0.0.1:445     - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Analysieren wir die Ausgabe:

  • Das Symbol [+] zeigt ein erfolgreiches Ergebnis an.
  • Die Zeile Host is running Samba 4.15.13-Ubuntu gibt uns die genaue Version der SMB-Server-Software an. Diese Information ist für einen Penetrationstester äußerst wertvoll, der nun nach spezifischen Schwachstellen für diese Version suchen kann.
  • Die letzten Zeilen bestätigen, dass der Scan abgeschlossen ist.

Sie haben erfolgreich die SMB-Version auf dem Ziel enumeriert. Um die Metasploit-Konsole zu verlassen, geben Sie einfach exit ein.

exit

Zusammenfassung

In diesem Lab haben Sie erfolgreich einen Metasploit-Hilfsscanner zur Durchführung von SMB-Enumeration verwendet. Sie haben den grundlegenden Workflow für die Verwendung von Modulen innerhalb des Metasploit Frameworks kennengelernt.

Sie haben die folgenden Schlüsselkompetenzen geübt:

  • Starten der Metasploit-Konsole (msfconsole).
  • Suchen nach Modulen mit dem Befehl search.
  • Auswählen und Laden eines Moduls mit dem Befehl use.
  • Anzeigen und Konfigurieren von Moduloptionen wie RHOSTS und THREADS mit show options und set.
  • Ausführen eines Moduls mit dem Befehl run.
  • Analysieren der Ausgabe, um kritische Informationen über ein Ziel zu sammeln.

Dieser Prozess der Informationsbeschaffung ist ein grundlegender Bestandteil jeder Sicherheitsbewertung oder jedes Penetrationstests. Herzlichen Glückwunsch zum Abschluss des Labs!