DNS गणना स्क्रिप्ट
DNSRecon एक Python पोर्ट है जो एक Ruby स्क्रिप्ट का है जिसे मैंने 2007 की शुरुआत में भाषा और DNS सीखने के लिए लिखा था। इस बार मैं Python सीखना चाहता था और मूल टूल की कार्यक्षमता का विस्तार करना चाहता था, और इस प्रक्रिया में DNS कैसे काम करता है और सुरक्षा मूल्यांकन और नेटवर्क समस्या निवारण की प्रक्रिया में इसका उपयोग कैसे किया जा सकता है, इसे फिर से सीखना चाहता था।
यह स्क्रिप्ट निम्नलिखित कार्य करने की क्षमता प्रदान करती है:
DNSRecon को Python 3.12 या उच्चतर की आवश्यकता है।
यदि आपने पहले से uv इंस्टॉल नहीं किया है, तो इसे इंस्टॉल करें:
curl -LsSf https://astral.sh/uv/install.sh | sh
रिपॉजिटरी को क्लोन करें:
git clone https://github.com/darkoperator/dnsrecon.git
cd dnsrecon
निर्भरताएँ इंस्टॉल करें और वर्चुअल एनवायरनमेंट बनाएँ:
uv sync
DNSRecon चलाएँ:
uv run dnsrecon
विकास निर्भरताएँ इंस्टॉल करने के लिए:
uv sync --extra dev
परीक्षण चलाने के लिए:
uv run pytest
लिंटिंग और फ़ॉर्मेटिंग चलाने के लिए:
uv run ruff check
uv run ruff run format
DNSRecon, SPF (-s) और/या WHOIS (-w) डेटा से सामान्य एन्यूमरेशन के दौरान खोजे गए नेटब्लॉकों का विस्तार करने के लिए Shodan का उपयोग कर सकता है।
निष्क्रिय शोडान संवर्धन (SPF + WHOIS नेटब्लॉक का उपयोग करता है):
uv run dnsrecon -d example.com -t std -s -w --shodan --shodan-key "$SHODAN_API_KEY"
शोडान परिणामों का सक्रिय सत्यापन (होस्टों को फिर से हल करता है और पुष्टि करता है कि वे अभी भी क्वेरी किए गए नेटब्लॉक से मेल खाते हैं):
uv run dnsrecon -d example.com -t std -s -w --shodan --shodan-active --shodan-key "$SHODAN_API_KEY"
आप --shodan-key के बजाय एनवायरनमेंट वेरिएबल के माध्यम से API कुंजी भी सेट कर सकते हैं:
export SHODAN_API_KEY="your-shodan-api-key"
uv run dnsrecon -d example.com -t std -s -w --shodan
REST API प्रारंभ करें:
uv run restdnsrecon
शोडान विस्तार सक्षम के साथ /general_enum को कॉल करें:
curl -s \
-H "X-Shodan-Api-Key: $SHODAN_API_KEY" \
"http://127.0.0.1:5000/general_enum?domain=example.com&do_spf=true&do_whois=true&do_shodan=true"
API में सक्रिय सत्यापन सक्षम करें:
curl -s \
-H "X-Shodan-Api-Key: $SHODAN_API_KEY" \
"http://127.0.0.1:5000/general_enum?domain=example.com&do_spf=true&do_whois=true&do_shodan=true&shodan_active=true"
REST API thread_num मान 1..100 तक सीमित हैं। API wordlist पैरामीटर dnsrecon/data में बंडल की गई फ़ाइलों या प्लेटफ़ॉर्म पथ विभाजक का उपयोग करके DNSRECON_WORDLIST_DIRS में सूचीबद्ध निर्देशिकाओं के अंतर्गत फ़ाइलों को संदर्भित कर सकते हैं। केवल समर्पित वर्डलिस्ट निर्देशिकाओं को कॉन्फ़िगर करें; DNSRECON_WORDLIST_DIRS को /, होम डायरेक्टरी, या संवेदनशील फ़ाइलों वाले अन्य स्थानों जैसे व्यापक पथों पर न इंगित करें।
export DNSRECON_WORDLIST_DIRS="/opt/dnsrecon-wordlists:/srv/shared-wordlists"