Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/olizimmermann/s3dns
OSINT (खुला स्रोत खुफिया)टोहीभेद्यता विश्लेषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगक्लाउड सुरक्षासबडोमेन एनुमरेशनDNS विश्लेषण
GitHubolizimmermann/s3dns

s3dns

निष्क्रिय DNS सर्वर जो DNS अनुरोधों को हल करके, CNAME श्रृंखलाओं का पता लगाकर, और टोही के दौरान संभावित सबडोमेन टेकओवर को चिह्नित करके उजागर क्लाउड स्टोरेज बकेट (AWS S3, GCP, Azure) का पता लगाता है।

12913367 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
वेबसाइट
# S3DNS

**s3dns** एक हल्का DNS सर्वर है जो DNS अनुरोधों को हल करके, CNAME को ट्रेस करके और ज्ञात बकेट URL पैटर्न से मिलान करके क्लाउड स्टोरेज बकेट (AWS S3, Google Cloud Storage, और Azure Blob) का पता लगाने में मदद करता है।

यह **पेनटेस्टर्स**, **बग बाउंटी हंटर्स** और **क्लाउड सुरक्षा विश्लेषकों** के लिए एक उपयोगी साथी है जो DNS ट्रैफ़िक विश्लेषण के दौरान खुले क्लाउड बकेट को पकड़ना चाहते हैं।

यदि S3DNS आपको किसी recon सत्र में समय बचाता है, तो इसे ⭐️ देने पर विचार करें — यह दूसरों को प्रोजेक्ट ढूंढने में मदद करता है।

---

---

### 🆕 अद्यतन 2026/03/06

* **TCP/53 समर्थन** — S3DNS अब UDP और TCP दोनों पोर्ट 53 पर सुनता है। जो क्लाइंट छोटे UDP प्रतिक्रिया के बाद TCP पर पुनः प्रयास करते हैं, उन्हें सही ढंग से संभाला जाता है, क्वेरी को पूर्ण उत्तर प्राप्त करने के लिए TCP पर अपस्ट्रीम भेजा जाता है।
* **बड़ा DNS बफर** — UDP प्राप्त बफर 512 से बढ़ाकर 4096 बाइट्स कर दिया गया है। क्लाइंट से EDNS0 विकल्प अपरिवर्तित अपस्ट्रीम रिज़ॉल्वर को भेजे जाते हैं।
* **प्रतिक्रिया कैश** — DNS प्रतिक्रियाओं के लिए TTL-आधारित LRU कैश, UDP और TCP पथों में साझा किया गया। सक्रिय recon सत्रों के दौरान अपस्ट्रीम लोड और विलंबता कम करता है। `CACHE_SIZE` (डिफ़ॉल्ट: `1000` प्रविष्टियाँ, `0` सेट करने पर अक्षम) से कॉन्फ़िगर करने योग्य।
* **दर सीमित करना** — दुरुपयोग को रोकने के लिए प्रति क्लाइंट-IP अनुरोध दर सीमा। `RATE_LIMIT` (डिफ़ॉल्ट: `100` req/s, `0` सेट करने पर अक्षम) से कॉन्फ़िगर करने योग्य।
* **सबडोमेन अधिग्रहण का पता लगाना** — जब कोई डोमेन क्लाउड स्टोरेज पैटर्न से मेल खाता है लेकिन `NXDOMAIN` लौटाता है, तो S3DNS इसे **संभावित डोमेन अधिग्रहण** के रूप में चिह्नित करता है। यह एक लटकते DNS रिकॉर्ड को इंगित करता है जो एक अपंजीकृत बकेट की ओर इशारा करता है जिसे एक हमलावर पंजीकृत कर सकता है।
* **IPv6 IP-रेंज जाँच** — AAAA रिकॉर्ड अब भी हल किए जाते हैं और ज्ञात क्लाउड स्टोरेज IP रेंज के विरुद्ध जाँचे जाते हैं। AWS IPv6 S3 उपसर्ग IPv4 रेंज के साथ लोड किए जाते हैं।
* **CNAME गहराई सीमा** — पुनरावर्ती CNAME श्रृंखला अनुसरण अब सीमित है (डिफ़ॉल्ट: 10 हॉप्स) ताकि निर्मित या चक्रीय रिकॉर्ड पर अनंत लूप को रोका जा सके। `max_cname_depth` पैरामीटर से कॉन्फ़िगर करने योग्य।

