
🏰 Un script Python pour l'énumération de buckets S3 AWS.
Inspiré par une conversation avec @nickelser d'Instacart sur HackerOne, j'ai optimisé et publié Sandcastle – un script Python pour l'énumération de buckets AWS S3, anciennement connu sous le nom de bucketCrawler.
Le script prend le nom d'une cible comme argument principal (par exemple shopify) et parcourt un fichier de permutations de noms de buckets, comme ceux ci-dessous :
-training
-bucket
-dev
-attachments
-photos
-elasticsearch
[...]
Voici comment démarrer :
sandcastle.py avec un nom de cible et un fichier d'entrée (récupérez un exemple depuis ce dépôt).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
| Code d'état | Définition | Remarques |
|---|---|---|
| 404 | Bucket introuvable | Pas une cible pour l'analyse (caché par défaut) |
| 403 | Accès refusé | Cible potentielle pour l'analyse via la CLI |
| 200 | Accessible publiquement |
Voici une référence rapide de quelques commandes AWS CLI utiles :
aws s3 ls s3://nom-du-bucketaws s3 cp s3://nom-du-bucket/<fichier> <destination>aws s3 cp/mv test-file.txt s3://nom-du-bucketaws s3 rm s3://nom-du-bucket/test-file.txtD'après la documentation d'Amazon, Travailler avec les buckets Amazon S3 :
Amazon S3 [Simple Storage Service] est un stockage cloud pour Internet. Pour télécharger vos données (photos, vidéos, documents, etc.), vous créez d'abord un bucket dans l'une des régions AWS. Vous pouvez ensuite télécharger un nombre illimité d'objets dans le bucket.
En termes d'implémentation, les buckets et les objets sont des ressources, et Amazon S3 fournit des API pour les gérer.
| Cible potentielle pour l'analyse via la CLI |