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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Lambda
Для отримання додаткової інформації перегляньте:
Lambda Layer Persistence
Можливо ввести/задній доступ до шару для виконання довільного коду під час виконання лямбди в прихований спосіб:
AWS - Lambda Layers Persistence
Lambda Extension Persistence
Зловживаючи Lambda Layers, також можливо зловживати розширеннями та зберігатися в лямбді, а також красти та змінювати запити.
AWS - Abusing Lambda Extensions
Via resource policies
Можливо надати доступ до різних дій лямбди (таких як виклик або оновлення коду) зовнішнім обліковим записам:
.png)
Versions, Aliases & Weights
Лямбда може мати різні версії (з різним кодом для кожної версії).
Потім ви можете створити різні псевдоніми з різними версіями лямбди та встановити різні ваги для кожної.
Таким чином, зловмисник може створити задньодоступну версію 1 та версію 2 лише з легітимним кодом і виконувати версію 1 лише в 1% запитів, щоб залишатися непоміченим.
.png)
Version Backdoor + API Gateway
- Скопіюйте оригінальний код лямбди
- Створіть нову версію з заднім доступом до оригінального коду (або просто з шкідливим кодом). Опублікуйте та виконайте цю версію на $LATEST
- Викличте API gateway, пов'язаний з лямбдою, щоб виконати код
- Створіть нову версію з оригінальним кодом, опублікуйте та виконайте цю версію на $LATEST.
- Це приховає код з заднім доступом у попередній версії
- Перейдіть до API Gateway і створіть новий метод POST (або виберіть будь-який інший метод), який виконає версію лямбди з заднім доступом:
arn:aws:lambda:us-east-1:<acc_id>:function:<func_name>:1
- Зверніть увагу на фінальне :1 в arn яке вказує на версію функції (версія 1 буде версією з заднім доступом у цьому сценарії).
- Виберіть створений метод POST і в Actions виберіть
Deploy API
- Тепер, коли ви викликаєте функцію через 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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.