### अद्यतन 2025/08/19

* AWS IP रेंज को JSON फ़ाइल के रूप में ऑफलाइन जोड़ा गया।
* Azure Storage IP रेंज को JSON फ़ाइल के रूप में ऑफलाइन जोड़ा गया।
* किसी भी सेवा के लिए IP रेंज जाँच को अक्षम करने का विकल्प जोड़ा गया:
  * `AZURE_IP_RANGES=false` या `AWS_IP_RANGES=false` (डिफ़ॉल्ट सत्य है)।
* `regex_patterns` और हार्डकोडेड पैटर्न को `patterns` फ़ोल्डर में YAML फ़ाइलों के रूप में स्थानांतरित किया गया। आप अपने स्वयं के पैटर्न जोड़ सकते हैं।
  * **Regex पैटर्न `regex_` से शुरू होने चाहिए।**
* कई और क्लाउड प्रदाता जोड़े गए:
  * IBM Cloud Object Storage
  * Oracle Object Storage
  * Alibaba OSS
  * Backblaze B2
  * Linode Object Storage
  * Scaleway Object Storage
  * Vultr Object Storage
  * Cloudflare R2

### अद्यतन 2025/06/21

* AWS GovCloud समर्थन जोड़ा गया।

### अद्यतन 2025/04/16

* नियमित अभिव्यक्ति पैटर्न अपडेट किए गए।
* बेहतर दृश्यता के लिए आउटपुट अपडेट किया गया (CNAME के लिए मूल डोमेन, क्लाइंट IP और IP रेंज संकेतक प्रदर्शित करना)।
* AWS से IP रेंज का स्वचालित डाउनलोड — अब उनकी भी जाँच की जा रही है!
* अपनी स्वयं की IP रेंज जोड़ने का विकल्प (वर्ग में पैटर्न या IP रेंज को मैन्युअल रूप से समायोजित करें)।

### अद्यतन 2025/04/14

* **Google Cloud Storage** और **Azure Blob Storage** बकेट के लिए रेगेक्स समर्थन जोड़ा गया।

---

## 🚀 विशेषताएँ

* पोर्ट `53` (UDP **और** TCP) पर DNS सर्वर के रूप में चलता है
* DNS अनुरोधों में संभावित क्लाउड स्टोरेज बकेट का पता लगाता है:
  * **AWS S3** (वर्चुअल-होस्ट और पथ शैली, GovCloud सहित)
  * **GCP बकेट**
  * **Azure Blob कंटेनर**
  * **DigitalOcean Spaces**, **Wasabi**, **IBM COS**, **Oracle Object Storage**, **Alibaba OSS**, **Backblaze B2**, **Linode**, **Scaleway**, **Vultr**, **Cloudflare R2**
* **CNAME श्रृंखलाओं** का पुनरावर्ती रूप से अनुसरण करता है (कॉन्फ़िगर करने योग्य गहराई सीमा) ताकि मास्क किए गए क्लाउड बकेट लिंक को पकड़ सके
* **संभावित सबडोमेन अधिग्रहण** को चिह्नित करता है — क्लाउड स्टोरेज पैटर्न जो NXDOMAIN लौटाते हैं
* हल किए गए IP (A और AAAA दोनों) को ज्ञात **AWS S3 और Azure Storage IP रेंज** के विरुद्ध जाँचता है
* **TTL-जागरूक प्रतिक्रिया कैश** recon के दौरान विलंबता और अपस्ट्रीम लोड कम करने के लिए
* **प्रति-IP दर सीमित** दुरुपयोग को रोकने के लिए
* सभी निष्कर्षों को कंसोल और फ़ाइल में लॉग करता है
* कंटेनर-अनुकूल

