
🏰 Ein Python-Skript zur AWS S3 Bucket-Enumeration.
Inspiriert durch ein Gespräch mit @nickelser von Instacart auf HackerOne, habe ich Sandcastle optimiert und veröffentlicht – ein Python-Skript für die AWS S3 Bucket-Enumeration, ehemals bekannt als bucketCrawler.
Das Skript nimmt den Namen eines Ziels als Stammargument (z.B. shopify) und durchläuft eine Datei mit Bucket-Namenspermutationen, wie die folgenden:
-training
-bucket
-dev
-attachments
-photos
-elasticsearch
[...]
So geht's los:
sandcastle.py mit einem Zielnamen und einer Eingabedatei aus (ein Beispiel findest du in diesem Repository).usage: sandcastle.py [-h] -t targetStem [-f inputFile]
arguments:
-h, --help show this help message and exit
-t targetStem, --target targetStem
Select a target stem name (e.g. 'shopify')
-f inputFile, --file inputFile
Select a bucket permutation file (default: bucket-
names.txt)
____ __ __ __
/ __/__ ____ ___/ /______ ____ / /_/ /__
_\ \/ _ `/ _ \/ _ / __/ _ `(_-</ __/ / -_)
/___/\_,_/_//_/\_,_/\__/\_,_/___/\__/_/\__/
S3 bucket enumeration // release v1.2.4 // ysx
[*] Commencing enumeration of 'shopify', reading 138 lines from 'bucket-names.txt'.
[+] Checking potential match: shopify-content --> 403
An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
| Statuscode | Definition | Anmerkungen |
|---|---|---|
| 404 | Bucket nicht gefunden | Kein Ziel für die Analyse (standardmäßig ausgeblendet) |
| 403 | Zugriff verweigert | Mögliches Ziel für die Analyse über die CLI |
Hier eine kurze Referenz nützlicher AWS CLI-Befehle:
aws s3 ls s3://bucket-nameaws s3 cp s3://bucket-name/<file> <destination>aws s3 cp/mv test-file.txt s3://bucket-nameaws s3 rm s3://bucket-name/test-file.txtAus der Amazon-Dokumentation, Working with Amazon S3 Buckets:
Amazon S3 [Simple Storage Service] ist Cloud-Speicher für das Internet. Um Ihre Daten (Fotos, Videos, Dokumente usw.) hochzuladen, erstellen Sie zunächst einen Bucket in einer der AWS-Regionen. Anschließend können Sie beliebig viele Objekte in den Bucket hochladen.
Implementierungstechnisch gesehen sind Buckets und Objekte Ressourcen, und Amazon S3 stellt APIs zur Verfügung, um sie zu verwalten.
| 200 |
| Öffentlich zugänglich |
| Mögliches Ziel für die Analyse über die CLI |