Setezor
Table of contents
Screenshots
Description
Setezor - сетевой анализатор трафика с возможностью автоматического построения топологии сети.
Features
-
Разделение на проекты. Чтобы "не держать все яйца в одной корзинке" реализовано разделение на проекты. Определение принадлежности пользователя к проекту осуществляется через 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) или интегрировать в свой проект.
Requirements
Software requirements
- python3.11
- nmap
- masscan
- libpcap2-bin
- python3-pip
Packages requirements
aiohttp==3.8.4
aiohttp_jinja2==1.5
aiohttp_session==2.11.0
aiojobs==1.1.0
alembic==1.9.2
cryptography==3.4.8
iptools==0.7.0
Jinja2==3.1.2
mac_vendor_lookup==0.1.12
nest-asyncio==1.5.6
pandas==2.0.0
scapy==2.4.5
setuptools==59.6.0
SQLAlchemy==1.4.32
sqlalchemy_schemadisplay==1.3
xmltodict==0.12.0
xlsxwriter==3.0.8
cffi
click
colorama
openpyxl
Usage
From GitHub repo
- Клонировать репозиторий с GitHub
git clone https://github.com/lmsecure/Setezor.git
cd Setezor
- Установить необходимое ПО
sudo apt install nmap python3.11
2.1. Рекомендуется использовать venv
sudo apt install -y python3-venv
python3 -m venv venv
source venv/bin/activate
- Установить зависимые пакеты.
pip3 install -r requirements.txt
- Выдать права на работу с сокетами для
nmap
иpython3.11
sudo setcap cap_net_raw=eip "$(readlink -f `which venv/bin/python3.11`)"
sudo setcap cap_net_raw,cap_net_admin,cap_net_bind_service+eip `which nmap`
- Запустить приложение
python3 .py
From github deb-package from last release
- Скачать файл релиза с github
wget https://github.com/lmsecure/Setezor/releases/download/v0.5.2b/setezor_0.5.2b_debian_packaged.deb
- Установить
sudo apt install ./setezor_0.5.2b_debian_packaged.deb
- Запустить
setezor
From dockerhub image
- Скачать Docker-образ
docker pull lmsecure/setezor
- Создать рабочую папку. Она будет нужна для хранения логов и пользовательских данных
mkdir ~/setezor && cd $_
- Запустить docker контейнер
docker run -p 16661:16661 --network=host -v ~/setezor/projects:/setezor/projects -v ~/setezor/logs:/setezor/logs -d lmsecure/setezor:latest
После запуска перейти http://localhost:16661
Database schema
Features in new version
- Возможность скармливать логи других инструментов:
- whatweb
- crackmapexec
- nikto
- gobuster
- и другие
- Расширенный анализ nmap сканирования
- Увеличить количество типов анализируемых пакетов и качество парсинга пакетов
- Работа с доменными именами
- Поиск сервисов по dns записям и суб-доменам
- Создание скриншотов веб-приложений
- Проксирование запросов