
AWS क्रेडेंशियल सेट से जुड़ी अनुमतियों की गणना करें
AWS क्रेडेंशियल्स का एक सेट मिला और कोई अंदाज़ा नहीं है कि इसमें कौन-सी अनुमतियाँ हो सकती हैं?
$ ./enumerate-iam.py --access-key AKIA... --secret-key StF0q...
2019-05-10 15:57:58,447 - 21345 - [INFO] Starting permission enumeration for access-key-id "AKIA..."
2019-05-10 15:58:01,532 - 21345 - [INFO] Run for the hills, get_account_authorization_details worked!
2019-05-10 15:58:01,537 - 21345 - [INFO] -- {
"RoleDetailList": [
{
"Tags": [],
"AssumeRolePolicyDocument": {
"Version": "2008-10-17",
"Statement": [
{
...
2019-05-10 15:58:26,709 - 21345 - [INFO] -- gamelift.list_builds() worked!
2019-05-10 15:58:26,850 - 21345 - [INFO] -- cloudformation.list_stack_sets() worked!
2019-05-10 15:58:26,982 - 21345 - [INFO] -- directconnect.describe_locations() worked!
2019-05-10 15:58:27,021 - 21345 - [INFO] -- gamelift.describe_matchmaking_rule_sets() worked!
2019-05-10 15:58:27,311 - 21345 - [INFO] -- sqs.list_queues() worked!
अब आपके पास है!
enumerate-iam.py IAM नीति द्वारा अनुमत सभी API कॉल्स को ब्रूट फोर्स करने का प्रयास करता है।
इस टूल द्वारा की जाने वाली सभी कॉल्स गैर-विनाशकारी हैं (केवल get* और list*
कॉल्स की जाती हैं)।
git clone [email protected]:andresriancho/enumerate-iam.git
cd enumerate-iam/
pip install -r requirements.txt
यह सॉफ़्टवेयर अन्य टूल्स के साथ आसानी से एकीकृत होने के लिए लिखा गया था, बस मुख्य फ़ंक्शन को इम्पोर्ट करें और आवश्यक आर्ग्युमेंट्स प्रदान करें:
from enumerate_iam.main import enumerate_iam
enumerate_iam(access_key,
secret_key,
session_token,
region)
आउटपुट में सभी गणना की गई अनुमति जानकारी एक python डिक्शनरी में होगी।
enumerate-iam.py लिखने से पहले मैंने कुछ ऐसे टूल्स आज़माए जो समान कार्य करते थे।
अपना खुद का लिखने का फैसला किया क्योंकि अन्य टूल्स:
अनुमति गणना के दौरान की जाने वाली API कॉल्स
enumerate_iam/bruteforce_tests.py में संग्रहीत हैं, जो एक Python dict() है जिसे
enumerate_iam/generate_bruteforce_tests.py द्वारा aws-sdk-js लाइब्रेरी में उपलब्ध API दस्तावेज़ीकरण का उपयोग करके जनरेट किया जाता है।
AWS हर तिमाही नई सेवाएँ जारी करता है, यह सुनिश्चित करने के लिए कि यह टूल सभी मौजूदा अनुमतियों को खोज रहा है, चलाएँ:
cd enumerate_iam/
git clone https://github.com/aws/aws-sdk-js.git
python generate_bruteforce_tests.py
rm -rf aws-sdk-js
यह टूल Internet-Scale Analysis of AWS Cognito Security शोध के हिस्से के रूप में जारी किया गया था। इस शोध के दौरान cc-lambda टूल का उपयोग Common Crawl डेटा से जानकारी निकालने के लिए भी किया गया था।
प्रारंभिक कोड इस gist में जारी किया गया था और कई तरीकों से इसमें सुधार किया गया: