Honeypot (іншими словами принадне середовище) — це ізольована система, яка імітує реальний сервер або сервіс з метою приваблення зловмисників.
Головна мета такого рішення — перенаправити атаку з реальних виробничих систем на контрольований периметр та детально зафіксувати методи, команди та інструменти, які використовують хакери.
Cowrie — один із найпопулярніших ханіпотів середнього та високого рівня інтерактивності. І у цьому матеріалі ми розглянемо, як його налаштувати.
Підготовка середовища
Для безпечного проведення експерименту рекомендується використовувати окрему віртуальну машину (наприклад, Ubuntu Server під управлінням Oracle VirtualBox або в хмарному середовищі).
Крок 1. Оновлення пакетів та встановлення залежностей
Перед початком роботи необхідно оновити список пакетів системи та встановити інструменти для роботи з Python, інтерпретатором, системними бібліотеками та утилітою authbind.
Виконайте оновлення індексу пакетів:
sudo apt update && sudo apt upgrade -y
Встановіть необхідний набір системних залежностей:
sudo apt-get install -y git python3-pip python3-venv libssl-dev libffi-dev build-essential libpython3-dev python3-minimal authbind
Налаштування безпечного користувача та середовища Cowrie
З міркувань безпеки категорично заборонено запускати ханіпот від імені користувача root. Захоплення контролю над процесoм із правами суперкористувача може призвести до компрометації всієї хост-системи.
Крок 2. Створення системного користувача
Створіть окремого користувача cowrie без можливості прямого входу за паролем:
sudo adduser --disabled-password cowrie
Перейдіть у сесію нового користувача:
sudo su - cowrie
Крок 3. Клонування та інсталяція Cowrie
Перебуваючи в сесії користувача cowrie, клонуйте вихідний код із офіційного репозиторію та перейдіть у робочу директорію:
git clone https://github.com/cowrie/cowrie.git
cd cowrie/
Створіть та активуйте віртуальне середовище Python:
python3 -m venv cowrie-env
source cowrie-env/bin/activate
Уточніть та обновіть внутрішні залежності Python (за потреби):
pip install --upgrade pip
pip install -r requirements.txt
Конфігурація сервісу та мережева адресація
Cowrie слухає нестандартні порти: 2222 для SSH та 2223 для Telnet. Щоб зробити пастку ефективною, нам необхідно увімкнути Telnet у конфігурації та перенаправити стандартні порти (22 та 23) на порти Cowrie.
Крок 4. Активація Telnet у конфігурації
Створіть власний файл конфігурації на основі стандартного шаблону або відредагуйте конфіг у etc/cowrie.cfg:
Переконайтеся, що секція [telnet] містить параметр активації:
[telnet]
enabled = true
Крок 5. Перенаправлення портів через iptables
Оскільки користувач cowrie не має прав прив’язуватися до портів нижче 1024, використаємо механізм NAT (PREROUTING) у iptables.
Вийдіть із сесії користувача cowrie назад до користувача з правами sudo:
exit
Виконайте правила перенаправлення трафіку зі стандартних портів на порти Cowrie:
- Перенаправлення SSH (Port 22 -> 2222):
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
- Перенаправлення Telnet (Port 23 -> 2223):
sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-port 2223
Запуск та перевірка роботи
Крок 6. Запуск Cowrie
Поверніться до користувача cowrie та запустіть демон:
sudo su - cowrie
cd cowrie/
source cowrie-env/bin/activate
bin/cowrie start
Для перевірки статусу роботи сервісу використовуйте команду:
bin/cowrie status
Симуляція атаки та аналіз логів
Для тестування функціонування пастки скористайтеся стороннім вузлом у вашій мережі (наприклад, тестовою машиною Kali Linux).
Знайдіть IP-адресу сервера з Cowrie
На хості Cowrie виконайте:
ip addr
Спроба підключення через Telnet та SSH з іншої машини
- Тест Telnet:
telnet <IP_АДРЕСА_СЕРВЕРА> 2223
- Тест SSH:
ssh -p 2222 root@<IP_АДРЕСА_СЕРВЕРА>
При спробі входу Cowrie дозволить авторизуватися за стандартними або фейковими комбінаціями логіна/пароля та надасть імітацію консолі Linux.
Моніторинг та аналіз журналів подій
Усі дії атакуючого фіксуються в режимі реального часу.
- Перегляд текстового логу в реальному часі:
tail -f ~/cowrie/var/log/cowrie/cowrie.log
- Аналіз деталізованого JSON-логу: для автоматизованого розбору або інтеграції з SIEM-системами використовується файл
cowrie.json:
cat ~/cowrie/var/log/cowrie/cowrie.json | jq .
Файл cowrie.json містить повну структуровану інформацію: IP-адресу нападника, використані словники для брутфорсу, вводимі в консоль команди та хеш-суми завантажених файлів.
Ключові висновки
- Використання ізольованого користувача без прав
rootта мінімальних привілеїв зменшує ризик виходу атакуючого за межі емульованого середовища. - Журнали дій Cowrie дають чітке уявлення про поточні автоматизовані ботнети, підбирані паролі та актуальні вектори атак на SSH/Telnet сервіси.
- Систематичний аналіз файлів
cowrie.jsonдозволяє завчасно виявляти нові методи зловмисників та вживати превентивних заходів захисту реальної інфраструктури.
Спостерігайте за блогом, щоб дізнатись більше корисного!

