
Durchsucht öffentliche Object-Storage-Endpunkte in Yandex, VK, Selectel, Sber, Alibaba, Tencent, Huawei und Baidu, um auflistbare Buckets und exponierte Objekte zu finden.
Scanner für die Offenlegung von Cloud-Objektspeichern für autorisierte Sicherheitstests, Bug-Bounty-Arbeit und Infrastruktur, die Ihnen gehört.
BucketBuster prüft Kandidaten-Bucket-Namen gegen öffentliche Endpunkte für Yandex Cloud, VK Cloud, Selectel, SberCloud, Alibaba OSS, Tencent COS, Huawei OBS und Baidu BOS. Es kann öffentlich auflistbare Buckets identifizieren, zertifikatsbezogene Objektnamen abgleichen und optional öffentlich zugängliche Objekte über HTTP GET herunterladen.
Autorisierung erforderlich: Verwenden Sie dieses Tool nur gegen Assets, die Ihnen gehören oder für die Sie eine ausdrückliche Testgenehmigung haben. Das Scannen oder Herunterladen von Daten aus Buckets Dritter kann illegal sein. Sie sind dafür verantwortlich, geltende Gesetze, Verträge, Bug-Bounty-Regeln und Anbieterrichtlinien einzuhalten.
git clone <repository-url>
cd bucketbuster
python -m venv .venv
Aktivieren Sie die virtuelle Umgebung:
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
Installieren Sie die Abhängigkeiten:
python -m pip install -r requirements.txt
Erstellen Sie eine Wortliste wie buckets.txt:
example-company
example-company-backup
example-company-documents
Führen Sie den Standard-Anbietersatz aus, Yandex Cloud und VK Cloud:
python bucketbuster.py --wordlist buckets.txt
Der Scanner meldet HTTP-200-Antworten, öffentliche Auflistungen, übereinstimmende Objektnamen und Endpunkte mit Zugriff verweigert, die zu existieren scheinen. Eine 404-Antwort wird ignoriert.
| Anbieter-Flag | Dienst | Enthaltene Endpunkt-Familien |
|---|---|---|
yandex | Yandex Cloud | Storage- und Website-Endpunkte |
vk | VK Cloud | vkcloud-storage.ru-Endpunkte |
selectel | Selectel | S3- und selstorage.ru-Endpunkte |
sber | SberCloud | OBS- und s3.cloud.ru-Endpunkte |
aliyun | Alibaba Cloud OSS | Ausgewählte Regionen in China |
tencent | Tencent Cloud COS | Ausgewählte Regionen in China und Asien |
huawei | Huawei Cloud OBS | Ausgewählte Regionen in China |
baidu | Baidu Cloud BOS | Ausgewählte Regionen in China und Asien |
Anbietergruppen:
--providers russia # yandex, vk, selectel, sber
--providers china # aliyun, tencent, huawei, baidu
--providers all # every supported provider
Sie können auch eine kommagetrennte Liste angeben, zum Beispiel:
python bucketbuster.py -w buckets.txt --providers aliyun,tencent
| Option | Standard | Beschreibung |
|---|---|---|
-w, --wordlist PATH | Erforderlich | Datei mit Kandidaten-Bucket-Namen, einer pro Zeile. Leerzeilen und Kommentare, die mit # beginnen, werden ignoriert. |
--providers VALUE | yandex,vk | Kommagetrennte Anbieter-Flags oder all, russia oder china. |
--dns | Deaktiviert | Führt eine passive DNS-Prüfung durch und überspringt Hostnamen, die nicht aufgelöst werden. |
-t, --threads N | 12 | Anzahl gleichzeitiger Bucket-Worker. |
--delay SECONDS | 0.12 | Verzögerung zwischen HTTP-Anfragen. |
| Option | Beschreibung |
|---|---|
--match-ext LIST | Kommagetrennte Erweiterungen wie .pfx,.p12,.cer,.crt. Ein führender Punkt wird hinzugefügt, wenn er fehlt. |
--match-name LIST | Kommagetrennte, groß-/kleinschreibungsunabhängige Name/Pfad-Teilzeichenfolgen. Ein einfacher *-Platzhalter wird unterstützt. |
--match-regex PATTERN | Groß-/kleinschreibungsunabhängiger regulärer Ausdruck, der gegen den vollständigen Objektschlüssel abgeglichen wird. Übergeben Sie die Option mehrmals für mehrere Muster. |
--match-cert | Aktiviert die integrierten Zertifikatserweiterungen und Schlüsselwörter, einschließlich CryptoPro, GOST, Signing, Certificate und russischen Zertifikatsbegriffen. |
Wenn ein oder mehrere Filter angegeben werden, verwenden sie ODER-Logik: Ein Objekt stimmt überein, wenn es eine der konfigurierten Erweiterungs-, Namens-, Regex- oder --match-cert-Bedingungen erfüllt. Ohne Filter wird jedes aufgelistete Objekt als Übereinstimmung für die Berichterstellung und Download-Auswahl betrachtet.
| Option | Beschreibung |
|---|---|
-o, --output PATH | Schreibt einen JSON-Bericht. Ergebnisse werden während des Scannens gestreamt. |
--csv PATH | Schreibt einen CSV-Bericht. Ergebnisse werden während des Scannens gestreamt. |
| Option | Standard | Beschreibung |
|---|---|---|
--download | Deaktiviert | Lädt übereinstimmende Objekte aus öffentlichen Auflistungen mithilfe nicht authentifizierter HTTP-GET-Anfragen herunter. |
--download-all | Deaktiviert | Versucht mit --download, jedes Objekt in jeder geparsten öffentlichen Auflistung herunterzuladen, und ignoriert übereinstimmende Filter. |
--download-dir PATH | ./downloads | Stammverzeichnis für heruntergeladene Objekte. |
--allow-private-keys | Deaktiviert | Erlaubt Downloads von .pfx-, .p12-, .key-, .p8- und .pem-Objekten. Nur verwenden, wenn ausdrücklich autorisiert. |
--download-all erfordert --download. Downloads sind auf 25 MiB pro Objekt begrenzt, und leere Antworten oder Nicht-200-Antworten werden nicht gespeichert. Container mit privaten Schlüsseln werden blockiert, es sei denn, --allow-private-keys wird ausdrücklich angegeben.
Scannen Sie Anbieter in Russland/GUS mit passiven DNS-Prüfungen:
python bucketbuster.py -w buckets.txt --providers russia --dns
Scannen Sie alle unterstützten Anbieter und schreiben Sie beide Berichtsformate:
python bucketbuster.py \
--wordlist buckets.txt \
--providers all \
--dns \
--output findings.json \
--csv findings.csv
Melden Sie wahrscheinliche Zertifikatsdateien nach Erweiterung:
python bucketbuster.py -w buckets.txt --match-ext .pfx,.p12,.cer,.crt,.der
Gleichen Sie Namen und Pfade mithilfe von Teilzeichenfolgen und einfachen Platzhaltern ab:
python bucketbuster.py \
-w buckets.txt \
--match-name cryptopro,*keystore*,backups/*.sql
Verwenden Sie mehrere reguläre Ausdrücke:
python bucketbuster.py \
-w buckets.txt \
--match-regex '.*backup.*\.sql$' \
--match-regex 'config/.*\.ya?ml$'
Aktivieren Sie die integrierte Liste zertifikatsbezogener Erweiterungen und Schlüsselwörter:
python bucketbuster.py -w buckets.txt --match-cert
Laden Sie nur Objekte herunter, die mit ausgewählten Erweiterungen übereinstimmen:
python bucketbuster.py \
-w buckets.txt \
--providers aliyun,tencent \
--match-ext .cer,.crt,.p7b \
--download \
--download-dir ./authorized-downloads
Laden Sie jedes in einer öffentlichen Auflistung sichtbare Objekt herunter. Dies ignoriert absichtlich alle übereinstimmenden Filter und sollte nur bei einem genehmigten Test-Asset verwendet werden:
python bucketbuster.py -w buckets.txt --download --download-all
Die Kandidateneingabe kann ein reiner Bucket-Name, ein Hostname, eine vollständige Storage-URL oder eine path-style-URL sein. Namen werden vor jedem DNS- oder HTTP-Vorgang normalisiert und validiert. Doppelte und ungültige Kandidaten werden verworfen.
JSON-Ergebnisse enthalten Anbieter, Bucket, URL, HTTP-Status, Auflistbarkeit, übereinstimmende Dateien, alle in einer Auflistung entdeckten Dateien, DNS-Status, Notizen, einen kurzen Auflistungsausschnitt und heruntergeladene lokale Pfade. CSV enthält die wichtigsten Ergebnis-Felder; Dateilisten werden als semikolongetrennte Werte serialisiert.
Downloads werden unterhalb des ausgewählten Verzeichnisses nach Anbieter und Bucket organisiert:
downloads/
yandex/
example-company/
certificates/client.cer
Objektpfade werden bereinigt, bevor sie lokal geschrieben werden. Das Herunterladen erfolgt sequenziell und wird durch die konfigurierte Verzögerung ratenbegrenzt.
--threads-Wert fest und erhöhen Sie --delay, wenn dies durch ein Programm oder eine Anbieterrichtlinie erforderlich ist.--download, --download-all oder --allow-private-keys nur, wenn die Autorisierung ausdrücklich die relevanten Objekte und den Umgang mit Daten abdeckt.BucketBuster wird unter der BSD 2-Clause License veröffentlicht.