Статья Разбираем, расставляем honeypots для поимки хищников, атакующих нашу инфраструктуру. [Part 1]

Admin

Администратор

Разбираем, расставляем honeypots для поимки хищников, атакующих нашу инфраструктуру. [Part 1]​


Создаём honeypot в корпоративной сети, анализируя угрозы.
Honeypot — опция, предназначенная для отвлечения внимания злоумышленников и анализа их действий внутри вашей инфраструктуры при попытке воздействия на неё. Данная опция важна для выявления уязвимостей, а так же позволяет протестировать системы безопасности и собрать данные об актуальных методах атак на вашу сферу деятельности и корпоративную сеть.
1768077257210


Подготовка.
Для начала необходимо определить тип honeypot.
В основном, выделяются 2 типа:
1. Низкоуровневый(Low-Interaction), эмулирующие ограниченное количество сервисов и служб, не предоставляя полноценное окружение.
- Реагирует, например, на взаимодействия с SSH / HTTP.
- Собирает аналитические данные без вреда для основной системы.
- Прост в установке и не требует большого количества ресурсов.

2. Высокоуровневый(High-Interaction), предоставляющие полноценное окружение с реальными операционными системами и сервисами, позволяя взаимодействовать с системой так, как если бы это была настоящая цель.
- Полноценные виртуальные машины или контейнеры с установленными сервисами и приложениями.
- Получение более обширных аналитических данных, а так же детальной информации о компрометации и пост-эксплуатации.
- Возможность мониторинга атак и логгирования действий.

Low-Interaction.
Для низкоуровневых honeypot мы будем использовать Cowrie, который позволит нам имитировать SSH и Telnet.

1. Установим необходимые пакеты.

Bash:
sudo apt install git python3 python3-pip python3-virtualenv -y

2. Копируем репозиторий Cowrie.

Bash:
git clone https://github.com/cowrie/cowrie.git

Bash:
cd cowrie

3. Создаём виртуальное окружение Cowrie.

Bash:
virtualenv cowrie-env

Bash:
source cowrie-env/bin/activate

4. Устанавливаем зависимости.

Bash:
pip install -r requirements.txt

На этом мы установили Cowrie на нашу Linux систему, однако нам необходимо теперь так же её настроить, чтобы по итогам конфигурации мы получали необходимый результат.

5. Редактируем конфигурационный файл.

Bash:
nano cowrie.cfg

Нам необходимо изменить следующие параметры:
1. hostname - задаём имя honeypot.
2. listen_port - указываем порт, который будет "прослушиваться" с помощью honeypot (например, 2222 или 22 для SSH).

6. Сохраняем изменения в конфигурации.

7. Делаем, чтобы Cowrie запускался как служба.

Для этого создадим файл типа systemd.

Bash:
sudo nano /etc/systemd/system/cowrie.service

После этого необходимо добавить следующее содержимое:


Код:
[Unit]
Description=Cowrie SSH/Telnet Honeypot
After=network.target

[Service]
Type=simple
User=your_username # Замените на имя пользователя
WorkingDirectory=/path/to/cowrie # Укажите путь к каталогу cowrie
ExecStart=/path/to/cowrie/cowrie-env/bin/python3 /path/to/cowrie/bin/cowrie start
Restart=on-failure

[Install]
WantedBy=multi-user.target


Не забываем заменить "/path/to/cowrie" на фактический путь к директории.

8. Запускаем сервис и настраиваем автозагрузку.

Bash:
sudo systemctl start cowrie.service

sudo systemctl enable cowrie.service

9. Проверяем статус работы системы.
Bash:
sudo systemctl status cowrie.service

При успешном отклике мы можем считать настройку успешной. Однако, нам важно анализировать данные, которые позволят нам корректировать собственные защитные линии. Все логи хранятся по пути: cowrie/log

Поэтому, для просмотра действий с honeypot в вашей инфраструктуре используем:

Bash:
tail -f cowrie/log/cowrie.log


High-Interaction.
Для высокоуровневых honeypot мы будем использовать более комплексный инструмент, поэтому для примера возьмём Dionaea.

