AWS - Lambda Persistence

Reading time: 4 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

Для отримання додаткової інформації перегляньте:

AWS - Lambda Enum

Lambda Layer Persistence

Можливо ввести/задній доступ до шару для виконання довільного коду під час виконання лямбди в прихований спосіб:

AWS - Lambda Layers Persistence

Lambda Extension Persistence

Зловживаючи Lambda Layers, також можливо зловживати розширеннями та зберігатися в лямбді, а також красти та змінювати запити.

AWS - Abusing Lambda Extensions

Via resource policies

Можливо надати доступ до різних дій лямбди (таких як виклик або оновлення коду) зовнішнім обліковим записам:

Versions, Aliases & Weights

Лямбда може мати різні версії (з різним кодом для кожної версії).
Потім ви можете створити різні псевдоніми з різними версіями лямбди та встановити різні ваги для кожної.
Таким чином, зловмисник може створити задньодоступну версію 1 та версію 2 лише з легітимним кодом і виконувати версію 1 лише в 1% запитів, щоб залишатися непоміченим.

Version Backdoor + API Gateway

  1. Скопіюйте оригінальний код лямбди
  2. Створіть нову версію з заднім доступом до оригінального коду (або просто з шкідливим кодом). Опублікуйте та виконайте цю версію на $LATEST
  3. Викличте API gateway, пов'язаний з лямбдою, щоб виконати код
  4. Створіть нову версію з оригінальним кодом, опублікуйте та виконайте цю версію на $LATEST.
  5. Це приховає код з заднім доступом у попередній версії
  6. Перейдіть до API Gateway і створіть новий метод POST (або виберіть будь-який інший метод), який виконає версію лямбди з заднім доступом: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
  7. Зверніть увагу на фінальне :1 в arn яке вказує на версію функції (версія 1 буде версією з заднім доступом у цьому сценарії).
  8. Виберіть створений метод POST і в Actions виберіть Deploy API
  9. Тепер, коли ви викликаєте функцію через POST, ваш задній доступ буде активовано

Cron/Event actuator

Той факт, що ви можете змусити функції лямбди виконуватися, коли щось відбувається або коли проходить певний час, робить лямбду гарним і поширеним способом отримання стійкості та уникнення виявлення.
Ось кілька ідей, щоб зробити вашу присутність в AWS більш непомітною, створюючи лямбди.

  • Кожного разу, коли створюється новий користувач, лямбда генерує новий ключ користувача та надсилає його зловмиснику.
  • Кожного разу, коли створюється нова роль, лямбда надає права на прийняття ролі скомпрометованим користувачам.
  • Кожного разу, коли генеруються нові журнали cloudtrail, видаляйте/змінюйте їх

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