
Valutazione whitebox dei permessi effettivi degli oggetti S3, per identificare file accessibili pubblicamente.
Valutazione whitebox dei permessi effettivi sugli oggetti S3, per identificare oggetti accessibili pubblicamente.
Consente di identificare gli oggetti accessibili pubblicamente, così come gli oggetti accessibili a AuthenticatedUsers (utilizzando un profilo secondario).
Esistono numerosi strumenti che verificano i permessi sui bucket, ma a causa della complessità delle policy di risorse IAM e delle combinazioni di ACL, i permessi effettivi su specifici oggetti sono spesso difficili da valutare.
Lo strumento è veloce poiché utilizza asyncio e aiobotocore.
Lo strumento sfrutta due profili denominati:
WHITEBOX_PROFILE - questo profilo dovrebbe avere accesso in lettura al servizio S3. Sarà utilizzato per elencare bucket e oggetti, a cui lo strumento tenterà poi di accedere tramite richieste non autenticate. Non viene utilizzato per accedere agli oggetti, ma solo per elencarli.BLACKBOX_PROFILE - oltre alle richieste non autenticate, lo strumento userà questo profilo per identificare gli oggetti accessibili al "gruppo Utenti autenticati" (AuthenticatedUsers). Questo profilo non dovrebbe avere accesso ai bucket/oggetti S3, altrimenti genererà falsi positivi.Configurare un ambiente virtuale e installare le dipendenze:
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip -r requirements.txt
Opzioni:
$ 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
Eseguire lo strumento:
$ 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