packmate/README.md

4.1 KiB
Raw Blame History

Packmate

[EN | RU]

Утилита перехвата и анализа трафика для CTF.

Фичи:

  • Поддерживает перехват живого трафика и обработку pcap файлов
  • Поддерживает текстовые и бинарные сервисы
  • Умеет отображать совпадения паттернов в пакетах цветом
    • Подстрока
    • Регулярное выражение
    • Бинарная подстрока
  • Показывает IPv4/IPv6 адреса отправителя и получателя для каждого пакета
  • Умеет автоматически удалять стримы с определенным контентом, которые не нужно отображать
  • Умеет сохранять стримы в избранное и отображать только избранные стримы
  • Работает с несколькими сервисами на разных портах, может отображать стримы для конкретных сервисов и паттернов
  • Поддерживает навигацию по стримам с помощью горячих клавиш
  • Позволяет копировать содержимое пакета в нужном формате
  • Конкатенирует смежные пакеты
  • Автоматически проводит urldecode
  • Разархивирует GZIP в HTTP на лету
  • Разархивирует сжатые WebSockets
  • Расшифровывает TLS на RSA при наличии приватного ключа

Скриншот главного окна

Изменения этого форка

IP-адреса сохраняются вместе с пакетами, возвращаются API и отображаются в карточке как source → destination.

Старые записи не содержат IP-адресов, поскольку исходная версия их не сохраняла. Для восстановления адресов нужно повторно импортировать исходный PCAP. Подробности и описание API находятся в docs/IP_ADDRESSES.md.

В docs/ARCHITECTURE_REVIEW_RU.md находится ревью готовности к крупным Attack/Defense соревнованиям. Проверочный скрипт для неограниченной распаковки GZIP HTTP находится в poc/http_gzip_expansion.py.

Для LIVE режима добавлена возобновляемая очистка старого трафика с настраиваемым retention, ограниченными транзакциями и отдельным stress test. Настройки и результаты проверки описаны в docs/CLEANUP.md.

Быстрый запуск

Нужны Docker Engine и плагин Docker Compose. Репозиторий уже содержит исходники backend и frontend, поэтому достаточно обычного клонирования без git submodules:

git clone https://github.com/Av0idD4rk/packmate.git
cd packmate
cp .env.example .env
${EDITOR:-nano} .env
docker compose up --build -d

В .env обязательно укажите PACKMATE_INTERFACE и PACKMATE_LOCAL_IP для режима LIVE, а также смените пароли. Описание всех режимов и настроек находится в docs/SETUP.md.

При успешном запуске Packmate будет видно с любого хоста на порту 65000. БД будет слушать на порту 65001, но будет разрешать подключения только с localhost.

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

Инструкция

desu~