AWS - Lambda Persistence

Підтримайте 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, видаляйте/змінюйте їх

Підтримайте HackTricks

Last updated