
Whitebox-Bewertung effektiver S3-Objektberechtigungen, um öffentlich zugängliche Dateien zu identifizieren.
Whitebox-Bewertung der effektiven S3-Objektberechtigungen, um öffentlich zugängliche Objekte zu identifizieren.
Ermöglicht die Identifizierung öffentlich zugänglicher Objekte sowie von Objekten, die für AuthenticatedUsers zugänglich sind (durch Verwendung eines sekundären Profils).
Es gibt eine Reihe von Tools, die Berechtigungen für Buckets prüfen, aber aufgrund der Komplexität von IAM-Ressourcenrichtlinien und ACL-Kombinationen sind die effektiven Berechtigungen für bestimmte Objekte oft schwer zu beurteilen.
Das Tool läuft schnell, da es asyncio und aiobotocore verwendet.
Das Tool nutzt zwei benannte Profile:
WHITEBOX_PROFILE - dieses Profil sollte Lesezugriff auf den S3-Dienst haben. Es wird verwendet, um Buckets und Objekte aufzulisten, auf die das Tool dann über unauthentifizierte Anfragen zuzugreifen versucht. Es wird nicht verwendet, um auf die Objekte zuzugreifen, sondern nur, um sie aufzulisten.BLACKBOX_PROFILE - zusätzlich zu den unauthentifizierten Anfragen verwendet das Tool dieses Profil, um Objekte zu identifizieren, die für die "Authenticated Users group" (AuthenticatedUsers) zugänglich sind. Dieses Profil sollte keinen Zugriff auf die S3-Buckets/-Objekte haben, andernfalls führt es zu Fehlalarmen.Richten Sie eine virtuelle Umgebung ein und installieren Sie die Abhängigkeiten:
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip -r requirements.txt
Optionen:
$ 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
Führen Sie das Tool aus:
$ 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