
Go टूल जो कई OSINT स्रोतों का उपयोग करके WAF/CDN के पीछे असली origin IP की निष्क्रिय रूप से खोज करता है, फिर HTML समानता, SSL cert फिंगरप्रिंट, और HTTP हेडर के माध्यम से उम्मीदवारों को सत्यापित करता है।
Unwaf एक Go टूल है जो निष्क्रिय तकनीकों का उपयोग करके WAF बायपास की पहचान करने में मदद करने के लिए डिज़ाइन किया गया है। यह कई खोज विधियों को मिलाकर WAF/CDN के पीछे की असली ओरिजिन IP का पता लगाने की प्रक्रिया को स्वचालित करता है और HTML समानता तुलना, SSL प्रमाणपत्र फिंगरप्रिंटिंग, और HTTP हेडर विश्लेषण के माध्यम से उम्मीदवारों को सत्यापित करता है।
Unwaf उन चरणों को स्वचालित कर रहा है जिन्हें मैंने इस LinkedIn पोस्ट में समझाया था: Passive WAF bypassing
वर्तमान संस्करण: 3.0.0 — संस्करण इतिहास के लिए CHANGELOG.md देखें।
curl सत्यापन कमांड के साथ थ्रेशोल्ड से ऊपर के मैच की रिपोर्ट करता है।go install github.com/mmarting/unwaf@latest
unwaf -h
एक डोमेन जाँचें (केवल मुफ़्त विधियाँ, कोई API key आवश्यक नहीं):
unwaf -d example.com
बेयर डोमेन और पूर्ण URL दोनों काम करते हैं:
unwaf -d https://example.com/path
मैन्युअल रूप से सहेजी गई HTML फ़ाइल के साथ जाँचें (उपयोगी जब WAF टूल को ब्लॉक करता है):
unwaf -d example.com -s original.html
आंशिक मैच पकड़ने के लिए समानता थ्रेशोल्ड कम करें:
unwaf -d example.com -t 40
तेज़ स्कैनिंग के लिए समवर्तीता बढ़ाएँ:
unwaf -d example.com -w 100
प्रत्येक रिज़ॉल्व किए गए सबडोमेन/IP को देखने के लिए वर्बोज़ मोड:
unwaf -d example.com -v
ऑटोमेशन के लिए साइलेंट मोड — केवल IP आउटपुट करता है, प्रति पंक्ति एक:
unwaf -q -d example.com
ऑटोमेशन के लिए JSON आउटपुट:
unwaf -d example.com --json
डोमेन सूची के साथ बैच मोड:
unwaf -l domains.txt --json -o results.json
प्रॉक्सी का उपयोग करें (Tor, Burp, etc.):
unwaf -d example.com --proxy socks5://127.0.0.1:9050
बायपास IP के /24 पड़ोसियों को स्कैन करें:
unwaf -d example.com --scan-neighbors
5s टाइमआउट के साथ अनुरोधों को 2/sec तक रेट-लिमिट करें:
unwaf -d example.com --rate-limit 2 --timeout 5
# Feed into nuclei
unwaf -q -d target.com | nuclei -l - -t waf-bypass.yaml
# Feed into httpx
unwaf -q -d target.com | httpx -silent
# Batch recon
cat domains.txt | while read d; do unwaf -q -d "$d" | sed "s/^/$d,/"; done > results.csv
# JSON + jq
unwaf -d target.com --json | jq '.bypasses[].ip'
पहली बार चलाने पर, Unwaf इस टेम्पलेट के साथ $HOME/.unwaf.conf बनाता है:
# Unwaf config file — API keys for optional discovery methods
# Free methods (SPF, MX, crt.sh, subdomains, OTX, RapidDNS, HackerTarget, Wayback) work without any keys.
# ViewDNS.info — DNS history (250 free requests, no credit card required)
viewdns=""
# SecurityTrails — DNS history (https://securitytrails.com/corp/api)
securitytrails=""
# Censys — SSL certificate search (requires a PAID license)
censys_token=""
censys_org_id=""
# AlienVault OTX — passive DNS (optional, raises rate limits)
otx_api_key=""
# Shodan — host search by SSL cert, hostname, favicon hash
shodan_api_key=""
# DNSDB/Farsight — historical DNS records (Community Edition: 500 queries/month free)
dnsdb_api_key=""
Martín Martín
GPL v3 License के अंतर्गत वितरित।
| विधि | प्रकार | विवरण |
|---|
| SPF रिकॉर्ड | मुफ़्त | ip4:/ip6: SPF मेकैनिज़्म से IP निकालता है |
| MX रिकॉर्ड | मुफ़्त | मेल सर्वर होस्टनेम रिज़ॉल्व करता है (Google/Microsoft/etc. छोड़ देता है) |
| सबडोमेन प्रोबिंग | मुफ़्त | 30+ सामान्य सबडोमेन रिज़ॉल्व करता है (mail, dev, staging, cpanel, origin, etc.) |
| Certificate Transparency | मुफ़्त | सभी सबडोमेन के लिए crt.sh क्वेरी करता है, गैर-WAF IP पर रिज़ॉल्व करता है |
| AlienVault OTX | मुफ़्त | निष्क्रिय DNS रिकॉर्ड (वैकल्पिक API key रेट लिमिट बढ़ाती है) |
| RapidDNS | मुफ़्त | HTML स्क्रैपिंग के माध्यम से सबडोमेन एन्यूमरेशन |
| HackerTarget | मुफ़्त | होस्ट सर्च API (50 req/day) |
| Wayback Machine | मुफ़्त | CDX API के माध्यम से संग्रहीत URL से होस्टनेम निकालता है |
| WAF डिटेक्शन | मुफ़्त | HTTP हेडर के माध्यम से WAF विक्रेता को फिंगरप्रिंट करता है |
| Favicon हैशिंग | मुफ़्त | Shodan/Censys सर्च के लिए MD5, SHA256, और MMH3 हैश उत्पन्न करता है |
| Shodan होस्ट सर्च | API (मुफ़्त टियर) | SSL cert CN, होस्टनेम, और favicon हैश द्वारा खोजता है (सर्च के लिए सदस्यता आवश्यक) |
| SecurityTrails history | API (मुफ़्त टियर) | ऐतिहासिक DNS A रिकॉर्ड (50 req/month मुफ़्त) |
| ViewDNS history | API (मुफ़्त टियर) | ऐतिहासिक DNS A रिकॉर्ड (250 मुफ़्त अनुरोध) |
| Censys SSL search | API (सशुल्क) | डोमेन से मेल खाने वाले SSL cert प्रस्तुत करने वाले होस्ट खोजता है |
| DNSDB/Farsight | API (मुफ़्त टियर) | NDJSON API के माध्यम से ऐतिहासिक DNS रिकॉर्ड (Community Edition: 500 queries/month मुफ़्त) |
| विधि | भार | विवरण |
|---|
| HTML समानता | 60% | संदर्भ पृष्ठ के साथ diff-आधारित टेक्स्ट तुलना |
| SSL प्रमाणपत्र | 25% | सीरियल नंबर (50%), CN मैच (25%), SAN ओवरलैप (25%) |
| HTTP हेडर | 15% | Server, X-Powered-By, और Set-Cookie नाम की तुलना |
| स्टेटस कोड | ±5-20% | मैच के लिए बोनस, success/error बेमेल के लिए दंड |
| फ़्लैग | लॉन्ग फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|
-d | --domain | जाँचने के लिए डोमेन | (आवश्यक जब तक -l न हो) |
-s | --source | तुलना के लिए स्रोत HTML फ़ाइल | — |
-c | --config | कॉन्फ़िग फ़ाइल पथ | $HOME/.unwaf.conf |
-t | --threshold | समानता थ्रेशोल्ड प्रतिशत | 60 |
-w | --workers | समवर्ती वर्कर की संख्या | 50 |
-v | --verbose | वर्बोज़ आउटपुट सक्षम करें | false |
-q | --quiet | साइलेंट मोड: केवल बायपास IP आउटपुट करें | false |
--timeout | सेकंड में HTTP टाइमआउट | 10 | |
--rate-limit | प्रति सेकंड अधिकतम HTTP अनुरोध, 0=असीमित | 0 | |
--proxy | प्रॉक्सी URL (http:// या socks5://) | — | |
--scan-neighbors | पुष्टि किए गए बायपास IP के /24 पड़ोसियों को स्कैन करें | false | |
--json | परिणाम JSON के रूप में आउटपुट करें | false | |
-l | --list | जाँचने के लिए डोमेन वाली फ़ाइल, प्रति पंक्ति एक | — |
-o | --output | परिणाम फ़ाइल में लिखें | — |
--version | संस्करण प्रिंट करें और बाहर निकलें | — | |
-h | --help | सहायता जानकारी प्रदर्शित करें | — |