---

## ⚙️ यह कैसे काम करता है

S3DNS DNS क्वेरी के लिए **पोर्ट 53 (UDP और TCP)** पर सुनता है। प्रत्येक अनुरोध के लिए यह:

1. **अनुरोधित डोमेन निकालता है**
2. **प्रतिक्रिया कैश जाँचता है** — यदि कोई वैध कैश्ड उत्तर मौजूद है, तो इसे तुरंत लौटा दिया जाता है
3. **अनुरोध को एक वास्तविक DNS रिज़ॉल्वर (जैसे, `1.1.1.1`) को अग्रेषित करता है** — UDP क्लाइंट के लिए UDP पर, TCP क्लाइंट के लिए TCP पर
4. **क्लाइंट को वैध DNS प्रतिक्रिया लौटाता है**

समानांतर में, यह:

* **क्लाउड स्टोरेज बकेट पैटर्न की जाँच करता है** (रेगेक्स और हार्डकोडेड होस्टनाम मिलान)
* **हल किए गए IP को ज्ञात AWS S3 और Azure Storage रेंज के विरुद्ध जाँचता है** (IPv4 और IPv6)
* **CNAME श्रृंखलाओं का पुनरावर्ती रूप से अनुसरण करता है** कॉन्फ़िगर की गई गहराई तक
* **मिलान किए गए पैटर्न पर NXDOMAIN हिट** को संभावित सबडोमेन अधिग्रहण उम्मीदवारों के रूप में चिह्नित करता है
* **सभी निष्कर्षों को कंसोल और `s3dns.log` में लॉग करता है**

⚡ इसे अपने DNS के रूप में recon के दौरान उपयोग करें, और यह आपके उपकरणों या ब्राउज़र द्वारा हल किए जाने वाले प्रत्येक डोमेन के लिए निष्क्रिय रूप से क्लाउड बकेट और अधिग्रहण उम्मीदवारों को उजागर करेगा।

---

## 🧱 पूर्वापेक्षाएँ

आपको केवल निम्नलिखित में से एक की आवश्यकता होगी:
* Python **3.11+**
* Docker (वैकल्पिक, लेकिन अनुशंसित)

---

## 🔧 स्थापना

*केवल यदि आप इसे Python के साथ स्थानीय रूप से चलाना चाहते हैं तो आवश्यक है*

### रिपॉजिटरी क्लोन करें

```bash
git clone https://github.com/olizimmermann/s3dns.git
cd s3dns
```

### निर्भरताएँ स्थापित करें

(एक वर्चुअल वातावरण का उपयोग अनुशंसित है)

```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

---

## 🧪 उपयोग

### Python से चलाएँ

पोर्ट 53 के लिए उन्नत अधिकारों की आवश्यकता है:

```bash
sudo python s3dns.py
```

*यदि `sudo` एक लापता मॉड्यूल का दावा करता है, तो प्रयास करें: `sudo venv/bin/python s3dns.py`*

* यदि आप स्वयं छवि बनाते हैं, तो सुनिश्चित करें कि इसे Docker Hub संस्करण के समान टैग करें: `docker build -t ozimmermann/s3dns:latest .`

### Docker का उपयोग करें

*S3DNS के साथ आरंभ करने का सबसे आसान तरीका।*

```bash
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 के साथ बिल्ड और चलाएँ

```bash
docker build -t ozimmermann/s3dns:latest .
```
```bash
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` फ़्लैग सेट करना मदद कर सकता है:

```bash
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` की आवश्यकता हो सकती है:

```bash
sudo docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  --name "s3dns" \
  ozimmermann/s3dns:latest
```

---

## 🌐 recon में S3DNS का उपयोग करना

अपने सिस्टम या उपकरण के **DNS रिज़ॉल्वर** को अपने S3DNS इंस्टेंस पर सेट करें।

