AWS Lambda – Runtime Pinning/Rollback Abuse via PutRuntimeManagementConfig

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Nadużyj lambda:PutRuntimeManagementConfig, aby przypiąć funkcję do konkretnej wersji runtimu (Manual) lub zablokować aktualizacje (FunctionUpdate). To zachowuje kompatybilność ze złośliwymi warstwami/wrapperami i może utrzymać funkcję na przestarzałym, podatnym runtimie, ułatwiając eksploatację i długotrwałe utrzymanie dostępu.

Wymagania: lambda:InvokeFunction, logs:FilterLogEvents, lambda:PutRuntimeManagementConfig, lambda:GetRuntimeManagementConfig.

Przykład (us-east-1):

  • Invoke: aws lambda invoke --function-name /tmp/ping.json --payload {} --region us-east-1 > /dev/null; sleep 5
  • Freeze updates: aws lambda put-runtime-management-config --function-name --update-runtime-on FunctionUpdate --region us-east-1
  • Verify: aws lambda get-runtime-management-config --function-name --region us-east-1

Opcjonalnie przypnij do konkretnej wersji runtime, wyodrębniając Runtime Version ARN z logów INIT_START i używając --update-runtime-on Manual --runtime-version-arn <arn>.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks