AWS - 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。
Lambda
更多信息请参阅:
Exfilrtate Lambda Credentials
Lambda 使用环境变量在运行时注入凭证。如果你能访问到它们(通过读取 /proc/self/environ 或使用有漏洞的函数本身),就可以自己使用这些凭证。它们存放在默认变量名 AWS_SESSION_TOKEN、AWS_SECRET_ACCESS_KEY 和 AWS_ACCESS_KEY_ID 中。
默认情况下,这些凭证具有写入 cloudwatch 日志组(其名称存储在 AWS_LAMBDA_LOG_GROUP_NAME 中)的权限,以及创建任意日志组的权限;然而 Lambda 函数经常会根据其预期用途被分配更多权限。
lambda:Delete*
被授予 lambda:Delete* 的攻击者可以删除 Lambda functions、versions/aliases、layers、event source mappings 以及其他相关配置。
aws lambda delete-function \
--function-name <LAMBDA_NAME>
窃取其他 Lambda URL 请求
如果攻击者以某种方式在某个 Lambda 内获得 RCE,他就能窃取其他用户发往该 Lambda 的 HTTP 请求。如果这些请求包含敏感信息(cookies、credentials…),他就能窃取这些信息。
窃取其他 Lambda URL 请求 & Extensions 请求
滥用 Lambda Layers 也可以滥用 extensions 在 Lambda 中实现持久化,同时窃取并修改请求。
AWS - Abusing Lambda Extensions
AWS Lambda – VPC Egress Bypass
通过将 Lambda 的配置更新为空的 VpcConfig (SubnetIds=[], SecurityGroupIds=[]) ,可以强制函数脱离受限 VPC。函数随后将在 Lambda 管理的网络平面中运行,重新获得出站互联网访问,从而绕过由私有 VPC 子网(无 NAT)强制执行的出站控制。
AWS - Lambda VPC Egress Bypass
AWS Lambda – Runtime Pinning/Rollback Abuse
滥用 lambda:PutRuntimeManagementConfig 将函数固定到特定 runtime 版本(Manual)或冻结更新(FunctionUpdate)。这能保持与恶意 layers/wrappers 的兼容性,并可能使函数停留在过时、易受攻击的 runtime 上,便于利用和长期持久化。
AWS - Lambda Runtime Pinning Abuse
AWS Lambda – Log Siphon via LoggingConfig.LogGroup Redirection
滥用 lambda:UpdateFunctionConfiguration 的高级日志控制,将函数的日志重定向到攻击者指定的 CloudWatch Logs 日志组。此方法无需更改代码或执行角色(大多数 Lambda 角色通过 AWSLambdaBasicExecutionRole 已包含 logs:CreateLogGroup/CreateLogStream/PutLogEvents)。如果函数打印了 secrets/request bodies 或在崩溃时产生了 stack traces,你可以从新的日志组中收集到这些信息。
AWS - Lambda LoggingConfig Redirection
AWS - Lambda Function URL Public Exposure
通过将 Function URL 的 AuthType 切换为 NONE,并附加授予 lambda:InvokeFunctionUrl 给所有人的基于资源策略,可以将私有 Lambda Function URL 变为公共的无身份验证端点。这样可以匿名调用内部函数,并可能暴露敏感的后端操作。
AWS - Lambda Function URL Public Exposure
AWS Lambda – Event Source Mapping Target Hijack
滥用 UpdateEventSourceMapping 来更改现有 Event Source Mapping (ESM) 的目标 Lambda 函数,使来自 DynamoDB Streams、Kinesis 或 SQS 的记录被发送到攻击者控制的函数。这样可以在不接触生产者或原始函数代码的情况下悄悄转移实时数据。
AWS - Lambda Event Source Mapping Hijack
AWS Lambda – EFS Mount Injection data exfiltration
滥用 lambda:UpdateFunctionConfiguration 将现有的 EFS Access Point 附加到 Lambda,然后部署简单代码列出/读取挂载路径下的文件,以外传该函数之前无法访问的共享 secrets/config。
AWS - Lambda EFS Mount Injection
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

