Наш ассоциированный член www.Bikinika.com.ua

Представляємо підтримку Linux для FakeNet-NG: Інструмент аналізу динамічних мереж нового покоління FLARE

  1. Вступ У 2016 році FLARE введений FakeNet-NG - інструмент аналізу мережі з відкритим вихідним...
  2. Повість про два режими
  3. Налаштування FakeNet-NG на Linux
  4. Запуск FakeNet-NG на Linux
  5. Висновок

Вступ

У 2016 році FLARE введений FakeNet-NG - інструмент аналізу мережі з відкритим вихідним кодом, написаний на Python. FakeNet-NG дозволяє аналітикам безпеки спостерігати та взаємодіяти з мережевими додатками, використовуючи стандартні або спеціальні протоколи на одному хості Windows, що особливо корисно для аналізу шкідливих програм і зворотного проектування. З моменту випуску FakeNet-NG компанія FLARE додала підтримку додаткових протоколів. FakeNet-NG тепер має підтримку DNS, HTTP (включаючи BITS), FTP, TFTP, IRC, SMTP, POP, TCP, UDP, а також SSL.

Спираючись на цю роботу, FLARE тепер привів FakeNet-NG до Linux. Це дозволяє аналітикам виконувати базовий динамічний аналіз або на одному хості Linux, або використовуючи окремий присвячений апарат так само, як INetSim. INetSim зробив дивовижний внесок у продуктивність спільноти безпеки і залишається інструментом вибору для багатьох аналітиків. Тепер FakeNet-NG надає аналітикам крос-платформенний інструмент для аналізу шкідливих програм, який може безпосередньо інтегруватися з усіма великими інструментами на основі інфосека на основі Python, які постійно з'являються в цій галузі.

Отримання та встановлення FakeNet-NG на Linux

Якщо ви працюєте REMnux , то гарна новина: REMnux тепер поставляється з FakeNet-NG, і існуючі користувачі можуть отримати його за допомогою команди update-remnux.

Для інших дистрибутивів Linux, налаштування та використання FakeNet-NG вимагатиме менеджера пакунків Python, пакету net-tools і файлів розробки для OpenSSL, libffi і libnetfilterqueue. Ось як швидко отримати відповідні передумови для кількох поширених дистрибутивів Linux:

  • Debian та Ubuntu: sudo apt-get встановлюють python-pip python-dev libssl-dev libffi-dev libnetfilter-queue-dev net-tools
  • Fedora 25 і CentOS 7:
    • yum -y update;
    • yum -y встановити епель-реліз; # <- Якщо CentOS
    • yum -y встановити redhat-rpm-config; # <- Якщо Fedora
    • yum -y groupinstall 'Інструменти розробки'; yum -y встановити python-pip python-devel net-tools libffi-devel libnetfilter_queue-devel

Як тільки у вас є передумови, ви можете завантажити останню версію FakeNet-NG і встановіть його за допомогою установки setup.py.

Повість про два режими

У Linux FakeNet-NG можна розгортати в режимі MultiHost на окремому хості, призначеному для моделювання мережі, або в експериментальному режимі SingleHost для локального аналізу програмного забезпечення. Windows підтримує лише режим SingleHost. FakeNet-NG за замовчуванням налаштований для запуску в NetworkMode: Auto, який автоматично вибирає режим SingleHost в режимі Windows або MultiHost на Linux. У таблиці 1 перелічено поточні підтримувані налаштування NetworkMode за допомогою операційної системи.

SingleHost

MultiHost

Windows

Стандартний (авто)

Не підтримується

Linux

Експериментальна

Стандартний (авто)

Таблиця 1: Підтримка мережі FakeNet-NG на платформі

Підтримка FakeNet-NG для режиму SingleHost на Linux наразі має обмеження.

