Установка honeypot на прикладі opensource honeyd, j3qx

Установка honeypot на прикладі OpenSource Honeyd

Honeypots є новою цікавою технологією. Вони дозволяють нам брати ініціативу в свої руки і вивчати роботу хакерів. В останні кілька років зростає інтерес до цієї технології. Мета цієї статті - розповісти вам про honeypots і продемонструвати їх можливості. Ми почнемо з обговорення, що таке honeypots і як вони працюють, потім перейдемо до OpenSource рішенням Honeyd.

Жодне з рішень не перевищує інше, все залежить від того, чого ви хочете досягти. У цій статті ми сконцентруємо увагу на виробничих honeypots. Щоб дізнатися більше про дослідницькі honeypots, ви можете почати з статті Know Your Enemy: Honeynets проекту Honeynet.

Щоб краще зрозуміти цінність виробничих honeypots, ми будемо використовувати модель безпеки Bruce Schneier'а, а саме три рівня запобігання, виявлення і відповіді. Honeypots можуть застосовуватися до всіх трьох рівнях. Для запобігання honeypots можуть використовуватися при уповільненні або зупинці автоматизованих атак. Наприклад, honeypot LaBrea Tarpit використовується для уповільнення автоматизованих TCP атак, наприклад черв'яків. Проти зломщиків-людей, для запобігання атак, honeypots можуть використовувати психологічна зброя, таке як обман і залякування (наприклад, Fred Cohen's site).

І нарешті, виробничі honeypots можуть використовуватися для відповіді на атаку. Якщо зломщик зламав мережу вашої організації і одна з систем, яку він зламав, виявилася honeypot, інформація, зібрана з цієї системи, може використовуватися для відповіді на атаку. Honeypots можуть також використовуватися для викриття та ідентифікації нападника після того, як він одного разу побував у вашій організації. Для більш всебічного вивчення honeypots ви можете прочитати книгу Honeypots: Tracking Hackers.

Тепер, коли ви маєте краще уявлення про технології honeypot, давайте створимо один з них. Ми збираємося використовувати OpenSource рішення Honeyd, яке розроблено та підтримується Niels Provos. Honeyd розроблений для використання в Unix'ов операційних системах, таких як OpenBSD або Linux; проте незабаром буде адаптований і до Windows. Оскільки це рішення OpenSource, воно не тільки безкоштовно, але ми також маємо повний доступ до вихідного коду, що знаходиться під ліцензією BSD.

За замовчуванням, Honeyd може виявити (і запротоколювати) будь-яку активність на будь-якому UDP або TCP порту, а також ICMP активність. Вам не потрібно створювати сервіс або прослуховувати порт, до якого ви хочете контролювати підключення, Honeyd робить це все за вас. Однак, працюючи з Honeyd, Ви маєте додаткову можливість не тільки виявляти атаки, але і створювати емуляції сервісів, які взаємодіють з хакером заздалегідь певним чином. Наприклад, ви можете створити FTP скрипт, який буде емулювати wu-ftpd демон під Linux, або Telnet з'єднання до маршрутизатора Cisco. Ці емулюватися сервіси обмежені тим, що вони мають заздалегідь певну поведінку. Такий скрипт може бути написаний майже на будь-якій мові, такому як Perl, Shell, або Expect. У момент написання цієї статті, Honeyd мав сім емулюючий сервісів, з яких ви можете вибирати. Оскільки Honeyd є відкритим кодом, ви можете створювати і надавати свої власні сервіси. Нижче знаходиться приклад сервісу, емулює маршрутизатор Cisco. У цьому випадку, коли хакер підключається до Honeyd honeypot, він вирішить, що підключився до маршрутизатора Cisco.

Ця атака повинна бути виявлена ​​і запротокольовано. Honeyd протоколює як спроби приєднання, так і закриття з'єднання. Скрипт також емулює роботу сервісу.

Щоб встановити Honeyd, нам потрібно скомпілювати і використовувати дві утиліти: Arpd і Honeyd. Honeyd не може все робити сам і вимагає допомоги Arpd. Arpd використовується для ARP спуфинга; він спостерігає неиспользуемое IP простір і направляє атаки до Honeyd honeypot. Honeyd не має можливості направляти атаки до себе, він може тільки взаємодіяти з хакерами. Команди для їх запуску представлені нижче. Мережі в цих командах задаються ті, які повинен моніторити Arpd і обробляти Honeyd. У нашому прикладі, ми хочемо, щоб honeypot контролював неиспользуемое IP простір в підмережі 192.168.1.0/24.

honeyd -p nmap.prints -f honeyd.conf 192.168.1.0/24

Починається він з створення різних типів комп'ютерів, які ви хочете емулювати, то що в Honeyd називається шаблонами. Ці шаблони визначають поведінку кожної імітованого операційної системи. У цьому файлі конфігурації ми створили два різних емулюючий комп'ютера: default і router. Перше, що необхідно зробити в кожному шаблоні, це задати «personality»; це те, що операційна система буде емулювати на рівні IP стека. Опис типу ОС береться з бази даних відбитків Nmap. У шаблоні default, ми присвоїли personality «Windows NT 4.0 Server SP5-SP6», а в шаблоні router ми маємо personality «Cisco 4500-M running IOS 11.3 (6) IP Plus». Зверніть увагу, що personality не впливає на поведінку емулюватися сервісу, а тільки на IP стек. Для емулювання сервісів, вам необхідно вибрати різні скрипти, в залежності від того, який тип ОС ви хочете емулювати. Іншими словами, якщо ваш personality - Windows, не використовуйте скрипт Apache на порте HTTP. Замість цього встановіть краще на порт HTTP скрипт IIS.

Наступним кроком необхідно задати поведінку кожного порту. Ви можете або задати специфічне поведінки для кожного порту, або задати загальну поведінку. Наприклад, в шаблоні default, ми задали всім TCP портів поведінку reset, таким чином вони будуть на всі спроби приєднання відповідати RST (порти UDP, ICMP недосяжні). Інші опції - open (надсилатиме у відповідь ACK, або нічого для UDP) або block (не відповідатиме на TCP і UDP запити). Четвертою опцією є використання скриптів для емуляції сервісів. У разі шаблону default, ми прив'язали скрипти до портів 21, 80 і 110. Ці скрипти запускаються і взаємодіють з хакером. У вас також є можливість перенаправити спроби приєднання до іншої системи, або навіть до зломщикові. У шаблоні default, ми перенаправляємо все SSH приєднання назад до хакеру. Існує також безліч інших просунутих можливостей Honeyd, таких як створення віртуальної маршрутизуються мережі і підроблених тимчасових відміток, але детальне пояснення знаходиться за рамками цієї статті.

(C) Михайло Разумов, за матеріалами SecurityFocus