Einrichtung eines lokalen SMB-Servers
In diesem Schritt richten Sie einen lokalen SMB (Server Message Block)-Server mithilfe von Samba ein. SMB ist ein Netzwerkdateifreigabedienstprotokoll, das Anwendungen auf einem Computer ermöglicht, auf Dateien und Ressourcen auf einem Remote-Server zuzugreifen. Samba ist eine freie Software-Reimplementierung des SMB-Netzwerkprotokolls. Dies wird in späteren Schritten ein Ziel für Ihren Hydra SMB-Angriff darstellen.
Zuerst installieren wir Samba. Öffnen Sie Ihr Terminal im Verzeichnis ~/project
.
sudo apt update
sudo apt install samba -y
Dieser Befehl aktualisiert die Paketlisten und installiert anschließend das Samba-Paket. Der Flag -y
beantwortet automatisch alle Eingabeaufforderungen während der Installation mit "ja".
Als Nächstes müssen Sie Samba konfigurieren. Sie beginnen mit dem Sichern der ursprünglichen Konfigurationsdatei.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Erstellen wir nun eine neue, saubere Konfigurationsdatei, indem wir die vorhandene direkt überschreiben. Dieser Ansatz vermeidet Konflikte mit den Standard-Ubuntu Samba-Einstellungen.
Kopieren Sie den folgenden Befehl und führen Sie ihn im Terminal aus. Stellen Sie sicher, dass der Befehl korrekt kopiert wurde.
sudo tee /etc/samba/smb.conf > /dev/null << 'EOF'
[global]
workgroup = WORKGROUP
server string = Samba Server
netbios name = fileserver
security = user
map to guest = never
## Deaktivieren Sie den anonymen Zugriff
restrict anonymous = 2
## Explizit SMBv1 und NTLMv1 für Hydra aktivieren
server min protocol = NT1
client min protocol = NT1
ntlm auth = ntlmv1-permitted
## Nur auf localhost binden
interfaces = 127.0.0.1
bind interfaces only = yes
## Protokollierung
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
debug level = 3
[share]
path = /home/labex/project/share
browsable = yes
writable = yes
guest ok = no
read only = no
valid users = labex
EOF
Dieser Befehl ersetzt den Inhalt von /etc/samba/smb.conf
vollständig durch unsere saubere Konfiguration.
Wichtige Konfigurationspunkte:
map to guest = never
- Verhindert anonymen Gastzugriff
restrict anonymous = 2
- Deaktiviert den anonymen Zugriff vollständig
server min protocol = NT1
und client min protocol = NT1
- Aktiviert SMBv1 für die Kompatibilität mit Hydra
ntlm auth = ntlmv1-permitted
- Ermöglicht die NTLMv1-Authentifizierung für Tests
interfaces = 127.0.0.1
und bind interfaces only = yes
- Beschränkt den Zugriff auf localhost
guest ok = no
- Deaktiviert den Gastzugriff auf den Freigabeordner
valid users = labex
- Beschränkt den Zugriff auf den spezifischen Benutzer
Warum wir die gesamte Datei überschreiben:
- Vermeidet Konflikte mit den Standard-Samba-Einstellungen von Ubuntu
- Stellt eine saubere, minimale Konfiguration bereit, die für Hydra-Tests optimiert ist
- Eliminiert potenzielle Probleme mit doppelten oder widersprüchlichen Direktiven
- Bietet einen konsistenten Ausgangspunkt für alle Benutzer
Diese Konfiguration stellt sicher, dass Hydra Authentifizierungsversuche korrekt erkennen kann, ohne durch anonymen Zugriff beeinträchtigt zu werden.
Erstellen wir nun den freigegebenen Ordner.
mkdir ~/project/share
sudo chmod 777 ~/project/share
Dies erstellt ein Verzeichnis namens share
in Ihrem ~/project
-Verzeichnis und setzt dessen Berechtigungen auf 777, was bedeutet, dass jeder Lese-, Schreib- und Ausführungsberechtigungen hat. Hinweis: In einem realen Szenario würden Sie restriktivere Berechtigungen verwenden. Zur Vereinfachung in diesem Laborumfeld verwenden wir 777.
Als Nächstes müssen Sie einen Samba-Benutzer hinzufügen. Dieser Benutzer wird verwendet, um sich beim SMB-Server zu authentifizieren. Sie verwenden den bereits vorhandenen Benutzer labex
im System. Legen Sie zunächst ein Samba-Kennwort für den Benutzer labex
fest.
sudo smbpasswd -a labex
Sie werden aufgefordert, ein neues Kennwort für den Benutzer labex
einzugeben. Geben Sie password
ein und bestätigen Sie es.
Neues SMB-Kennwort:
Wiederholen Sie das neue SMB-Kennwort:
Benutzer labex hinzugefügt.
Starten Sie schließlich den Samba-Dienst neu, um die Änderungen anzuwenden.
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart
Sie sollten eine Ausgabe ähnlich dieser sehen:
* SMB/CIFS-Daemon smbd stoppen [ OK ]
* SMB/CIFS-Daemon smbd starten [ OK ]
* NetBIOS-Namenserver nmbd stoppen [ OK ]
* NetBIOS-Namenserver nmbd starten [ OK ]
Dieser Befehl prüft Ihre Samba-Konfiguration auf Syntaxfehler und zeigt die aktive Konfiguration an. Sie sollten eine Ausgabe sehen, die Ihre Einstellungen ohne Fehler bestätigt.
Nun ist Ihr lokaler SMB-Server mit entsprechenden Sicherheitseinstellungen eingerichtet. Sie haben einen freigegebenen Ordner namens share
erstellt und den Benutzer labex
mit einem Samba-Kennwort hinzugefügt. Die Konfiguration ist optimiert, um korrekt mit Hydra-Angriffen zu funktionieren.