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

86 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)
```