1. Установим необходимые для работы пакеты.

Bash:
sudo apt update
sudo apt install git build-essential python3 python3-pip python3-dev libssl-dev \
libffi-dev libtool automake autoconf libglib2.0-dev libpcap-dev \
libsqlite3-dev libcurl4-openssl-dev libgcrypt20-dev libnetfilter-queue-dev \
libnetfilter-conntrack-dev

2. Копируем репозиторий Deonaea.

Bash:
git clone https://github.com/DinoTools/dionaea.git
cd dionaea

3. Компилируем Dionaea.

Bash:
./autogen.sh
./configure
make

4. Проводим настройку конфигурационного файла.

Обычно файл находится по адресу dionaea/etc/dionaea.conf, но применим команду:

Bash:
nano etc/dionaea.conf

Необходимо уделить внимание важным параметрам:
- [http]: Настройки HTTP. Например: "port = 80"
- [ftp]: Настройки FTP. Например: "port = 21"
- [sip]: Настройки SIP (если это применимо).
- [logging]: Настройки логирования. Например: "logfile = /var/log/dionaea.log"

5. Создаем базу данных SQLite.

Dionaea использует MySQL и SQLite для хранения данных, поэтому рассмотрим создание именно второго варианта.

Bash:
mkdir -p /var/lib/dionaea
touch /var/lib/dionaea/dionaea.sqlite
Не забываем проверить, что у Dionaea есть права записи:

Bash:
sudo chown -R $(whoami):$(whoami) /var/lib/dionaea

6. Запускаем Dionaea.

Bash:
sudo ./dionaea/dionaea -c etc/dionaea.conf

7. Добавляем опцию автозапуска системы.

Bash:
sudo nano /etc/systemd/system/dionaea.service

Добавляем следующие строки:

[Unit]
Description=Dionaea Honeypot

[Service]
Type=simple
ExecStart=/path/to/dionaea/dionaea -c /path/to/dionaea/etc/dionaea.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

Не забываем заменить "/path/to/dionaea/" на нужный нам путь.

8. Активируем и запускаем сервис.

Bash:
sudo systemctl enable dionaea.service

sudo systemctl start dionaea.service

9. Логирование.

Как и в случае с Cowrie, мы используем аналогичную команду для просмотра логов:

Bash:
tail -f /var/log/dionaea.log


Complexity is the key.
Мы рассмотрели опцию настройки honeypot для высокоуровневых и низкоуровневых типов. Однако, подобные решения скорее представляют из себя точечные или даже костыльные меры, поскольку требуют довольно много настроек и внимания со стороны master-user, а так же скорее направлены на какой-то конкретный раздел.

В качестве комплексного решения для обеспечения безопасности вашей инфраструктуры, с точки зрения обеспечения корпоративной кибебезопасности, можно использовать такой инструмент как Illusive Shadow(Proofpoint).

Поскольку Illusive Shadow имеет возможность имитации различных сетевых сервисов таких как SSH, HTTP и FTP для привлечения внимания, а также приложений, то этот инструмент, за счёт удобных опций настройки является одним из оптимальных решений.

Помимо самого варианта создания honeypot'ов, каждый сотрудник ИБ и знтузиаст может найти для себя и другие функции, которые будут полезны в процессе работы над обеспечением безопасности систем:
- Сбор данных для последующего анализа.
Платформа собирает данные о IP, типах угроз, используемых инструментах.
- Имеет интеграцию AI+ML, что позволяет адаптировать поведение защиты в случае угрозы.
- Интеграция с SIEM для получения обширного спектра возможностей интеграции с текущими системами безопасности для централизованного мониторинга.

Однако, считаю, что настройке такой системы должна быть посвящена отдельная статья.

Заключение.
Использование honeypot как меры обеспечения безопасности может сослужить хорошую службу, исходя из всех аналитических данных. Поскольку есть вариация использования таких ловушек для отвлечени внимания, теста гипотез, определения векторов атак, оптимизации работы системы безопасности, то понимание принципов работы и вытекающие отчёты являются клдчами в общей связке для достижения необходимого уровня безопасности организации.