2 месяца назад
История
README.md
Setezor
Содержание
Снимки экрана
Описание
Setezor - сетевой анализатор трафика с возможностью автоматического построения топологии сети.
Функции
- Разделение на проекты. Чтобы “не держать все яйца в одной корзинке” реализовано разделение на проекты. Определение принадлежности пользователя к проекту осуществляется через cookie. Пока у пользователя нет cookie, он не может начать работу с проектом.
- Активное сканирование с использованием nmap. Произведена интеграция с нативно установленным
nmap
. На данный момент из результатов сканирования вытягиваются:- информация о хосте (IP, MAC, hostname);
- сведения о трассировке;
- сведения об порта (номер порта, состояние, сведения о ПО на порту).
- Активное сканирование с использованием masscan. Произведена интеграция с нативно установленным
masscan
. - Парсинг xml-логов сканирования nmap. Провели сканирование на удаленной машине и хотите загрузить логи в проект? Не проблема,
Setezor
поддерживает парсинг xml-логовnmap
- Парсинг xml/list/json-логов сканирования masscan.
- Пассивное сканирование с использованием scapy. Scapy - мощный инструмент для работы с сетью. Приложение создает асинхронный сниффер и налету “потрошит пакеты”. Сейчас можно получить информацию из следующих типо пакетов:
- ARP;
- LLNMR;
- NBNS;
- TCP.
- Парсинг pcap-файлов. Сделали сниффиинг пакетов и хотите загрузить данные в проект? Не проблема,
Setezor
поддерживает парсинг pcap-файлов. - Получение информации организовано в виде задач. Все сканирования парсиг логов организовано в виде задач и выполняется на стороне сервера в отдельных планировщиках. Есть возможность настроить каждый планировщик индивидуально с целью контороля исходящего траффика.
- Построение топологии сети. На основе данных о сканированиях автоматический строится топология сети со следующими функциями:
- автоматическое перестроение карты сети при получении новых данных;
- интерактивная карта сети с возможностью работы в полноэкранном режиме;
- получение данных об открытых портах по выделенному узлу сети;
- возможность установить роль узла сети и установить иконку;
- объединение узлов сети в кластер по 24 маске. Очень удобно, когда на карте 100500 узлов;
- экспорт топологии сети в
SVG
,PNG
иJSON
(структура данных vis.js); - импорт топологии сети из
JSON
(структура данных vis.js);
- Уведомления. При изменении статуса задачи всплывает уведомление, информирующее пользователя
- Работа с базой через веб-интерфейс. В веб-интерфейсе есть элемент для работы с базой, поддерживающий следующий функционал:
- отображение записи;
- создание записи;
- редактирование записи;
- удаление записи.
- Использование REST API. Для работы с серверной частью используется REST API, поэтому есть возможность написать свой интерфейс (tui, gui native, mobile) или интегрировать в свой проект.
Требования
Требования к программному обеспечению
- python3.12
- nmap
- masscan
- libpcap2-bin
- 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
- Склонировать репозиторий с GitFlic
git clone https://gitflic.ru/project/lmsecurity/setezor.git
cd Setezor
- Установить необходимое ПО
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
- Установить зависимые пакеты.
pip3 install -r setezor/requirements.txt
- Выдать права на работу с сокетами для
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`
- Запустить приложение
python3.12 setezor/setezor.py
Из Docker-образа
- Скачать docker образ
docker pull registry.gitflic.ru/project/lmsecurity/setezor/setezor
- Создать рабочую папку. Она будет нужна для хранения логов и пользовательских данных
mkdir ~/setezor && cd $_
- Запустить 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
Схема базы данных
Особенности в новой версии
- Возможность скармливать логи других инструментов:
- whatweb
- crackmapexec
- nikto
- gobuster
- и другие
- Расширенный анализ nmap сканирования
- Увеличить количество типов анализуруемых пакетов и качество парсинга пакетов
- Работа с доменными именами
- Поиск сервисов по dns записям и субдоменам
- Создание скриншотов веб-приложений
- Проксирование запросов
Описание
Конвейеры
0 успешных
0 с ошибкой