Microsoft IIS Hacking Guide
Comprehensive commands and techniques for IIS server penetration testing
Reconnaissance & Discovery
Google Dorks
intitle:"IIS Windows Server" site:*.target.comintext:"IIS Windows Server" site:*.target.cominurl:"IIS Windows Server" site:*.target.comShodan Dorks
http.title:"IIS"org:"target" http.title:"IIS Windows Server"Ssl:"Company Inc." http.title:"IIS Windows Server"hostname:".target.com" "Microsoft-IIS/6.0"product:"Microsoft IIS httpd" version:"7.5"Ssl.cert.subject.CN:"target.com" http.title:"IIS Windows Server"FOFA Dorks
body="iis-8.5"server="Microsoft-IIS"server="Microsoft-IIS/8.5"server="Microsoft-IIS" && host=".example.com"server="Microsoft-IIS" && domain="example.com"Hunter.how Dorks
web.title="IIS Windows Server" and domain="target.com"header.server=="Microsoft-IIS/10" and domain="target.com"Header Verification
curl -I https://target.comNmap Scanning
nmap -p 80,443 -sV -sC target.comnmap -p 80,443 --script http-iis-short-name-brute target.comSubdomain Enumeration
Passive Enumeration
subfinder -d example.com -all -silent -o subfinder.txtassetfinder --subs-only example.com > assetfinder.txtamass enum -passive -d example.com -o amass_passive.txtfindomain -t example.com -u findomain.txtchaos -d example.com > chaos.txtwaybackurls example.com | unfurl -u domains > wayback.txtActive Enumeration
amass enum -active -d example.com -o amass_active.txtdnsx -d example.com -resp -o dnsx.txtpuredns bruteforce wordlist.txt example.com -o puredns.txtMerge Results
cat *.txt | sort -u > all_subdomains.txtLive Host Filtering
cat all_subdomains.txt | httpx-toolkit -mc 200 -sc -td -title -server | grep IIScat all_subdomains.txt | httpx-toolkit -mc 200 -sc -td -title -server | grep -i "IIS/7.5"cat all_subdomains.txt | httpx-toolkit -mc 200 -sc -td -title -server | grep -i "IIS/8.5"cat all_subdomains.txt | httpx-toolkit -mc 200 -sc -td -title -server | grep -i "IIS/10.0"Targeted Scanning
Nuclei Templates
cat all_subdomains.txt | nuclei -t /nuclei-templates/http/misconfiguration/iis-shortname-detect.yamlcat all_subdomains.txt | nuclei -tags iiscat all_subdomains.txt | nuclei -tags cveShortscan Tool
shortscan http://target.com/shortscan http://target.com/ -Fshortscan @targets.txt -Fshortscan http://target.com/adminshortscan http://target.com/admin/Advanced Fuzzing
Basic Fuzzing
ffuf -u "https://target.com/FUZZ" -c -ac -fs 0 -w iis.txtffuf -u "https://target.com/FUZZ" -c -ac -fs 0 -w iis.txt -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarWordlists
ffuf -u "https://target.com/FUZZ" -c -ac -fs 0 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -u "https://target.com/FUZZ" -c -ac -fs 0 -w /usr/share/seclists/Discovery/Web-Content/big.txt -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarPrefix Variations
ffuf -w iis.txt -u https://example.com/domainFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/prodFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/devFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/stageFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/apiFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/adminFUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarSuffix Variations
ffuf -w iis.txt -u https://example.com/FUZZdomain -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/FUZZprod -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/FUZZdev -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/FUZZapi -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarHyphen & Underscore
ffuf -w iis.txt -u https://example.com/FUZZ-domain -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/domain-FUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/FUZZ_domain -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/domain_FUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarVersion Variations
ffuf -w iis.txt -u https://example.com/FUZZv1 -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/v1FUZZ -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarffuf -w iis.txt -u https://example.com/FUZZ-2024 -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rarShortname Exploitation
Extension-Specific Search
ffuf -u "https://target.com/FUZZ.rar" -c -ac -fs 0 -w iis.txtffuf -u "https://target.com/FUZZ.rar" -c -ac -fs 0 -w /usr/share/seclists/Discovery/Web-Content/big.txtMulti-Extension Scan
ffuf -u "https://target.com/FUZZ" -c -ac -fs 0 -w iis.txt -e .exe,.dll,.rar,.zip,.7z,.bak,.svc,.aspxFullname Resolution
ffuf -u "https://target.com/MEDIVESTFUZZ" -c -ac -fs 0 -w payloads/payloads/iis.txt -e .exe,.dll,.rar -fc 403ffuf -u "https://target.com/FTP-Contacts/FUZZ" -c -ac -fs 0 -w payloads/payloads/iis.txt -e .json,.js,.svc,.html,.htm,.txt,.zip,.asmx,.aspx,.7z,.ashx,.asp,.xml,.exe,.dll,.gz,.xsl,.bak,.old,.rar -fc 403Version-Specific Vulnerabilities
IIS 6.0
Windows Server 2003
Weaknesses
- WebDAV enabled by default
- PUT upload misconfiguration
- Classic ASP applications
- Weak request filtering
- Shortname vulnerability (8.3)
- Outdated SSL/TLS protocols
- Exposed ISAPI Extensions
IIS 7.0 / 7.5
Windows Server 2008 / 2008 R2
Weaknesses
- Shortname vulnerability (8.3) common
- Frequent WebDAV misconfigurations
- Request filtering bypass
- Invalid ViewState in legacy ASP.NET
- TRACE may be enabled
- Weak or predictable MachineKey
IIS 8.0 / 8.5
Windows Server 2012 / 2012 R2
Weaknesses
- Shortname may still exist
- Weak upload validation
- WebDAV in migrated environments
- Legacy ASP.NET components
- TLS misconfiguration
- Verbose error pages
IIS 10.0
Windows Server 2016+
Weaknesses
- Secure by default - issues mostly from misconfig
- Exposed debug endpoints (trace.axd)
- Insecure file upload logic
- Weak path permissions
- Azure App Service errors
- Legacy .NET applications
Important File Extensions
.jsonConfig files, API responses, stored data
.jsJavaScript files that may expose endpoints or keys
.svcWCF service endpoints
.htmlStatic web pages
.htmLegacy web page format
.txtNotes, logs, or exposed data
.zipCompressed backups or archived content
.asmxXML web services
.aspxASP.NET pages
.7zArchived or packed files
.ashxHTTP handlers for APIs or file processing
.aspLegacy Active Server Pages
.xmlConfigs, data files, or service responses
.exeExecutables, installers, or internal tools
.dllApplication libraries that may be directly accessible
.gzCompressed backup or log files
.xslStylesheets used for XML transformation
.bakBackup copies of important files
.oldOld versions of server files
.rarArchives containing site data or backups