4.4 KiB
burterm
Терминальный инструмент для веб-пентеста, bug bounty и CTF. Один статический Go-бинарник, 13 вкладок TUI (Dashboard, Request Builder, Results, Proxy, Repeater, Spider, Target/Site Map, Decoder, Comparer, Sequencer, Scanner, Project, Fuzzer) плюс headless CLI-режим для скриптов и CI.
- Подробное описание архитектуры: ARCHITECTURE.ru.md
- История решений, найденные баги, оговорки по надёжности: NOTES.md
- English version: README.md
Стеганография/аудио-форензика (анализ битовых плоскостей изображений, спектрограммы, декодирование SSTV) раньше жили здесь 14-й вкладкой — выделены в отдельный проект, stegterm, поскольку не имеют отношения к веб-пентесту.
Возможности
- Proxy — перехват HTTP/HTTPS через собственный MITM CA, скип трафика вне scope
- Repeater — ручная отправка/правка запроса, diff с последней отправкой (ctrl+d)
- Intruder — Sniper/Battering Ram/Pitchfork/Cluster Bomb, умные заготовки
payload'ов, рекурсия в найденные директории (аналог
-recursionу ffuf), расширения (|ext:.php,.html), фильтры по статусу/длине/словам/строкам/grep - Spider — краулер с авто-сабмитом GET-форм и авто-подхватом сессионных Cookie/Authorization из истории Proxy
- Scanner — SQLi/XSS/SSTI/LFI/RCE/SSRF/XXE/CORS/JWT, выбор конкретных проверок
- Project — сохранение сессии в SQLite с полнотекстовым поиском (FTS5), фильтры по host/method/status/длине/цветовой метке
- Fuzzer — blackbox-мутационный фаззер произвольных бинарников (CTF pwn), детект краша по сигналу
- Dashboard — живые метрики самого процесса (память, горутины, RPS), оформлены как панели с рамками
Сборка
go mod tidy # подтянет зависимости, включая modernc.org/sqlite
go build -o burterm ./cmd/burterm
Требуется Go 1.23+. Сборка без cgo.
Код ни разу не проходил через компилятор — писался в среде без сети и без установленного Go. Список конкретных мест с неопределённостью и порядок действий на первую сборку — в NOTES.md.
Запуск
Без аргументов — интерактивный TUI:
./burterm
С аргументами — headless CLI (для скриптов/CI):
./burterm -request req.txt -payload wordlist:common.txt -mode sniper
req.txt — сырой HTTP-запрос с §маркерами§ точек вставки:
GET /api/user?id=§1§ HTTP/1.1
Host: example.com
Структура репозитория
cmd/burterm/ точка входа (CLI + запуск TUI)
internal/
engine/ ядро Intruder: маркеры, генераторы атак, фильтры
payload/ генераторы payload'ов (wordlist/range/brute/preset/ext)
cli/ разбор флагов и payload-спецификаций
proxy/ MITM-прокси, CA, scope-фильтр, авто-обнаружение сессий
spider/ краулер
sitemap/ scope-правила, дерево карты сайта
scanner/ активные/пассивные проверки уязвимостей
fuzzer/ blackbox-фаззер бинарников
project/ SQLite+FTS5 хранилище сессии
decoder/ comparer/ sequencer/ утилиты
tui/ весь интерфейс (bubbletea)