burterm/README.ru.md
2026-09-14 10:55:07 +03:00

4.4 KiB
Raw Blame History

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)