crazymarky/pentest-skills/recon-fingerprint
Claude Code and agent skill by crazymarky/pentest-skills
- community
Checking that the SKILL.md file is still in the repository.
Web fingerprinting and WAF detection using wafw00f, whatweb, nuclei, and httpx. Use this skill when user needs to identify web technologies, detect WAF/CDN, analyze server headers, or fingerprint web applications and frameworks.
Install
npx vskill@latest install crazymarky/pentest-skills/recon-fingerprintSKILL.md
Web Fingerprinting & WAF Detection
Authorization Warning
IMPORTANT: Web fingerprinting sends requests to target servers. Always ensure you have:
- Written permission from the target application owner
- Defined scope of authorized testing
- Legal compliance with local regulations
Prerequisites
Required tools that must be installed on your system:
- httpx -
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest - nuclei -
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
Optional tools:
- wafw00f -
pip install wafw00f - whatweb - Package manager installation
- fingerprintx -
go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest
Quick Start
Most commonly used commands for web fingerprinting:
Basic Technology Detection
WAF Detection
HTTP Header Analysis
Comprehensive Fingerprinting (Nuclei)
Common Scenarios
Scenario 1: Quick Technology Fingerprinting
When you need to quickly identify the technology stack:
Parameters:
--aggression 1- Quick scan (1-4, default 1)-a 3- More aggressive (more requests)-v- Verbose output
Example:
Scenario 2: WAF Detection
When you need to detect WAF/CDN protection:
Output shows:
- WAF vendor (Cloudflare, AWS WAF, Imperva, etc.)
- CDN in use
- Firewall rules detected
Check multiple targets:
Scenario 3: Server Header Analysis
When you need to analyze HTTP headers:
Detailed headers:
Common headers to check:
Scenario 4: Technology Detection with Nuclei
When you need comprehensive technology fingerprinting:
Specific technologies:
Scenario 5: HTTPx Fingerprinting
When you need fast HTTP probing with tech detection:
Parameters:
-tech-detect- Enable technology detection-status-code- Show HTTP status-title- Extract page title-server- Show server header-websocket- Detect WebSocket-cdn- Detect CDN
Example:
Scenario 6: CMS Detection
When you need to identify the CMS:
Nuclei CMS detection:
Common CMS indicators:
- WordPress:
/wp-login.php,/wp-admin/,wp-json - Drupal:
/user/login,Drupal.settings - Joomla:
/administrator/components,Joomla! - TYPO3:
/typo3conf
Scenario 7: JavaScript Framework Detection
When you need to identify frontend frameworks:
Check specific framework files:
Scenario 8: Server Version Detection
When you need to identify server software and version:
HTTP server banner:
Use httpx for server detection:
Scenario 9: CDN Detection
When you need to identify CDN providers:
Check HTTP headers for CDN:
Common CDN headers:
- Cloudflare:
cf-ray,cf-cache-status - AWS CloudFront:
x-amz-cf-id - Akamai:
x-akamai-transformed - Fastly:
x-served-by,fastly-ssl - CloudFront:
via,x-amz-cf-pop
Scenario 10: SSL/TLS Fingerprinting
When you need to analyze SSL configuration:
SSL info with curl:
Using testssl.sh:
Tool Selection Guide
| Scenario | Recommended Tool | Command | |
|---|---|---|---|
| Quick tech detect | whatweb | whatweb https://target.com | |
| WAF detection | wafw00f | wafw00f https://target.com | |
| Header analysis | curl | curl -I https://target.com | |
| Comprehensive | nuclei | nuclei -u https://target.com -tags tech | |
| Fast probing | httpx | httpx -u https://target.com -tech-detect | |
| CMS detection | nuclei | nuclei -u https://target.com -tags cms | |
| CDN detection | httpx | httpx -u https://target.com -cdn |
Tool Comparison:
| Tool | Speed | Coverage | Best For | |
|---|---|---|---|---|
| whatweb | Fast | Good | Quick tech stack | |
| wafw00f | Fast | WAF only | WAF detection | |
| nuclei | Medium | Excellent | Comprehensive | |
| httpx | Very Fast | Basic | Fast probing | |
| nmap | Slow | Deep | SSL/Server details |
Technology Fingerprints
Web Servers
| Server | Header Pattern | Common Versions | |
|---|---|---|---|
| nginx | Server: nginx | 1.18.x, 1.20.x, 1.22.x | |
| Apache | Server: Apache | 2.4.x, 2.2.x | |
| IIS | Server: Microsoft-IIS | 7.5, 8.0, 8.5, 10.0 | |
| Cloudflare Server | Server: cloudflare | - |
Backend Frameworks
| Framework | Indicators | |
|---|---|---|
| PHP | X-Powered-By: PHP, .php URLs | |
| Python | Server: WSGIServer, Python headers | |
| Ruby | X-Powered-By: Phusion Passenger | |
| Node.js | X-Powered-By: Express | |
| Java | X-Powered-By: JSP, .jspx, .do | |
| .NET | X-AspNet-Version, .aspx | |
| Go | Server: Go-http-server |
Frontend Frameworks
| Framework | File/Pattern | |
|---|---|---|
| React | react.js, react-dom, _react, __REACT__ | |
| Vue.js | vue.js, vue-router, v-if, v-for | |
| Angular | ng-app, angular.js, zone.js | |
| jQuery | jquery.js, $(, .ajax() |
WAF Signatures
| WAF | Detection Method | |
|---|---|---|
| Cloudflare | cf-ray, cf-cache-status headers | |
| AWS WAF | x-amz-cf-id headers | |
| Imperva | X-Iinfo, X-CDN headers | |
| Akamai | akamai-origin headers | |
| F5 ASM | BIGipServer cookies | |
| ModSecurity | Mod_Security headers | |
| Barracuda | barra_counter_session cookies |
Tips and Best Practices
- Start passive - Use headers and page content first
- Check multiple sources - Combine tool outputs for accuracy
- Verify versions - Technology detection is not always precise
- Note evasion - Some sites hide their technology stack
- WAF first - Always check for WAF before active scanning
- CDN consideration - CDN may hide actual server info
- Save results - Record fingerprints for correlation
Resources
Scripts
scripts/extract_headers.py- Extract and analyze HTTP headersscripts/tech_matcher.py- Match technologies from responsesscripts/waf_detector.py- Detect WAF from headers/cookies
References
references/whatweb_guide.md- WhatWeb reference guidereferences/wafw00f_guide.md- WAF detection guidereferences/httpx_guide.md- HTTPx referencereferences/fingerprinting_techniques.md- Advanced fingerprinting methods
Scenario: Persistent Storage of Fingerprinting Results
When you need to persist web fingerprinting results to the database:
Parameters:
--host-ip- Target host IP (required)--url- Target URL (required)--technology- Discovered technology (required)--category- Technology category: web-server, cms, framework, etc. (optional)--version- Technology version (optional)--confidence- Confidence level (optional)--subsystem- Subsystem name (optional)
Database location: ./data/results.db
Related skills: results-storage - Query data, generate reports
Assets
assets/waf-signatures.txt- Known WAF signaturesassets/tech-headers.txt- Technology header patternsassets/cms-fingerprints.txt- CMS detection patterns
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingrecon-fingerprint/SKILL.md
Popularity
- Repository stars
- 216
- Repository forks
- 26
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/crazymarky/pentest-skills/recon-fingerprint)