
तेज़ उपडोमेन टेकओवर स्कैनर 50+ हस्ताक्षरों के साथ, क्लाउड प्रदाता एकीकरण (AWS, Azure, Cloudflare) का समर्थन करने वाला और स्वचालित सुरक्षा परीक्षण के लिए CI/CD पाइपलाइन मोड।
DNS Reaper एक और सब-डोमेन टेकओवर टूल है, लेकिन इसमें सटीकता, गति और हमारे शस्त्रागार में हस्ताक्षरों की संख्या पर जोर दिया गया है!
हम प्रति सेकंड लगभग 50 सबडोमेन स्कैन कर सकते हैं, प्रत्येक का 50 से अधिक टेकओवर हस्ताक्षरों के साथ परीक्षण करते हैं। इसका मतलब है कि अधिकांश संगठन 10 सेकंड से भी कम समय में अपने पूरे DNS एस्टेट को स्कैन कर सकते हैं।
आरंभ करना आसान बनाने के लिए, हमने एक छोटा सा वेब संस्करण बनाया है जो DNS ज़ोन फ़ाइल, अल्पविराम से अलग की गई सूची, या ProjectDiscovery से हमें मिलने वाले 100 सबडोमेन तक स्कैन करेगा।
इसे देखें:
बेशक CLI टूल बहुत अधिक EPIC है, और यह तेज़ है।

