AWS Lambda – Runtime Pinning/Rollback Abuse via PutRuntimeManagementConfig

Reading time: 2 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks

Зловживайте lambda:PutRuntimeManagementConfig, щоб закріпити функцію за конкретною версією runtime (Manual) або заморозити оновлення (FunctionUpdate). Це зберігає сумісність зі шкідливими layers/wrappers і може тримати функцію на застарілому, вразливому runtime, що сприяє експлуатації та довготривалій персистентності.

Вимоги: 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

За бажанням можна закріпити до конкретної версії runtime, витягнувши Runtime Version ARN з логів INIT_START та використавши --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) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримка HackTricks