
प्रभावी S3 ऑब्जेक्ट अनुमतियों का व्हाइटबॉक्स मूल्यांकन, सार्वजनिक रूप से सुलभ फ़ाइलों की पहचान करने के लिए।
सार्वजनिक रूप से सुलभ वस्तुओं की पहचान करने के लिए प्रभावी S3 ऑब्जेक्ट अनुमतियों का Whitebox मूल्यांकन।
यह सार्वजनिक रूप से सुलभ वस्तुओं के साथ-साथ AuthenticatedUsers के लिए सुलभ वस्तुओं की पहचान करने की अनुमति देता है (द्वितीयक प्रोफ़ाइल का उपयोग करके)।
बकेट पर अनुमतियाँ जाँचने के लिए कई उपकरण मौजूद हैं, लेकिन IAM संसाधन नीतियों और ACL संयोजनों की जटिलता के कारण, विशिष्ट वस्तुओं पर प्रभावी अनुमतियों का आकलन करना अक्सर कठिन होता है।
यह उपकरण तेज़ी से चलता है क्योंकि यह asyncio और aiobotocore का उपयोग करता है।
यह उपकरण दो नामित प्रोफ़ाइलों का उपयोग करता है:
WHITEBOX_PROFILE - इस प्रोफ़ाइल के पास S3 सेवा के लिए पढ़ने की पहुँच होनी चाहिए। इसका उपयोग बकेट और ऑब्जेक्ट्स की सूची बनाने के लिए किया जाएगा, जिन्हें उपकरण बाद में बिना प्रमाणीकरण के अनुरोधों के माध्यम से एक्सेस करने का प्रयास करेगा। इसका उपयोग ऑब्जेक्ट्स को एक्सेस करने के लिए नहीं, केवल सूचीबद्ध करने के लिए किया जाता है।BLACKBOX_PROFILE - बिना प्रमाणीकरण वाले अनुरोधों के अतिरिक्त, यह उपकरण इस प्रोफ़ाइल का उपयोग "Authenticated Users group" (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