
🏰 Um script Python para enumeração de buckets S3 da AWS.
Inspirado por uma conversa com @nickelser do Instacart no HackerOne, otimizei e publiquei o Sandcastle – um script Python para enumeração de buckets S3 da AWS, anteriormente conhecido como bucketCrawler.
O script recebe o nome de um alvo como argumento base (ex.: shopify) e percorre um arquivo com permutações de nomes de buckets, como as listadas abaixo:
-training
-bucket
-dev
-attachments
-photos
-elasticsearch
[...]
Aqui está como começar:
sandcastle.py com um nome de alvo e um arquivo de entrada (pegue um exemplo deste repositório).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
| Código de status | Definição | Observações |
|---|---|---|
| 404 | Bucket não encontrado | Não é um alvo para análise (oculto por padrão) |
| 403 | Acesso negado | Potencial alvo para análise via CLI |
| 200 | Publicamente acessível |
Aqui está uma referência rápida de alguns comandos úteis da AWS CLI:
aws s3 ls s3://bucket-nameaws s3 cp s3://bucket-name/<arquivo> <destino>aws s3 cp/mv test-file.txt s3://bucket-nameaws s3 rm s3://bucket-name/test-file.txtDa documentação da Amazon, Trabalhando com buckets do Amazon S3:
O Amazon S3 [Simple Storage Service] é armazenamento em nuvem para a Internet. Para enviar seus dados (fotos, vídeos, documentos etc.), você primeiro cria um bucket em uma das Regiões da AWS. Em seguida, você pode fazer upload de qualquer número de objetos para o bucket.
Em termos de implementação, buckets e objetos são recursos, e o Amazon S3 fornece APIs para gerenciá-los.
| Potencial alvo para análise via CLI |