
Yandex, VK, Selectel, Sber, Alibaba, Tencent, Huawei और Baidu में सार्वजनिक क्लाउड ऑब्जेक्ट-स्टोरेज एंडपॉइंट्स को स्कैन करता है ताकि सूचीबद्ध करने योग्य बकेट और उजागर ऑब्जेक्ट्स का पता लगाया जा सके।
अधिकृत सुरक्षा परीक्षण, बग बाउंटी कार्य, और आपके स्वामित्व वाले इंफ्रास्ट्रक्चर के लिए क्लाउड ऑब्जेक्ट-स्टोरेज एक्सपोज़र स्कैनर।
BucketBuster, Yandex Cloud, VK Cloud, Selectel, SberCloud, Alibaba OSS, Tencent COS, Huawei OBS, और Baidu BOS के सार्वजनिक एंडपॉइंट्स के विरुद्ध संभावित बकेट नामों की जाँच करता है। यह सार्वजनिक रूप से सूचीबद्ध किए जा सकने वाले बकेट की पहचान कर सकता है, प्रमाणपत्र-संबंधित ऑब्जेक्ट नामों का मिलान कर सकता है, और वैकल्पिक रूप से HTTP GET के माध्यम से सार्वजनिक रूप से सुलभ ऑब्जेक्ट डाउनलोड कर सकता है।
अधिकृति आवश्यक: इस टूल का उपयोग केवल उन संपत्तियों के विरुद्ध करें जिनका आप स्वामित्व रखते हैं या जिनका परीक्षण करने की आपको स्पष्ट अनुमति है। तृतीय-पक्ष बकेट से डेटा स्कैन या डाउनलोड करना अवैध हो सकता है। लागू कानूनों, अनुबंधों, बग-बाउंटी नियमों, और प्रदाता नीतियों का पालन करने की जिम्मेदारी आपकी है।
git clone <repository-url>
cd bucketbuster
python -m venv .venv
वर्चुअल एनवायरनमेंट सक्रिय करें:
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
निर्भरताएँ इंस्टॉल करें:
python -m pip install -r requirements.txt
buckets.txt जैसी एक वर्डलिस्ट बनाएँ:
example-company
example-company-backup
example-company-documents
डिफ़ॉल्ट प्रदाता सेट, Yandex Cloud और VK Cloud चलाएँ:
python bucketbuster.py --wordlist buckets.txt
स्कैनर HTTP 200 प्रतिक्रियाओं, सार्वजनिक लिस्टिंग, मेल खाते ऑब्जेक्ट नामों, और मौजूद प्रतीत होने वाले एक्सेस-डिनाइड एंडपॉइंट्स की रिपोर्ट करता है। 404 प्रतिक्रिया को अनदेखा किया जाता है।
| Provider flag | Service | Included endpoint families |
|---|---|---|
yandex | Yandex Cloud | Storage and website endpoints |
vk | VK Cloud | vkcloud-storage.ru endpoints |
selectel | Selectel | S3 and selstorage.ru endpoints |
sber | SberCloud | OBS and s3.cloud.ru endpoints |
aliyun | Alibaba Cloud OSS | Selected China regions |
tencent | Tencent Cloud COS | Selected China and Asia regions |
huawei | Huawei Cloud OBS | Selected China regions |
baidu | Baidu Cloud BOS | Selected China and Asia regions |
प्रदाता समूह:
--providers russia # yandex, vk, selectel, sber
--providers china # aliyun, tencent, huawei, baidu
--providers all # every supported provider
आप कॉमा-सेपरेटेड सूची भी दे सकते हैं, उदाहरण के लिए:
python bucketbuster.py -w buckets.txt --providers aliyun,tencent
| Option | Default | Description |
|---|---|---|
-w, --wordlist PATH | Required | File containing candidate bucket names, one per line. Blank lines and comments beginning with # are ignored. |
--providers VALUE | yandex,vk | Comma-separated provider flags, or all, russia, or china. |
--dns | Disabled | Perform a passive DNS check and skip hostnames that do not resolve. |
-t, --threads N | 12 | Number of concurrent bucket workers. |
--delay SECONDS | 0.12 | Delay between HTTP requests. |
| Option | Description |
|---|---|
--match-ext LIST | Comma-separated extensions such as .pfx,.p12,.cer,.crt. A leading dot is added when omitted. |
--match-name LIST | Comma-separated case-insensitive name/path substrings. A simple * wildcard is supported. |
--match-regex PATTERN | Case-insensitive regular expression matched against the full object key. Pass the option multiple times for multiple patterns. |
--match-cert | Enable the built-in certificate extensions and keywords, including CryptoPro, GOST, signing, certificate, and Russian certificate terms. |
जब एक या अधिक फ़िल्टर दिए जाते हैं, तो वे OR लॉजिक का उपयोग करते हैं: कोई ऑब्जेक्ट मेल खाता है यदि वह किसी भी कॉन्फ़िगर किए गए एक्सटेंशन, नाम, रेगेक्स, या --match-cert शर्त को पूरा करता है। बिना किसी फ़िल्टर के, प्रत्येक सूचीबद्ध ऑब्जेक्ट को रिपोर्टिंग और डाउनलोड चयन के लिए मेल माना जाता है।
| Option | Description |
|---|---|
-o, --output PATH | Write a JSON report. Results are streamed during scanning. |
--csv PATH | Write a CSV report. Results are streamed during scanning. |
| Option | Default | Description |
|---|---|---|
--download | Disabled | Download matching objects from public listings using unauthenticated HTTP GET requests. |
--download-all | Disabled | With --download, attempt every object in each parsed public listing and ignore matching filters. |
--download-dir PATH | ./downloads | Root directory for downloaded objects. |
--allow-private-keys | Disabled | Permit downloads of .pfx, .p12, .key, .p8, and .pem objects. Use only when explicitly authorized. |
--download-all के लिए --download आवश्यक है। डाउनलोड प्रति ऑब्जेक्ट 25 MiB तक सीमित हैं, और खाली प्रतिक्रियाएँ या गैर-200 प्रतिक्रियाएँ सहेजी नहीं जातीं। जब तक --allow-private-keys स्पष्ट रूप से प्रदान न किया जाए, प्राइवेट-की कंटेनर ब्लॉक रहते हैं।
निष्क्रिय DNS जाँच के साथ Russia/CIS प्रदाताओं को स्कैन करें:
python bucketbuster.py -w buckets.txt --providers russia --dns
सभी समर्थित प्रदाताओं को स्कैन करें और दोनों रिपोर्ट प्रारूप लिखें:
python bucketbuster.py \
--wordlist buckets.txt \
--providers all \
--dns \
--output findings.json \
--csv findings.csv
एक्सटेंशन द्वारा संभावित प्रमाणपत्र फ़ाइलों की रिपोर्ट करें:
python bucketbuster.py -w buckets.txt --match-ext .pfx,.p12,.cer,.crt,.der
सबस्ट्रिंग और सरल वाइल्डकार्ड का उपयोग करके नाम और पाथ का मिलान करें:
python bucketbuster.py \
-w buckets.txt \
--match-name cryptopro,*keystore*,backups/*.sql
एकाधिक रेगुलर एक्सप्रेशन का उपयोग करें:
python bucketbuster.py \
-w buckets.txt \
--match-regex '.*backup.*\.sql$' \
--match-regex 'config/.*\.ya?ml$'
अंतर्निहित प्रमाणपत्र-संबंधित एक्सटेंशन और कीवर्ड सूची सक्षम करें:
python bucketbuster.py -w buckets.txt --match-cert
केवल चयनित एक्सटेंशन से मेल खाते ऑब्जेक्ट डाउनलोड करें:
python bucketbuster.py \
-w buckets.txt \
--providers aliyun,tencent \
--match-ext .cer,.crt,.p7b \
--download \
--download-dir ./authorized-downloads
सार्वजनिक लिस्टिंग में दिखाई देने वाले प्रत्येक ऑब्जेक्ट को डाउनलोड करें। यह जानबूझकर सभी मिलान फ़िल्टर को अनदेखा करता है और इसका उपयोग केवल स्वीकृत परीक्षण संपत्ति पर किया जाना चाहिए:
python bucketbuster.py -w buckets.txt --download --download-all
संभावित इनपुट एक बेयर बकेट नाम, होस्टनाम, पूर्ण स्टोरेज URL, या पाथ-स्टाइल URL हो सकता है। किसी भी DNS या HTTP ऑपरेशन से पहले नामों को सामान्यीकृत और मान्य किया जाता है। डुप्लिकेट और अमान्य उम्मीदवारों को हटा दिया जाता है।
JSON निष्कर्षों में प्रदाता, बकेट, URL, HTTP स्थिति, सूचीबद्धता, मेल खाती फ़ाइलें, लिस्टिंग में खोजी गई सभी फ़ाइलें, DNS स्थिति, नोट्स, एक संक्षिप्त लिस्टिंग स्निपेट, और डाउनलोड किए गए स्थानीय पाथ शामिल हैं। CSV में मुख्य निष्कर्ष फ़ील्ड होते हैं; फ़ाइल सूचियाँ सेमीकोलन-सेपरेटेड मानों के रूप में क्रमबद्ध की जाती हैं।
डाउनलोड चयनित निर्देशिका के नीचे प्रदाता और बकेट द्वारा व्यवस्थित किए जाते हैं:
downloads/
yandex/
example-company/
certificates/client.cer
स्थानीय रूप से लिखे जाने से पहले ऑब्जेक्ट पाथ को सैनिटाइज़ किया जाता है। डाउनलोडिंग अनुक्रमिक है और कॉन्फ़िगर किए गए विलंब द्वारा दर-सीमित है।
--threads मान सेट करें और --delay बढ़ाएँ।--download, --download-all, या --allow-private-keys का उपयोग तब तक न करें जब तक अधिकृति स्पष्ट रूप से प्रासंगिक ऑब्जेक्ट और डेटा हैंडलिंग को कवर न करती हो।BucketBuster को BSD 2-Clause License के अंतर्गत जारी किया गया है।