Автоматизированная платформа эмуляции противника
Caldera™ — это платформа кибербезопасности, предназначенная для простой автоматизации эмуляции противника, помощи в ручных red-team операциях и автоматизации реагирования на инциденты.
Она построена на основе фреймворка MITRE ATT&CK™ и является активным исследовательским проектом MITRE.
Фреймворк состоит из двух компонентов:
⭐ Создайте свой собственный плагин! Генератор плагинов: Skeleton ⭐
Эти плагины поддерживаются и сопровождаются командой Caldera.
Эти плагины готовы к использованию, но не включены по умолчанию и не сопровождаются командой Caldera.
Эти требования относятся к компьютеру, на котором запускается ядро фреймворка:
Примечание: мы НАСТОЯТЕЛЬНО рекомендуем устанавливать Caldera в виртуальное окружение Python, чтобы избежать проблем с пакетами pip. Вы можете использовать существующее окружение или создать новое с нуля:
python3 -m venv .calderavenv
source .calderavenv/bin/activate
Краткие шаги установки:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
pip3 install -r requirements.txt
python3 server.py --insecure --build
Полные шаги: Начните с рекурсивного клонирования этого репозитория, указав нужную версию/релиз в формате x.x.x. Это загрузит все доступные плагины.
git clone https://github.com/apache/caldera.git --recursive --tag x.x.x
Затем установите зависимости PIP:
pip3 install -r requirements.txt
Наконец, запустите сервер.
python3 server.py --insecure --build
Флаг --build автоматически устанавливает все зависимости VueJS UI, собирает UI в каталог dist, и он обслуживается сервером Caldera. Вам придётся снова использовать флаг --build только если вы добавите какие-либо плагины или внесёте какие-либо изменения в UI. После запуска войдите на http://localhost:8888, используя учётные данные по умолчанию red/admin. Затем перейдите в Plugins -> Training и пройдите обучающий курс в стиле capture-the-flag, чтобы научиться использовать Caldera.
Если вы предпочитаете не использовать новый VueJS UI, вернитесь к Caldera v4.2.0. Соответственно, не используйте флаг --build для более ранних версий, так как он не требуется.
Кроме того, обратите внимание на рекомендации по безопасности при развёртывании Caldera.
Локальная сборка:
git clone https://github.com/apache/caldera.git --recursive
cd caldera
docker build --build-arg VARIANT=full -t caldera .
docker run -it -p 8888:8888 caldera
Настройте проброс портов (-p) и аргументы сборки (--build-arg) по желанию, чтобы сделать порты доступными или изменить вариант Caldera. Порты, которые вы открываете, зависят от того, какие контакты вы планируете использовать (см. Dockerfile и docker-compose.yml для справки).
Готовый образ (из GitHub Container Registry):
docker run -p 8888:8888 ghcr.io/apache/caldera:latest
Этот контейнер может быть немного устаревшим, мы рекомендуем собрать контейнер самостоятельно.
Чтобы корректно завершить работу вашего docker-контейнера, выполните следующее:
# Find the container ID for your docker container running Caldera
docker ps
# Stop the container
docker stop <container ID>
Доступны два варианта: full и slim. Вариант slim не включает файлы, необходимые для плагинов emu и atomic, которые будут загружены по требованию, если эти плагины когда-либо будут включены. Вариант full подходит для работы в средах без подключения к интернету. Slim-образы на GHCR имеют префикс "slim".