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 с ошибкой