4.3 KiB
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.
Быстрый запуск
Для быстрого запуска Packmate следует использовать этот стартер.
Полный запуск
Ниже следует инструкция для тех, кто хочет собрать Packmate самостоятельно.
Клонирование
Поскольку этот репозиторий содержит фронтенд как git submodule, его необходимо клонировать так:
git clone --recurse-submodules git@github.com:Av0idD4rk/packmate.git
# Или, на старых версиях git
git clone --recursive git@github.com:Av0idD4rk/packmate.git
Если репозиторий уже был склонирован без подмодулей, необходимо выполнить:
git pull # Забираем свежую версию master из GitHub
git submodule update --init --recursive
Настройка
Запуск
После указания нужных настроек в env-файле, можно запустить приложение:
sudo docker compose up --build -d
При успешном запуске Packmate будет видно с любого хоста на порту 65000.
БД будет слушать на порту 65001, но будет разрешать подключения только с localhost.
Использование
desu~
