README.md

Setezor

Содержание

Описание

Функции

Требования

Использование

Схема базы данных

Функции в новой версии

Снимки экрана

Projects page Topology page Topology fullscreen page Network map Info page Wappalyzer page

Описание

Setezor - сетевой анализатор трафика с возможностью автоматического построения топологии сети.

Функции

  1. Разделение на проекты. Чтобы “не держать все яйца в одной корзинке” реализовано разделение на проекты. Определение принадлежности пользователя к проекту осуществляется через cookie. Пока у пользователя нет cookie, он не может начать работу с проектом.
  2. Активное сканирование с использованием nmap. Произведена интеграция с нативно установленным nmap. На данный момент из результатов сканирования вытягиваются:
    • информация о хосте (IP, MAC, hostname);
    • сведения о трассировке;
    • сведения об порта (номер порта, состояние, сведения о ПО на порту).
  3. Активное сканирование с использованием masscan. Произведена интеграция с нативно установленным masscan.
  4. Парсинг xml-логов сканирования nmap. Провели сканирование на удаленной машине и хотите загрузить логи в проект? Не проблема, Setezor поддерживает парсинг xml-логов nmap
  5. Парсинг xml/list/json-логов сканирования masscan.
  6. Пассивное сканирование с использованием scapy. Scapy - мощный инструмент для работы с сетью. Приложение создает асинхронный сниффер и налету “потрошит пакеты”. Сейчас можно получить информацию из следующих типо пакетов:
    • ARP;
    • LLNMR;
    • NBNS;
    • TCP.
  7. Парсинг pcap-файлов. Сделали сниффиинг пакетов и хотите загрузить данные в проект? Не проблема, Setezor поддерживает парсинг pcap-файлов.
  8. Получение информации организовано в виде задач. Все сканирования парсиг логов организовано в виде задач и выполняется на стороне сервера в отдельных планировщиках. Есть возможность настроить каждый планировщик индивидуально с целью контороля исходящего траффика.
  9. Построение топологии сети. На основе данных о сканированиях автоматический строится топология сети со следующими функциями:
    • автоматическое перестроение карты сети при получении новых данных;
    • интерактивная карта сети с возможностью работы в полноэкранном режиме;
    • получение данных об открытых портах по выделенному узлу сети;
    • возможность установить роль узла сети и установить иконку;
    • объединение узлов сети в кластер по 24 маске. Очень удобно, когда на карте 100500 узлов;
    • экспорт топологии сети в SVG, PNG и JSON (структура данных vis.js);
    • импорт топологии сети из JSON (структура данных vis.js);
  10. Уведомления. При изменении статуса задачи всплывает уведомление, информирующее пользователя
  11. Работа с базой через веб-интерфейс. В веб-интерфейсе есть элемент для работы с базой, поддерживающий следующий функционал:
    • отображение записи;
    • создание записи;
    • редактирование записи;
    • удаление записи.
  12. Использование REST API. Для работы с серверной частью используется REST API, поэтому есть возможность написать свой интерфейс (tui, gui native, mobile) или интегрировать в свой проект.

Требования

Требования к программному обеспечению
  1. python3.12
  2. nmap
  3. masscan
  4. libpcap2-bin
  5. python3-pip

Требования к пакетам

aiodns==3.2.0
aiofiles==24.1.0
aiohttp==3.10.3
aiohttp_jinja2==1.6
aiohttp_session==2.12.0
aiojobs==1.3.0
alembic==1.13.2
click==8.1.7
colorama==0.4.6
cryptography==43.0.0
dnspython==2.6.1
iptools==0.7.0
Jinja2==3.1.4
mac_vendor_lookup==0.1.12
nest_asyncio==1.6.0
orjson==3.10.7
pandas==2.2.2
purl==1.6
pydantic==2.8.2
pydantic_extra_types==2.9.0
pyOpenSSL==24.2.1
pyOpenSSL==24.2.1
pyroute2==0.7.12
pytest==8.3.2
Requests==2.32.3
scapy==2.5.0
setuptools==72.2.0
SQLAlchemy==2.0.32
sqlalchemy_schemadisplay==2.0
typing_extensions==4.12.2
xmltodict==0.13.0

Использование

Из репозитория GitFlic
  1. Склонировать репозиторий с GitFlic
git clone https://gitflic.ru/project/lmsecurity/setezor.git
cd Setezor
  1. Установить необходимое ПО
sudo apt install masscan nmap python3.12

2.1. Рекомендуется использовать venv

sudo apt install -y python3.12-venv
python3.12 -m venv venv
source venv/bin/activate
  1. Установить зависимые пакеты.
pip3 install -r setezor/requirements.txt
  1. Выдать права на работу с сокетами для nmap и python3.12
sudo setcap cap_net_raw=eip "$(readlink -f `which venv/bin/python3.12`)"
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip `which nmap`
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip `which masscan`
  1. Запустить приложение

python3.12 setezor/setezor.py
Из Docker-образа
  1. Скачать docker образ
docker pull registry.gitflic.ru/project/lmsecurity/setezor/setezor
  1. Создать рабочую папку. Она будет нужна для хранения логов и пользовательских данных
mkdir ~/setezor && cd $_
  1. Запустить docker контейнер
docker run -p 16661:16661 --network=host -v ~/setezor/projects:/setezor/projects -v ~/setezor/logs:/setezor/logs -d registry.gitflic.ru/project/lmsecurity/setezor/setezor

После запуска перейти https://localhost:16661

Схема базы данных

schema

Особенности в новой версии

  1. Возможность скармливать логи других инструментов:
    • whatweb
    • crackmapexec
    • nikto
    • gobuster
    • и другие
  2. Расширенный анализ nmap сканирования
  3. Увеличить количество типов анализуруемых пакетов и качество парсинга пакетов
  4. Работа с доменными именами
  5. Поиск сервисов по dns записям и субдоменам
  6. Создание скриншотов веб-приложений
  7. Проксирование запросов
Конвейеры
0 успешных
0 с ошибкой