По-перше, FakeNet-NG ще не підтримує умовне перенаправлення конкретних процесів, хостів або портів на Linux. Це означає, що такі параметри, як ProcessWhiteList, не працюватимуть, як очікувалося. Ми плануємо додати підтримку цих налаштувань у подальшому випуску. Тим часом режим SingleHost підтримує переадресацію всього трафіку, прив'язаного до Інтернету, до місцевих слухачів, що є основним прикладом використання аналітиків зловмисних програм.

По-друге, бібліотека python-netfilterqueue жорстко закодована для обробки дейтаграм довжиною не більше 4,012 октетів. Інтерфейси петлі зазвичай налаштовуються з параметрами високої максимальної одиниці передачі (MTU), які дозволяють певним програмам перевищувати цей жорстко обмежений рівень, що призводить до непередбаченої поведінки мережі. Прикладом мережевої програми, яка може виявляти проблеми через це, буде велика передача файлів через FTP. Обхідний шлях полягає в тому, щоб перекомпілювати python-netfilterqueue з великим розміром буфера або зменшити MTU для петлевого інтерфейсу (тобто lo) до 4,012 або менше.

Налаштування FakeNet-NG на Linux

На додаток до нової налаштування NetworkMode, підтримка Linux для FakeNet-NG представляє такі специфічні для Linux елементи конфігурації:

  • LinuxRedirectNonlocal: Для режиму MultiHost це налаштування визначає список розділених комами мережевих інтерфейсів, для яких перенаправлятиме весь трафік на локальний хост, щоб FakeNet-NG могла відповісти на нього. Параметр за замовчуванням у конфігурації FakeNet-NG є *, який налаштовує FakeNet-NG для перенаправлення на всі інтерфейси.
  • LinuxFlushIptables: видаляє всі правила iptables перед додаванням правил для FakeNet-NG. Оригінальні правила відновлюються як частина послідовності вимкнення FakeNet-NG, яка запускається при натисканні Ctrl + C. Це зменшує ймовірність конфліктуючих, помилкових або дублюючих правил у випадку несподіваного завершення, а також увімкнено у конфігурації за замовчуванням FakeNet-NG.
  • LinuxFlushDnsCommand: Вказує команду для очищення кешу DNS-резольвера. При використанні FakeNet-NG в режимі SingleHost на Linux, це забезпечує переадресацію запитів на ім'я до служби DNS, такої як DNS-слухач FakeNet-NG, замість використання кешованих відповідей. Налаштування не застосовується до всіх дистрибутивів Linux, але за замовчуванням заповнюється правильною командою для Ubuntu Linux. Зверніться до документації вашого дистрибутива для належної команди для цієї поведінки.

Запуск FakeNet-NG на Linux

Перш ніж використовувати FakeNet-NG, також обов'язково відключіть будь-які служби, які можуть прив'язати до портів, відповідних слухачам FakeNet-NG, які ви плануєте використовувати. Прикладом є використання Ubuntu локальної служби dnsmasq. Ви можете скористатися netstat для пошуку таких служб і повинні звернутися до документації вашого дистрибутива Linux, щоб визначити, як їх вимкнути.

Ви можете запустити FakeNet-NG, викликавши fakenet з привілеями root, як показано на малюнку 1. \ t

Рисунок 1: Запуск FakeNet-NG на Linux
Рисунок 1: Запуск FakeNet-NG на Linux

Ви можете змінити конфігурацію FakeNet-NG, або безпосередньо редагуючи файл, відображений у першому рядку виводу FakeNet-NG, або створивши копію та вказавши його розташування за допомогою командного рядка -c.

Висновок

FakeNet-NG тепер приносить зручність сучасного інструменту моделювання мереж, орієнтованого на Python, на Linux, підтримуючи повний набір слухачів, які доступні на FakeNet-NG для Windows. Користувачі REMnux вже можуть використовувати FakeNet-NG, в той час як користувачі інших дистрибутивів Linux можуть завантажити та встановити з використанням стандартних інструментів керування пакетами.

Новости