
🏰 Скрипт на Python для перечисления бакетов AWS S3.
Вдохновлённый беседой с @nickelser из Instacart на HackerOne, я оптимизировал и опубликовал Sandcastle — Python-скрипт для перебора корзин AWS S3, ранее известный как bucketCrawler.
Скрипт принимает имя цели в качестве основного аргумента (например, shopify) и проходит по файлу с вариантами имён корзин, таким как приведённые ниже:
-training
-bucket
-dev
-attachments
-photos
-elasticsearch
[...]
Вот как начать:
sandcastle.py с именем цели и входным файлом (возьмите пример из этого репозитория).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
| Код состояния | Определение | Примечания |
|---|---|---|
| 404 | Корзина не найдена | Не является целью для анализа (скрыто по умолчанию) |
| 403 | Доступ запрещён | Потенциальная цель для анализа через CLI |
| 200 | Общедоступна |
Вот краткая справка по полезным командам AWS CLI:
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.txtИз документации Amazon, Работа с корзинами Amazon S3:
Amazon S3 [Simple Storage Service] — это облачное хранилище для интернета. Чтобы загрузить свои данные (фотографии, видео, документы и т.д.), вы сначала создаёте корзину в одном из регионов AWS. Затем вы можете загрузить любое количество объектов в эту корзину.
С точки зрения реализации, корзины и объекты являются ресурсами, и Amazon S3 предоставляет API для управления ими.
| Потенциальная цель для анализа через CLI |