> जब आप अपने लक्ष्य को ब्राउज़ या फ़ज़ कर रहे हों, तो S3DNS प्रत्येक डोमेन का विश्लेषण करता है और बताता है कि क्या यह निम्न में हल होता है:
>
> * एक **AWS S3 बकेट**
> * एक **GCP बकेट**
> * एक **Azure Blob कंटेनर**
> * 13 अन्य समर्थित क्लाउड स्टोरेज प्रदाताओं में से कोई
>
> यह **CNAME का अनुसरण करता है**, इसलिए यदि कोई डोमेन `cdn.example.com` की ओर इशारा करता है, जो बदले में एक क्लाउड बकेट की ओर इशारा करता है, तो वह भी पकड़ा जाएगा।
>
> यह **संभावित सबडोमेन अधिग्रहण** को भी चिह्नित करता है — यदि कोई डोमेन क्लाउड स्टोरेज पैटर्न से मेल खाता है लेकिन लक्ष्य मौजूद नहीं है (NXDOMAIN), तो लटकते रिकॉर्ड को संभावित अधिग्रहण उम्मीदवार के रूप में हाइलाइट किया जाता है।

एक साइट का विश्लेषण करते समय इसका निष्क्रिय रूप से उपयोग करें ताकि **सक्रिय जांच के बिना उजागर बकेट और अधिग्रहण के अवसरों को देखा जा सके**।

---

## ⚙️ कॉन्फ़िगरेशन

आप कमांड-लाइन फ़्लैग, पर्यावरण चर, या `s3dns.py` को संशोधित करके व्यवहार को समायोजित कर सकते हैं।

प्रत्येक विकल्प के लिए प्राथमिकता है: **कमांड-लाइन फ़्लैग > पर्यावरण चर > इंटरैक्टिव प्रॉम्प्ट / डिफ़ॉल्ट।** बिना किसी फ़्लैग के चलाने पर बिल्कुल पहले जैसा व्यवहार होता है।

### कमांड-लाइन फ़्लैग

पूरी सूची के लिए `python s3dns.py -h` चलाएँ:

| फ़्लैग | समतुल्य env var | विवरण |
|---|---|---|
| `-h`, `--help` | – | सहायता दिखाएँ और बाहर निकलें |
| `--version` | – | संस्करण दिखाएँ और बाहर निकलें |
| `-d`, `--debug` | `DEBUG` | विस्तृत डीबग आउटपुट सक्षम करें |
| `-l`, `--listen IP` | `LOCAL_DNS_SERVER_IP` | सुनने के लिए स्थानीय इंटरफ़ेस |
| `-u`, `--upstream IP` | `REAL_DNS_SERVER_IP` | अग्रेषित करने के लिए अपस्ट्रीम DNS रिज़ॉल्वर |
| `-b`, `--bucket-file PATH` | `BUCKET_FILE` | खोजे गए बकेट डोमेन लिखने का पथ |
| `--aws-ip-ranges` / `--no-aws-ip-ranges` | `AWS_IP_RANGES` | AWS S3 IP रेंज जाँच टॉगल करें |
| `--azure-ip-ranges` / `--no-azure-ip-ranges` | `AZURE_IP_RANGES` | Azure Storage IP रेंज जाँच टॉगल करें |
| `--rate-limit N` | `RATE_LIMIT` | प्रति क्लाइंट IP अधिकतम DNS अनुरोध/सेकंड (`0` = अक्षम) |
| `--cache-size N` | `CACHE_SIZE` | अधिकतम कैश्ड DNS प्रतिक्रियाएँ (`0` = अक्षम) |
| `--max-cname-depth N` | – | अनुसरण करने के लिए अधिकतम CNAME श्रृंखला गहराई (डिफ़ॉल्ट: 10) |

उदाहरण:

```bash
sudo python s3dns.py -l 0.0.0.0 -u 1.1.1.1 --rate-limit 200 --no-azure-ip-ranges
```

### पर्यावरण चर

