Telegram

Смотри на t.me/kiberdruzhinnik/129.

Что имеем

  • нам развернули Elasticsearch и Kibana, в который льются логи с помощью filebeat и auditbeat
  • в каждой лабораторной работе есть Highlights, которые позволяют нам изучать систему с помощью наводящих вопросов
  • еще нам выдали приложение на Flask, которое содержит RCE
  • нужно писать правила в ELK, которое при сработке будет отправлять webhook - аналог флагов

Приложение

Alt text

Попробуем потыкаться в него и поймем, что у приложения есть 2 эндпоинта:

  • /create - для создания заметки
  • /note - для поиска заметки

ELK

Для начала перейдем в ELK в раздел Discover.

Чтобы понять, из-под какого пользователя запущен сервис, добавим следующие поля:

  • process.name
  • process.args
  • user.name

Прокрутим в самое начало и увидим пользователя notebook:

Alt text

Атака #1: Reverse shell & service DoS

Запустим первую атаку Reverse shell & service DoS.

После атаки находим обращение на эндпоинт /create и обнаруживаем лог-файл /var/log/tiffany.log.

Alt text

Атака происходит в 14:40, ищем по таймлайну события около этого времени. Обнаруживаем запуск реверс-шелла:

Alt text

Так же мы видим, что наш сервис остановлен. Это может свидетельствовать об остановке с помощью команды systemctl:

Alt text

Попробуем написать свое правило, перейдя в Security => Manage => Rules => Create new rule. Далее выберем Custom query.

Впишем вот такое правило:

event.category: "process" and process.name: "python3" and process.args: "*shell*"

Дадим ему имя Attack #1: Python Reverse Shell (и такое же описание), а частоту срабатывания правила поставим один раз в 2 минуты, в качестве действия сделаем Webhook POST-запрос на нашу ссылку, выданную в личном кабинете (в body можно вписать что угодно). Обратите внимание, что после нажатия кнопки Recreate ссылка обновится.

Аналогичным образом добавим остановку сервиса:

event.category: "process" and process.name: "systemctl" and process.args: [systemctl, stop, notebook.service]

Alt text

После этого снова жмем на атаку. Ждем 5 минут и видим сработку алерта.

Alt text