AWS Lambda – Runtime Pinning/Rollback Abuse via 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)します。これにより、悪意のあるレイヤー/ラッパーとの互換性を維持でき、古く脆弱なランタイム上に関数を留めておくことで、悪用や長期的な持続性を助けることができます。

必要条件: lambda:InvokeFunction, logs:FilterLogEvents, lambda:PutRuntimeManagementConfig, lambda:GetRuntimeManagementConfig.

Example (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 ログから 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 をサポートする