| चर | डिफ़ॉल्ट | विवरण |
|---|---|---|
| `DEBUG` | `false` | विस्तृत डीबग आउटपुट सक्षम करें |
| `AWS_IP_RANGES` | `true` | AWS S3 IP रेंज जाँच सक्षम करें |
| `AZURE_IP_RANGES` | `true` | Azure Storage IP रेंज जाँच सक्षम करें |
| `REAL_DNS_SERVER_IP` | `1.1.1.1` | क्वेरी अग्रेषित करने के लिए अपस्ट्रीम DNS रिज़ॉल्वर |
| `LOCAL_DNS_SERVER_IP` | `0.0.0.0` | सुनने के लिए स्थानीय इंटरफ़ेस |
| `BUCKET_FILE` | `buckets.txt` | खोजे गए बकेट डोमेन लिखने का पथ |
| `RATE_LIMIT` | `100` | प्रति क्लाइंट IP प्रति सेकंड अधिकतम DNS अनुरोध (`0` = अक्षम) |
| `CACHE_SIZE` | `1000` | अधिकतम कैश्ड DNS प्रतिक्रियाएँ (`0` = अक्षम) |

#### ⚠️ Azure IP रेंज पर ध्यान दें

चूंकि Microsoft अपनी Azure Blob Storage IP रेंज को स्पष्ट रूप से नामित नहीं करता है, S3DNS **सभी सार्वजनिक रूप से प्रदान किए गए Azure Storage IP पतों** का उपयोग करता है। इससे गलत सकारात्मक परिणाम हो सकते हैं। यदि समस्याएँ आती हैं तो इस जाँच को अक्षम करने पर विचार करें:

```bash
AZURE_IP_RANGES=false
```

### कस्टम पैटर्न जोड़ना

`patterns/` निर्देशिका में YAML फ़ाइलें जोड़ें। `regex_` उपसर्ग वाली फ़ाइलों को रेगेक्स पैटर्न के रूप में माना जाता है; अन्य सभी को सबस्ट्रिंग मिलान के रूप में माना जाता है।

---

### डीबग मोड

**Python:**

```bash
sudo su
export DEBUG=true
python s3dns.py
```

**Docker:**

```bash
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  -e "DEBUG=true" \
  --name "s3dns" \
  ozimmermann/s3dns:latest
```

Docker में एकाधिक पर्यावरण चर सेट करना:

```bash
docker run --rm -p 53:53/udp -p 53:53/tcp \
  -v "./bucket_findings/:/app/buckets/" \
  -e "LOCAL_DNS_SERVER_IP=0.0.0.0" \
  -e "REAL_DNS_SERVER_IP=1.1.1.1" \
  -e "RATE_LIMIT=200" \
  -e "CACHE_SIZE=2000" \
  --name "s3dns" \
  ozimmermann/s3dns:latest
```

---

## नमूना आउटपुट

![Sample Output Docker](https://raw.githubusercontent.com/olizimmermann/s3dns/main/images/output.jpg)

---

## योगदान

योगदान का स्वागत है — नए क्लाउड प्रदाता पैटर्न, बग फिक्स और सुधार। दिशानिर्देशों के लिए [CONTRIBUTING.md](https://github.com/olizimmermann/s3dns/blob/main/CONTRIBUTING.md) देखें।

पैटर्न फ़ाइलें `patterns/` में रहती हैं। किसी नए प्रदाता के लिए समर्थन जोड़ना उतना ही सरल है जितना कि एक YAML प्रविष्टि जोड़ना — Python की आवश्यकता नहीं है।

---

## 📄 लाइसेंस

MIT लाइसेंस — उपयोग करने, सुधारने और साझा करने के लिए स्वतंत्र।

---

## ⚠️ अस्वीकरण

जिम्मेदारी से उपयोग करें। केवल उन डोमेन को स्कैन करें जिनके **मालिक** हैं या जिनके विश्लेषण की **स्पष्ट अनुमति** है।

अनधिकृत पहुँच या जांच अवैध हो सकती है।
टूल डाउनलोड करें