Defbox обучает инженеров находить и реагировать на киберугрозы. Мы запускаем уязвимую инфраструктуру, которую можно изучать и нужно защитить. Прохождение наших лаб обучит находить кибергурозы, писать детектирующие правила - все это поможет вам быстро начать работу с любой SIEM системой.
У нас есть:
6 разных лаб - каждый пользователь получает свою собственную инфраструктуру
Разные атаки - уникальные для каждой лабы
Отдельная система сбора логов (ELK) для каждой лабы
Хелсчеки лаб - мы показываем пользователям состояние здоровья лабы
Мы делаем так чтобы вы изучили наши лабы перед тем как их защищать
Таймлайн событий внутри лабы
Достижения
Общая и приватная скорборды
Я давно хотел создать площадку для инженеров, желающих развиться в области defensive security. Есть много развитых площадок для тренировки offensive умений, но нет хороших площадок где я бы мог посмотреть насколько я умею писать правила. Для этого я сделал defbox - место где можно посмотреть на кибер атаку в реальном времени и проверить насколько хорошо ты умеешь справляться с той или иной атакой. Проект все еще в разработке, мы развиваем его и добавляем новые фичи по фидбеку пользователей. Любое участие приветствуется
Выделенные лабы
Defbox построен вокруг выделенных лаб. Каждый раз когда вы запускаете лабу, Defbox создает выделенное окружение специально для вас. Мы запускаем виртуальные машины, устанавливаем на них софт, даем вам доступ в отдельный ELK чтобы смотреть что происходит на машинах в реальном времени.
Вот так выглядит одна лабораторная работа на экране выбора лаб:
![Мы даем описание лабы, приблизительную схему взаимодействия компонент и даем приблизительное время запуска Мы даем описание лабы, приблизительную схему взаимодействия компонент и даем приблизительное время запуска](https://habrastorage.org/getpro/habr/upload_files/b75/2b1/40b/b752b140b94ffb42eb7fc6d826579eab.png)
После запуска лабы мы начинаем собирать информацию о ее здоровье. Проверки уникальные для каждой лабы, а в их описании могут быть подсказки чего ожидать во время атаки. Проверки здоровья происходят раз в несколько минут. Из-за того что Лаба существует на самом деле, пользователь может даже попробовать нарушить ее работу сам - если это получится, то проверка не пройдет и мы это честно покажем.
![Мы стараемся быть как можно точнее в описании наших хелсчеков. Мы стараемся быть как можно точнее в описании наших хелсчеков.](https://habrastorage.org/getpro/habr/upload_files/363/331/413/36333141318c6467090600dd5b4d4125.png)
У нас есть два типа лаб:
Простые лабы с одной виртуальный машиной и единственной уязвимостью. Это лабы вроде SSH с простым паролем или PostgreSQL с дефолтным пользователем. Такие лабы довольно интересные и их легко добавлять - поэтому у нас есть несколько таких лаб
Сложные лабы, состоящие из нескольких взаимосвязанных виртуальных машин. Мы создаем целую историю для каждой такой лабы, вместе со сложными атаками. На данный момент мы тестируем две таких лабы - систему приема платежей и сервис по хранению заметкок. В наших планах увеличивать эти лабы, добавляя в них уязвимости и виртуальные машины.
Исследование лаб
Сложно сразу начать защищать неизвестную систему. Сначала мы предоставляли только ELK, в который сыпались логи с лабы. Без подробной информации о том что внутри лабы, какие виртуальные машины там находятся. Я думал что так можно стимулировать пользователя изучить лабу самому. Это не сработало, и сейчас мы сделали концепцию "Хайлайтов".
Хайлайты - это кусочки информации о лабе, которую пользователь может добавлять на ее странице. Хайлайты решают 2 проблемы:
Найденные хайлайты напоминают вам о том, что вы уже нашли в лабе
В процессе поиска хайлайтов вы знакомитесь с лабой
![Вот так выглядят хайлайты на экране лабы Вот так выглядят хайлайты на экране лабы](https://habrastorage.org/getpro/habr/upload_files/a6f/671/fee/a6f671fee2949af9402277ec500aed03.png)
Атаки
Внутри каждой лабы есть уязвимости. Эти уязвимости можно попробовать проэксплуатировать самому, или нажать на кнопку чтобы defbox сам их проэксплуатировал в реальном времени.
Каждая атака это уникальный набор инструкций, выполненных на специально созданной для атаки виртуальной машине. Это значит что адрес атакующего и время атаки всегда будут отличаться.
Если атакует defbox, то все события атаки записываются и показываются пользователю в реальном времени
![Мы показываем все шаги атаки и детекты, если они были Мы показываем все шаги атаки и детекты, если они были](https://habrastorage.org/getpro/habr/upload_files/950/dbc/ebf/950dbcebf2524c1e92790381110ed46d.gif)
Атаку можно увидеть и в системе сбора логов:
![На каждой виртуалке установлен filebeat и auditbeat, которые отправляют события в ELK На каждой виртуалке установлен filebeat и auditbeat, которые отправляют события в ELK](https://habrastorage.org/getpro/habr/upload_files/7f8/8ff/939/7f88ff93973b3f818b248bc3d7fcfdc5.jpeg)
Некоторые лабы могут быть атакованы по разному. В таком случае мы даем вам выбрать как вы хотите ее атаковать:
![Варианты атаки для одной из лаб Варианты атаки для одной из лаб](https://habrastorage.org/getpro/habr/upload_files/269/a2c/31b/269a2c31b76aa99e74a6f479ed393f36.png)
Детекты
Нужно детектировать атаку быстро чтобы пройти лабу. Чтобы система засчитала ваш детект, вам нужно сделать POST запрос на уникальный урл, который показан вам на странице лабы.
Такой запрос можно сделать либо вручную, либо настроить ELK так чтобы он автоматически делал этот запрос когда создает Алерты.
В дальнейшем мы дадим пользователям доступ к виртуальным машинам чтобы они могли исправить уязвимости до атаки.
![Мы даем все инструкции о том как создавать правила и настраивать ELK на отправку нужных запросов Мы даем все инструкции о том как создавать правила и настраивать ELK на отправку нужных запросов](https://habrastorage.org/getpro/habr/upload_files/3a3/644/47c/3a364447c16bef9bc5fd0df3f575cc7b.png)
Достижения
Наши лабы должны быть интересными. Лабы содержат в себе хайлайты, поиск которых проводит вас по лабе и знакомит с тем как она работает. Мы также награждаем пользователей достижениями чтобы подчеркнуть ваши усилия:
Вы нашли все хайлайты в лабе
Вы детектировали атаку в течение минут
Вы находитесь в топе пользователей
Вы каким-либо образом поддерживаете defbox
На странице профиля мы показываем ваши достижения:
![Скоро у каждого достижения будет свой уникальный значок Скоро у каждого достижения будет свой уникальный значок](https://habrastorage.org/getpro/habr/upload_files/5b4/c7e/eca/5b4c7eeca61e445772b351cfeb0c9b43.png)
Обо мне
Меня зовут Михаил Аксенов. Я разработчик, увлекающийся DevSecOps. Я понимаю DevSecOps как культуру плотного и плоского взаимодействия разработки, администрирования и безопасности, при которой каждый участник может участвовать в смежных активности.
Для того чтобы стимулировать такой практический подход к безопасности я решил сделать Defbox - такой тренажер который бы требовал от пользователя понимания сразу нескольких смежных областей около безопасности.
Участие в проекте
Проект в активной стадии разработки. Мы будем благодарны любой помощи:
Идеи для новых лаб. Чтобы создать лабу нам нужно только число виртуальных машин и скрипты, которые на них нужно запустить. То же самое для атаки. Мы даже можем создать интерфейс для добавления новых лаб пользователями, если это будет нужно.
Feature-реквесты
Баги
Любой фидбек
Все пожелания вы можете написать мне на почту (m@defbox.io) или в нашей телеграмм группе — https://t.me/+UBFBxHyMi9RmOWQy
Попробуйте
Сейчас наши лабы доступны бесплатно здесь - defbox.io . Мы добавим сложные лабы для наших подписчиков на патреоне - patreon.com/defbox или бусти - https://boosty.to/defbox
Подписчики получат
Уникальное достижение
Сложные лабы с несколькими машинами - мы будем добавлять одну такую лабу каждый месяц
Доступ к дев-блогу
Ваша поддержка даст нам возможность создать новые фичи, например
SSH-доступ до лаб, с возможностью защититься от атаки
Система сезонов и соревнований с наградами для лучших игроков
Лабы с Windows
RDP доступ к машинам
Лабы со сложной топологией сети
Сотрудничество
Если Вы представляете организацию и заинтересованы в сотрудничестве - пишите на почту m@defbox.io
Мы можем создать кастомные лабы чтобы учить ваших сотрудников
Disclaimer
Мы еще на ранней стадии разработки. Это означает 2 вещи:
Проект может поменяться
Возможны баги, или вещи которые сложно понять - например плохие описания лаб или недостаток подсказок. Пожалуйста, дайте нам знать о таких вещах и мы их обязательно исправим