Site icon IT Education Center Blog – блог навчального центру DevOps – ITEDU by NETFORCE Group

Покрокова інструкція з налаштування Honeypot Cowrie

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:

sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
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 <IP_АДРЕСА_СЕРВЕРА> 2223
ssh -p 2222 root@<IP_АДРЕСА_СЕРВЕРА>

При спробі входу Cowrie дозволить авторизуватися за стандартними або фейковими комбінаціями логіна/пароля та надасть імітацію консолі Linux.

Моніторинг та аналіз журналів подій

Усі дії атакуючого фіксуються в режимі реального часу.

tail -f ~/cowrie/var/log/cowrie/cowrie.log
cat ~/cowrie/var/log/cowrie/cowrie.json | jq .

Файл cowrie.json містить повну структуровану інформацію: IP-адресу нападника, використані словники для брутфорсу, вводимі в консоль команди та хеш-суми завантажених файлів. 

Ключові висновки

  1. Використання ізольованого користувача без прав root та мінімальних привілеїв зменшує ризик виходу атакуючого за межі емульованого середовища.
  2. Журнали дій Cowrie дають чітке уявлення про поточні автоматизовані ботнети, підбирані паролі та актуальні вектори атак на SSH/Telnet сервіси.
  3. Систематичний аналіз файлів cowrie.json дозволяє завчасно виявляти нові методи зловмисників та вживати превентивних заходів захисту реальної інфраструктури.

Спостерігайте за блогом, щоб дізнатись більше корисного!

Exit mobile version