AWS - Lambda Persistence

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Lambda

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

pageAWS - Lambda Enum

Lambda Layer Persistence

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

pageAWS - Lambda Layers Persistence

Lambda Extension Persistence

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

pageAWS - Abusing Lambda Extensions

Через політики ресурсів

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

Версії, Псевдоніми та Ваги

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

Задній код версії + API Gateway

  1. Скопіюйте оригінальний код лямбди

  2. Створіть нову версію з заднім кодом оригінального коду (або лише з шкідливим кодом). Опублікуйте та розгорніть цю версію на $LATEST

  3. Викличте API-шлюз, пов'язаний з лямбдою, щоб виконати код

  4. Створіть нову версію з оригінальним кодом, Опублікуйте та розгорніть цю версію на $LATEST.

  5. Це приховає задній код у попередній версії

  6. Перейдіть до API-шлюзу та створіть новий метод POST (або виберіть будь-який інший метод), який буде виконувати версію лямбди з заднім кодом: arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1

  7. Зверніть увагу на останній :1 у arn вказує на версію функції (версія 1 буде задньою у цьому сценарії).

  8. Виберіть створений метод POST та в діях виберіть Розгорнути API

  9. Тепер, коли ви викликаєте функцію через POST, ваш задній код буде викликаний

Актуатор Cron/Event

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

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

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

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

Last updated