
FakeNet-NG — Инструмент динамического анализа сети нового поколения
| ____/\ | |/ / ____| \ | | ____|__ __| | \ | |/ ____|
| |__ / \ | ' /| |__ | \| | |__ | |______| \| | | __
| __/ /\ \ | < | __| | . ` | __| | |______| . ` | | |_ |
| | / ____ \| . \| |____| |\ | |____ | | | |\ | |__| |
|_|/_/ \_\_|\_\______|_| \_|______| |_| |_| \_|\_____|
Д О К У М Е Н Т А Ц И Я
FakeNet-NG 3.5 — это инструмент динамического анализа сети нового поколения для специалистов по анализу вредоносного ПО и тестировщиков на проникновение. Он является открытым и разработан для последних версий Windows (и Linux, для определенных режимов работы). FakeNet-NG основан на отличном инструменте Fakenet, разработанном Эндрю Хонигом и Майклом Сикорски.
Инструмент позволяет перехватывать и перенаправлять весь сетевой трафик или его часть, одновременно имитируя легитимные сетевые службы. Используя FakeNet-NG, аналитики вредоносного ПО могут быстро идентифицировать функциональность вредоносного ПО и захватывать сетевые сигнатуры. Специалисты по тестированию на проникновение и исследователи уязвимостей найдут настраиваемый механизм перехвата и модульную архитектуру FakeNet-NG чрезвычайно полезными при тестировании специфической функциональности приложений и прототипировании PoC.
Вы можете установить FakeNet-NG несколькими различными способами. Обратите внимание, что описанные ниже процессы установки загрузят на вашу систему сторонние библиотеки с открытым исходным кодом, используемые FakeNet-NG. Эти библиотеки будут динамически загружаться во время выполнения, и некоторые из них могут быть лицензированы по LGPL.
Проще всего просто загрузить скомпилированную версию, которую можно получить на странице релизов:
https://github.com/mandiant/flare-fakenet-ng/releases
Запустите FakeNet-NG, выполнив 'fakenet.exe'.
Это предпочтительный метод использования FakeNet-NG в Windows, так как он не требует установки дополнительных модулей, что идеально для машины анализа вредоносного ПО.
ПРИМЕЧАНИЕ: FakeNet-NG может быть помечен как вредоносный антивирусными (AV) и решениями для обнаружения и реагирования на конечных точках (EDR) (например, Защитник Windows, Безопасный просмотр Chrome). Это, вероятно, связано с его способностью изменять сетевой трафик и имитировать сетевые службы, а также с использованием PyInstaller для сборки исполняемых файлов релиза. Официальные бинарные файлы релиза безопасны, и эти обнаружения следует считать ложными срабатываниями. Напоминаем, что FakeNet-NG разработан и настоятельно рекомендуется для использования в контролируемой и изолированной среде, такой как виртуальная машина (VM), где он может безопасно изменять сетевые настройки системы.
Установите Python 3.10.11 и последнюю версию pip для ОС Windows/Linux.
В Windows загрузите и установите Средства сборки Visual C++.
Установка в Linux требует следующих зависимостей:
Установите эти зависимости с помощью следующей команды:
sudo apt-get install build-essential python3.10-dev libnetfilter-queue-dev
Установите FakeNet-NG как модуль Python с помощью pip:
python -m pip install https://github.com/mandiant/flare-fakenet-ng/zipball/master
Или получив последний исходный код и установив его вручную:
git clone https://github.com/mandiant/flare-fakenet-ng/
Установите зависимости Python, выполнив следующие команды с правами администратора:
В Linux (протестировано в Ubuntu 24.04.2 LTS) выполните следующие команды перед запуском setup.py:
python -m pip install --upgrade setuptools
# сборка wheel для python 3.10
python -m pip install --force-reinstall netifaces
# Наблюдалась ошибка "ModuleNotFoundError: No module named '_cffi_backend'" во время тестирования
# Это позволит получить необходимую версию пакетов cffi для cryptography
python -m pip install --upgrade cryptography
Если устанавливаете вручную, перейдите в каталог загруженного flare-fakenet-ng и выполните следующую команду с правами администратора:
python setup.py install
В Linux освободите порт 53 для DNS-прослушивателя:
sudo systemctl stop systemd-resolved
Запустите FakeNet-NG, выполнив 'fakenet' из любого каталога в привилегированной оболочке.
Наконец, если вы хотите избежать установки FakeNet-NG и просто запустить его как есть (например, для разработки), вам необходимо получить исходный код и установить зависимости следующим образом:
Установите 64-битную или 32-битную Python 3.10.11 для 64-битной или 32-битной версии Windows/Linux соответственно.
В Windows установите зависимости Python, выполнив следующие команды с правами администратора:
python -m pip install pydivert dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
ПРИМЕЧАНИЕ: pydivert также загрузит и установит библиотеку и драйвер WinDivert в каталог %PYTHONHOME%\DLLs. FakeNet-NG включает эти файлы, поэтому они не требуются для обычного использования.
В Linux установите зависимости Python, выполнив следующие команды с правами администратора:
python -m pip install --upgrade setuptools
# сборка wheel для python 3.10
python -m pip install --force-reinstall netifaces
# Наблюдалась ошибка "ModuleNotFoundError: No module named '_cffi_backend'" во время тестирования
# Это позволит получить необходимую версию пакетов cffi для cryptography
python -m pip install --upgrade cryptography
python -m pip install netfilterqueue dnslib dpkt pyopenssl pyftpdlib netifaces jinja2
Опционально можно установить следующий модуль, используемый для тестирования:
python -m pip install requests
Загрузите исходный код FakeNet-NG:
git clone https://github.com/mandiant/flare-fakenet-ng
В Linux освободите порт 53 для DNS-прослушивателя:
sudo systemctl stop systemd-resolved
Запустите FakeNet-NG, выполнив его с помощью интерпретатора Python в привилегированной оболочке:
python -m fakenet.fakenet
Самый простой способ запустить FakeNet-NG — просто выполнить предоставленный исполняемый файл от имени администратора. Вы можете указать параметр командной строки --help, чтобы получить простую справку: