# 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](ARCHITECTURE.ru.md) - История решений, найденные баги, оговорки по надёжности: [NOTES.md](NOTES.md) - English version: [README.md](README.md) Стеганография/аудио-форензика (анализ битовых плоскостей изображений, спектрограммы, декодирование SSTV) раньше жили здесь 14-й вкладкой — выделены в отдельный проект, [stegterm](https://github.com/r3g1tpr0cs/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), оформлены как панели с рамками ## Сборка ```sh go mod tidy # подтянет зависимости, включая modernc.org/sqlite go build -o burterm ./cmd/burterm ``` Требуется Go 1.23+. Сборка без cgo. **Код ни разу не проходил через компилятор** — писался в среде без сети и без установленного Go. Список конкретных мест с неопределённостью и порядок действий на первую сборку — в [NOTES.md](NOTES.md). ## Запуск Без аргументов — интерактивный TUI: ```sh ./burterm ``` С аргументами — headless CLI (для скриптов/CI): ```sh ./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) ```