AWS Lambda – Runtime Pinning/Rollback Abuse via PutRuntimeManagementConfig

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する: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ハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする