
Обходите и собирайте данные с веб-целей для обнаружения открытых облачных ресурсов, включая S3 buckets, Azure Blobs и DigitalOcean Spaces, используя обнаружение на основе регулярных выражений.

Нестандартные библиотеки Python:
Создано с использованием Python 3.6
Этот инструмент был вдохновлен недавним докладом Брайса Кунца. Доклад Blue Cloud of Death: Red Teaming Azure знакомит нас с некоторыми менее известными распространенными раскрытиями информации помимо вездесущих S3 Buckets.
usage: CloudScraper.py [-h] [-v] [-p Processes] [-d DEPTH] [-u URL] [-l TARGETLIST]
optional arguments:
-h, --help show this help message and exit
-u URL Target Scope
-d DEPTH Max Depth of links Default: 5
-l TARGETLIST Location of text file of Line Delimited targets
-v Verbose Verbose output
-p Processes Number of processes to be executed in parallel. Default: 2
--no-verify Skip TLS verification
example: python3 CloudScraper.py -u https://rottentomatoes.com
Чтобы добавить ключевые слова, просто добавьте их в список в функции парсера.
Делиться — значит заботиться! Приветствуются pull request'ы, особенно такие вещи, как добавление поддержки большего количества обнаружений, многопоточности и т.д. :)
Итак, Брайс Кунц на самом деле сделал инструмент, который делает нечто подобное, но он использовал Scrapy, и я хотел создать что-то своё, не зависящее от Python2 или каких-либо модулей для скрапинга, таких как Scrapy. В итоге я использовал BeautifulSoup только для парсинга href-ссылок при обходе. Так и родился CloudScraper. Преимущество использования сырых регулярных выражений вместо парсинга href-ссылок заключается в том, что во многих случаях эти ссылки не включены в href, а могут быть спрятаны в JS или других местах. CloudScraper получает всю страницу и использует регулярное выражение для поиска ссылок. У этого есть свои недостатки, такие как захват слишком многого или слишком малого, но по крайней мере мы знаем, что покрываем все базы :)