
निष्क्रिय DNS सर्वर जो DNS अनुरोधों को हल करके, CNAME श्रृंखलाओं का पता लगाकर, और टोही के दौरान संभावित सबडोमेन टेकओवर को चिह्नित करके उजागर क्लाउड स्टोरेज बकेट (AWS S3, GCP, Azure) का पता लगाता है।
s3dns एक हल्का DNS सर्वर है जो DNS अनुरोधों को हल करके, CNAME को ट्रेस करके और ज्ञात बकेट URL पैटर्न से मिलान करके क्लाउड स्टोरेज बकेट (AWS S3, Google Cloud Storage, और Azure Blob) का पता लगाने में मदद करता है।
यह पेनटेस्टर्स, बग बाउंटी हंटर्स और क्लाउड सुरक्षा विश्लेषकों के लिए एक उपयोगी साथी है जो DNS ट्रैफ़िक विश्लेषण के दौरान खुले क्लाउड बकेट को पकड़ना चाहते हैं।
यदि S3DNS आपको किसी recon सत्र में समय बचाता है, तो इसे ⭐️ देने पर विचार करें — यह दूसरों को प्रोजेक्ट ढूंढने में मदद करता है।
CACHE_SIZE (डिफ़ॉल्ट: 1000 प्रविष्टियाँ, 0 सेट करने पर अक्षम) से कॉन्फ़िगर करने योग्य।RATE_LIMIT (डिफ़ॉल्ट: 100 req/s, 0 सेट करने पर अक्षम) से कॉन्फ़िगर करने योग्य।NXDOMAIN लौटाता है, तो S3DNS इसे संभावित डोमेन अधिग्रहण के रूप में चिह्नित करता है। यह एक लटकते DNS रिकॉर्ड को इंगित करता है जो एक अपंजीकृत बकेट की ओर इशारा करता है जिसे एक हमलावर पंजीकृत कर सकता है।max_cname_depth पैरामीटर से कॉन्फ़िगर करने योग्य।AZURE_IP_RANGES=false या AWS_IP_RANGES=false (डिफ़ॉल्ट सत्य है)।regex_patterns और हार्डकोडेड पैटर्न को patterns फ़ोल्डर में YAML फ़ाइलों के रूप में स्थानांतरित किया गया। आप अपने स्वयं के पैटर्न जोड़ सकते हैं।
regex_ से शुरू होने चाहिए।53 (UDP और TCP) पर DNS सर्वर के रूप में चलता हैS3DNS DNS क्वेरी के लिए पोर्ट 53 (UDP और TCP) पर सुनता है। प्रत्येक अनुरोध के लिए यह:
1.1.1.1) को अग्रेषित करता है — UDP क्लाइंट के लिए UDP पर, TCP क्लाइंट के लिए TCP परसमानांतर में, यह:
s3dns.log में लॉग करता है⚡ इसे अपने DNS के रूप में recon के दौरान उपयोग करें, और यह आपके उपकरणों या ब्राउज़र द्वारा हल किए जाने वाले प्रत्येक डोमेन के लिए निष्क्रिय रूप से क्लाउड बकेट और अधिग्रहण उम्मीदवारों को उजागर करेगा।
आपको केवल निम्नलिखित में से एक की आवश्यकता होगी:
केवल यदि आप इसे Python के साथ स्थानीय रूप से चलाना चाहते हैं तो आवश्यक है
git clone https://github.com/olizimmermann/s3dns.git
cd s3dns
(एक वर्चुअल वातावरण का उपयोग अनुशंसित है)
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
पोर्ट 53 के लिए उन्नत अधिकारों की आवश्यकता है:
sudo python s3dns.py
यदि sudo एक लापता मॉड्यूल का दावा करता है, तो प्रयास करें: sudo venv/bin/python s3dns.py
docker build -t ozimmermann/s3dns:latest .S3DNS के साथ आरंभ करने का सबसे आसान तरीका।
docker pull ozimmermann/s3dns:latest
docker run --rm -p 53:53/udp -p 53:53/tcp \
-v "./bucket_findings/:/app/buckets/" \
--name "s3dns" \
ozimmermann/s3dns:latest
docker build -t ozimmermann/s3dns:latest .
docker run --rm -p 53:53/udp -p 53:53/tcp \
-v "./bucket_findings/:/app/buckets/" \
--name "s3dns" \
ozimmermann/s3dns:latest
निष्कर्ष सहेजे जाते हैं:
./bucket_findings/ मेंजब उसी मशीन पर S3DNS का उपयोग कर रहे हैं जहाँ आप विश्लेषण करते हैं, तो --network host फ़्लैग सेट करना मदद कर सकता है:
docker run --rm -p 53:53/udp -p 53:53/tcp \
-v "./bucket_findings/:/app/buckets/" \
--network host \
--name "s3dns" \
ozimmermann/s3dns:latest
चूंकि पोर्ट 53 के लिए उन्नत अधिकारों की आवश्यकता है, कुछ उपयोगकर्ताओं (जैसे, Mac उपयोगकर्ता) को sudo की आवश्यकता हो सकती है:
sudo docker run --rm -p 53:53/udp -p 53:53/tcp \
-v "./bucket_findings/:/app/buckets/" \
--name "s3dns" \
ozimmermann/s3dns:latest
अपने सिस्टम या उपकरण के DNS रिज़ॉल्वर को अपने S3DNS इंस्टेंस पर सेट करें।