आप इसे एक फ़ाइल में डोमेन की सूची प्रदान करके, या कमांड लाइन पर एक एकल डोमेन प्रदान करके चला सकते हैं। DNS Reaper तब अपने सभी हस्ताक्षरों के साथ डोमेन को स्कैन करेगा, एक CSV फ़ाइल तैयार करेगा।
आप इसे अपने DNS रिकॉर्ड स्वचालित रूप से प्राप्त करने देकर चला सकते हैं! हाँ, यह सही है, आप इसे क्रेडेंशियल के साथ चला सकते हैं और अपने सभी डोमेन कॉन्फ़िगरेशन का जल्दी और आसानी से परीक्षण कर सकते हैं। DNS Reaper DNS प्रदाता से कनेक्ट होगा और आपके सभी रिकॉर्ड प्राप्त करेगा, और फिर उनका परीक्षण करेगा।
हम वर्तमान में AWS Route53, Cloudflare, और Azure का समर्थन करते हैं। अपना खुद का प्रदाता जोड़ने के दस्तावेज़ यहाँ पाए जा सकते हैं।
Punk Security एक DevSecOps कंपनी है, और DNS Reaper की जड़ें आधुनिक सुरक्षा सर्वोत्तम प्रथाओं में हैं।
आप DNS Reaper को एक पाइपलाइन में चला सकते हैं, इसे उन डोमेन की सूची खिला सकते हैं जिन्हें आप प्रावधान करने का इरादा रखते हैं, और यदि यह पता लगाता है कि टेकओवर संभव है तो यह नॉन-ज़ीरो (Non-Zero) के साथ बाहर निकलेगा। आप टेकओवर को संभव होने से पहले ही रोक सकते हैं!
DNS Reaper चलाने के लिए, आप Docker इमेज का उपयोग कर सकते हैं या इसे Python 3.11 के साथ चला सकते हैं।
परिणाम आउटपुट में वापस आते हैं और स्थानीय "results.csv" फ़ाइल में अधिक विवरण प्रदान किया जाता है। हम एक विकल्प के रूप में JSON आउटपुट का भी समर्थन करते हैं।
docker run punksecurity/dnsreaper --help
[!IMPORTANT] Python का न्यूनतम संस्करण जो dnsReaper समर्थन करता है वह 3.9 है, लेकिन 3.11 की अनुशंसा की जाती है। हम Python के स्थिर संस्करणों के लिए समर्थन बनाए रखने का प्रयास करते हैं जो जीवन-अंत (end-of-life) नहीं हैं। हम Python के जीवन-अंत संस्करणों को प्रभावित करने वाले मुद्दों के लिए समर्थन प्रदान नहीं करेंगे या पुल अनुरोध स्वीकार नहीं करेंगे। अधिक जानकारी के लिए Python संस्करणों की स्थिति देखें।
स्थानीय रूप से चलाते समय, हम निर्भरता विरोधों से बचने के लिए वर्चुअल एनवायरनमेंट (venv) का उपयोग करने की सलाह देते हैं। निर्देश यहाँ उपलब्ध हैं।
pip install -r requirements.txt
python main.py --help
AWS खाते को स्कैन करें:
docker run punksecurity/dnsreaper aws --aws-access-key-id <key> --aws-access-key-secret <secret>
अधिक जानकारी के लिए, AWS प्रदाता के दस्तावेज़ देखें।
फ़ाइल से सभी डोमेन स्कैन करें:
docker run -it --rm -v $(pwd):/etc/dnsreaper punksecurity/dnsreaper file --filename /etc/dnsreaper/<filename>
एकल डोमेन स्कैन करें
docker run -it --rm punksecurity/dnsreaper single --domain <domain>
एकल डोमेन स्कैन करें और stdout पर आउटपुट करें:
आपको stderr आउटपुट को रीडायरेक्ट करना चाहिए या > के साथ stdout आउटपुट को सेव करना चाहिए
docker run -it --rm punksecurity/dnsreaper single --domain <domain> --out stdout --out-format=json > output
____ __ _____ _ __
/ __ \__ ______ / /__/ ___/___ _______ _______(_) /___ __
/ /_/ / / / / __ \/ //_/\__ \/ _ \/ ___/ / / / ___/ / __/ / / /
/ ____/ /_/ / / / / ,< ___/ / __/ /__/ /_/ / / / / /_/ /_/ /
/_/ \__,_/_/ /_/_/|_|/____/\___/\___/\__,_/_/ /_/\__/\__, /
PRESENTS /____/
DNS Reaper ☠️
अपने सभी DNS रिकॉर्ड को सबडोमेन टेकओवर के लिए स्कैन करें!
उपयोग:
main.py प्रदाता [विकल्प]
आउटपुट:
परिणाम स्क्रीन पर और (डिफ़ॉल्ट रूप से) results.csv में आउटपुट होते हैं
सहायता:
main.py --help
प्रदाता:
> aws - AWS Route53 से प्राप्त करके कई डोमेन स्कैन करें
> azure - Azure DNS सेवाओं से प्राप्त करके कई डोमेन स्कैन करें
> bind - DNS BIND ज़ोन फ़ाइल, या एकाधिक के पथ से डोमेन पढ़ें
> cloudflare - Cloudflare से प्राप्त करके कई डोमेन स्कैन करें
> digitalocean - Digital Ocean से प्राप्त करके कई डोमेन स्कैन करें
> file - एक फ़ाइल (या फ़ाइलों के फ़ोल्डर) से डोमेन पढ़ें, प्रति पंक्ति एक
> godaddy - GoDaddy से प्राप्त करके कई डोमेन स्कैन करें
> googlecloud - Google Cloud से प्राप्त करके कई डोमेन स्कैन करें। GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर की आवश्यकता है।
> projectdiscovery - ProjectDiscovery से प्राप्त करके कई डोमेन स्कैन करें
> securitytrails - Security Trails से प्राप्त करके कई डोमेन स्कैन करें
> single - कमांडलाइन पर एक डोमेन प्रदान करके एकल डोमेन स्कैन करें
> zonetransfer - DNS ज़ोन ट्रांसफर के माध्यम से रिकॉर्ड प्राप्त करके कई डोमेन स्कैन करें
स्थितीय तर्क:
{aws,azure,bind,cloudflare,digitalocean,file,godaddy,googlecloud,projectdiscovery,securitytrails,single,zonetransfer}
विकल्प:
-h, --help यह सहायता संदेश दिखाएं और बाहर निकलें
--out OUT आउटपुट फ़ाइल (डिफ़ॉल्ट: results) - स्ट्रीम आउट करने के लिए 'stdout' का उपयोग करें
--out-format {csv,json}
--resolver RESOLVER एक कस्टम DNS रिज़ॉल्वर प्रदान करें
--parallelism PARALLELISM
समानांतर में परीक्षण करने के लिए डोमेन की संख्या - बहुत अधिक होने पर आप अजीब DNS परिणाम देख सकते हैं (डिफ़ॉल्ट: 30)
--disable-probable संभावित स्थितियों की जाँच न करें
--enable-unlikely अधिक स्थितियों की जाँच करें, लेकिन उच्च गलत सकारात्मक दर के साथ
--signature SIGNATURE
केवल इस हस्ताक्षर के साथ स्कैन करें (एकाधिक स्वीकार्य)
--exclude-signature EXCLUDE_SIGNATURE
इस हस्ताक्षर के साथ स्कैन न करें (एकाधिक स्वीकार्य)
--pipeline पहचान होने पर नॉन-ज़ीरो (Non-Zero) से बाहर निकलें (पाइपलाइन को विफल करने के लिए उपयोग किया जाता है)
-v, --verbose -v वर्बोज़ के लिए, -vv अतिरिक्त वर्बोज़ के लिए
--nocolour रंगीन टेक्स्ट बंद करता है
aws:
AWS Route53 से प्राप्त करके कई डोमेन स्कैन करें
--aws-access-key-id AWS_ACCESS_KEY_ID
वैकल्पिक
--aws-access-key-secret AWS_ACCESS_KEY_SECRET
वैकल्पिक
--aws-session-token AWS_SESSION_TOKEN
वैकल्पिक
azure:
Azure DNS सेवाओं से प्राप्त करके कई डोमेन स्कैन करें
--az-subscription-id AZ_SUBSCRIPTION_ID
आवश्यक
--az-tenant-id AZ_TENANT_ID
आवश्यक
--az-client-id AZ_CLIENT_ID
आवश्यक
--az-client-secret AZ_CLIENT_SECRET
आवश्यक
bind:
DNS BIND ज़ोन फ़ाइल, या एकाधिक के पथ से डोमेन पढ़ें
--bind-zone-file BIND_ZONE_FILE
आवश्यक
cloudflare:
Cloudflare से प्राप्त करके कई डोमेन स्कैन करें
--cloudflare-token CLOUDFLARE_TOKEN
आवश्यक
digitalocean:
Digital Ocean से प्राप्त करके कई डोमेन स्कैन करें
--do-api-key DO_API_KEY
आवश्यक
--do-domains DO_DOMAINS
वैकल्पिक
file:
एक फ़ाइल (या फ़ाइलों के फ़ोल्डर) से डोमेन पढ़ें, प्रति पंक्ति एक
--filename FILENAME आवश्यक
projectdiscovery:
ProjectDiscovery से प्राप्त करके कई डोमेन स्कैन करें
--pd-api-key PD_API_KEY
आवश्यक
--pd-domains PD_DOMAINS
आवश्यक
godaddy:
GoDaddy से प्राप्त करके कई डोमेन स्कैन करें
--gd-api-key GD_API_KEY
आवश्यक
--gd-api-secret GD_API_SECRET
आवश्यक
--gd-domains GD_DOMAINS
वैकल्पिक
googlecloud:
Google Cloud से प्राप्त करके कई डोमेन स्कैन करें। GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर की आवश्यकता है।
--project-id PROJECT_ID
आवश्यक
projectdiscovery:
ProjectDiscovery से प्राप्त करके कई डोमेन स्कैन करें
--pd-api-key PD_API_KEY
आवश्यक
--pd-domains PD_DOMAINS
आवश्यक
securitytrails:
Security Trails से प्राप्त करके कई डोमेन स्कैन करें
--st-api-key ST_API_KEY
आवश्यक
--st-domains ST_DOMAINS
आवश्यक
googlecloud:
Google Cloud से प्राप्त करके कई डोमेन स्कैन करें
--project-id PROJECT_ID
आवश्यक
projectdiscovery:
ProjectDiscovery से प्राप्त करके कई डोमेन स्कैन करें
--pd-api-key PD_API_KEY
आवश्यक
--pd-domains PD_DOMAINS
वैकल्पिक
securitytrails:
Security Trails से प्राप्त करके कई डोमेन स्कैन करें
--st-api-key ST_API_KEY
आवश्यक
--st-domains ST_DOMAINS
वैकल्पिक
single:
कमांडलाइन पर एक डोमेन प्रदान करके एकल डोमेन स्कैन करें
--domain DOMAIN आवश्यक
zonetransfer:
DNS ज़ोन ट्रांसफर के माध्यम से रिकॉर्ड प्राप्त करके कई डोमेन स्कैन करें
--zonetransfer-nameserver ZONETRANSFER_NAMESERVER
आवश्यक
--zonetransfer-domain ZONETRANSFER_DOMAIN
आवश्यक