AWS Lambda – 通过 PutRuntimeManagementConfig 对运行时进行固定/回滚滥用

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

滥用 lambda:PutRuntimeManagementConfig 将函数固定到特定的运行时版本(Manual)或冻结更新(FunctionUpdate)。这可以保持与恶意 layers/wrappers 的兼容性,并能将函数维持在过时且存在漏洞的运行时,以便于利用和长期持久化。

要求:lambda:InvokeFunction, logs:FilterLogEvents, lambda:PutRuntimeManagementConfig, lambda:GetRuntimeManagementConfig.

示例(us-east-1):

  • 调用:aws lambda invoke --function-name /tmp/ping.json --payload {} --region us-east-1 > /dev/null; sleep 5
  • 冻结更新:aws lambda put-runtime-management-config --function-name --update-runtime-on FunctionUpdate --region us-east-1
  • 验证:aws lambda get-runtime-management-config --function-name --region us-east-1

可选地,通过从 INIT_START logs 中提取 Runtime Version ARN,并使用 --update-runtime-on Manual --runtime-version-arn <arn> 将其固定到特定的运行时版本。

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