
Самостоятельно размещённый стенд для работы с SSRF-редиректами, полезными нагрузками, колбэками и DNS
Самостоятельно размещаемая инфраструктура SSRF для цепочек перенаправлений, точных протокольных полезных нагрузок, обратных вызовов, DNS rebinding и доказательств запросов. Один бинарный файл на Rust предоставляет веб-интерфейс, JSON API, авторитативный DNS-ответчик и интерфейс stdio MCP.
Установка через Homebrew:
brew install principlebreach/tap/waybend
В тегированных релизах также публикуются подписанные бинарные файлы для Linux, macOS и Windows на странице релизов, а также мультиплатформенный контейнер ghcr.io/principlebreach/waybend.
Сборка из исходного кода с Rust 1.88 или новее:
git clone https://github.com/PrincipleBreach/waybend.git
cd waybend
cargo build --release --locked
waybend init waybend.yml
waybend validate --config waybend.yml
waybend serve --config waybend.yml
Откройте http://localhost:8080. Каждая запись каталога показывает как готовый к копированию URL Waybend, так и его точную конечную цель:
Waybend URL http://localhost:8080/r/aws-ecs-v2?token=case-17
Final target http://169.254.170.2/v2/credentials/
Используйте Docker Compose для постоянного локального развёртывания:
cp waybend.example.yml waybend.yml
docker compose up --build -d
См. Начало работы о контейнерах, нативных бинарных файлах, валидации и первом тесте перенаправления.
Каталог охватывает метаданные облачных сервисов, формы адресов loopback и частных сетей, различия парсеров URL, цели локальных файлов и маршруты Gopher с протокольным обрамлением. Граница протокола и основные ссылки описаны в Протокольные полезные нагрузки.
Поиск или экспорт каталога без запуска сервера:
waybend catalog --config waybend.yml --query metadata
waybend catalog --config waybend.yml --category internal-service --format csv
Создание динамического перенаправления с сохранением байтов:
waybend encode --config waybend.yml --status 307 --hops 2 \
'Gopher://127.0.0.1:6379/_INFO%0D%0APING'
Свяжите маршрут с ?token=<value>, затем запросите его наблюдения:
waybend evidence --config waybend.yml list --token case-17 --json
Запустите waybend --help или waybend <command> --help для установленной командной поверхности.
Запуск MCP-сервера со стандартным вводом/выводом:
waybend mcp --config /absolute/path/to/waybend.yml
Он предоставляет search_payloads, get_payload, build_redirect, dns_rebind_name и list_evidence. Навык Waybend направляет агента на выбор сфокусированного набора полезных нагрузок, сохранение протокольных байтов, повторное использование одного токена корреляции и сообщение о наблюдаемых доказательствах.
См. Интеграция с агентами о конфигурации MCP-клиента, схемах инструментов и установке навыка.
Делегируйте зону Waybend, включите DNS и опубликуйте как UDP, так и TCP порт 53. Имена запросов кодируют статическое, чередующееся или детерминированное поведение TOCTOU:
127-0-0-1.static.rb.example.com
198-51-100-10.127-0-0-1.alt.rb.example.com
198-51-100-10.169-254-169-254.2.toctou.rb.example.com
Добавьте префикс t-<token>. к имени, чтобы объединить DNS- и HTTP-доказательства. См. DNS rebinding о делегировании, кодировании IPv6 и правилах последовательностей.
Прочитайте CONTRIBUTING.md. Сообщайте об уязвимостях через SECURITY.md.
MIT — см. LICENSE.
Создано Principle Breach — исследования в области наступательной безопасности.