
Evaluación whitebox de los permisos efectivos de objetos S3, para identificar archivos de acceso público.
Evaluación de caja blanca de los permisos efectivos de objetos S3, con el fin de identificar objetos de acceso público.
Permite identificar objetos de acceso público, así como objetos accesibles para AuthenticatedUsers (mediante el uso de un perfil secundario).
Existen varias herramientas que verifican los permisos en los buckets, pero debido a la complejidad de las políticas de recursos de IAM y las combinaciones de ACL, a menudo es difícil evaluar los permisos efectivos en objetos específicos.
La herramienta es rápida porque utiliza asyncio y aiobotocore.
La herramienta utiliza dos perfiles con nombre:
WHITEBOX_PROFILE - este perfil debe tener acceso de lectura al servicio S3. Se utilizará para listar buckets y objetos, a los que la herramienta intentará acceder mediante solicitudes no autenticadas. No se utiliza para acceder a los objetos, solo para listarlos.BLACKBOX_PROFILE - además de las solicitudes no autenticadas, la herramienta utilizará este perfil para identificar objetos accesibles para el "grupo de Usuarios Autenticados" (AuthenticatedUsers). Este perfil no debe tener acceso a los buckets/objetos S3, de lo contrario generará falsos positivos.Crear un entorno virtual e instalar las dependencias:
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip -r requirements.txt
Opciones:
$ 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
Ejecutar la herramienta:
$ 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