
Оценка методом белого ящика эффективных разрешений объектов S3 для выявления общедоступных файлов.
Whitebox-оценка эффективных разрешений на объекты S3 для выявления публично доступных объектов.
Позволяет выявлять публично доступные объекты, а также объекты, доступные для AuthenticatedUsers (с использованием дополнительного профиля).
Существует ряд инструментов, которые проверяют разрешения на бакеты, но из-за сложности политик ресурсов IAM и комбинаций ACL эффективные разрешения на конкретные объекты часто трудно оценить.
Инструмент работает быстро, так как использует asyncio и aiobotocore.
Инструмент использует два именованных профиля:
WHITEBOX_PROFILE — этот профиль должен иметь доступ на чтение к сервису S3. Он будет использоваться для перечисления бакетов и объектов, к которым инструмент затем попытается получить доступ через неаутентифицированные запросы. Он не используется для доступа к объектам, только для их перечисления.BLACKBOX_PROFILE — помимо неаутентифицированных запросов, инструмент будет использовать этот профиль для выявления объектов, доступных "группе AuthenticatedUsers" (AuthenticatedUsers). Этот профиль не должен иметь доступ к бакетам/объектам S3, иначе он вызовет ложные срабатывания.Настройте виртуальное окружение и установите зависимости:
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip -r requirements.txt
Опции:
$ python s3-objects-check.py -h
usage: s3-objects-check.py [-h] -p WHITEBOX_PROFILE -e BLACKBOX_PROFILE [-d]
Whitebox evaluation of effective S3 object permissions, to identify publicly
accessible files.
optional arguments:
-h, --help show this help message and exit
-p WHITEBOX_PROFILE, --profile WHITEBOX_PROFILE
The profile with access to the desired AWS account and
buckets
-e BLACKBOX_PROFILE, --profile-external BLACKBOX_PROFILE
An "external" profile to test for 'AuthenticatedUsers'
permissions. This principal should not have
permissions to read bucket objects.
-d, --debug Verbose output. Will also create a log file
Запустите инструмент:
$ python s3-objects-check.py -p whitebox-profile -e blackbox-profile
2020-11-24 11:19:56 host object-check[371] INFO Starting
2020-11-24 11:20:08 host object-check[371] WARNING Found https://<bucket>.s3.us-east-1.amazonaws.com/<object> allowing "AllUsers"
2020-11-24 11:20:09 host object-check[371] WARNING Found https://<bucket>.s3.eu-west-2.amazonaws.com/<object> allowing "AuthenticatedUsers"
2020-11-24 11:21:34 host object-check[371] INFO Done