
Инструмент для пентеста для перечисления и анализа корзин Amazon S3, принадлежащих домену.
Предупреждение: код ужасен, так как я использовал его только для личных нужд. Когда у меня будет время, я сделаю его менее ужасным (и более быстрым).
При проведении разведки домена очень важно понимать, какие активы ему принадлежат. Разрешения AWS S3 bucket неоднократно путали, что приводило к раскрытию конфиденциальных материалов.
Этот инструмент перечисляет имена S3 bucket, используя общие шаблоны, которые я выявил за время охоты за ошибками и пентестинга. Поддерживаются перестановки на корневом домене с помощью пользовательского словаря. Я настоятельно рекомендую словарь, входящий в состав AltDNS.
Будет возвращена следующая информация о каждом найденном bucket:
go get -u github.com/glen-mac/goGetBucket
goGetBucket -m ~/tools/altdns/words.txt -d <domain> -o <output> -i <wordlist>
Usage of ./goGetBucket:
-d string
Supplied domain name (used with mutation flag)
-f string
Path to a testfile (default "/tmp/test.file")
-i string
Path to input wordlist to enumerate
-k string
Keyword list (used with mutation flag)
-m string
Path to mutation wordlist (requires domain flag)
-o string
Path to output file to store log
-t int
Number of concurrent threads (default 100)
В ходе использования инструмента я добился наилучших результатов, когда подавал список (-i) поддоменов для интересующего меня корневого домена. Например:
www.domain.com
mail.domain.com
dev.domain.com
Тестовый файл (-f) — это файл, который скрипт попытается сохранить в bucket для проверки разрешений на запись. Возможно, стоит сохранить в него свои контактные данные и предупреждающее сообщение, если это делается в рамках программы поощрений (bounty)?
Список ключевых слов (-k) объединяется с корневым доменным именем (-d) и доменом без TLD для создания перестановок с использованием предоставленного словаря перестановок (-m).
Старайтесь не устанавливать слишком большое количество потоков (-t) — AWS имеет ограничение скорости API, которое начнет действовать и выдавать нежелательный код возврата.