
Selbstgehostete SSRF-Redirect-, Payload-, Callback- und DNS-Workbench
Selbstgehostete SSRF-Infrastruktur für Redirect-Ketten, exakte Protokoll-Payloads, Callbacks, DNS-Rebinding und Request-Evidenz. Ein einziges Rust-Binary stellt die Web-Workbench, die JSON-API, den autoritativen DNS-Responder und die stdio-MCP-Schnittstelle bereit.
Installation mit Homebrew:
brew install principlebreach/tap/waybend
Getaggte Releases veröffentlichen außerdem signierte Binaries für Linux, macOS und Windows auf
der Releases-Seite, sowie einen
Multi-Plattform-Container unter ghcr.io/principlebreach/waybend.
Aus dem Quellcode bauen mit Rust 1.88 oder neuer:
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
Öffne http://localhost:8080. Jeder Katalogeintrag zeigt sowohl die kopierfertige
Waybend-URL als auch das exakte finale Ziel:
Waybend URL http://localhost:8080/r/aws-ecs-v2?token=case-17
Final target http://169.254.170.2/v2/credentials/
Verwende Docker Compose für ein persistentes lokales Deployment:
cp waybend.example.yml waybend.yml
docker compose up --build -d
Siehe Erste Schritte für Container, native Binaries, Validierung und den ersten Redirect-Test.
Der Katalog deckt Cloud-Metadaten, Loopback- und Private-Network-Adressformen, URL-Parser-Differentiale, lokale Dateiziele und protokollgerahmte Gopher-Routen ab. Die Protokollgrenze und primäre Referenzen sind in Protokoll-Payloads dokumentiert.
Durchsuche oder exportiere den Katalog, ohne einen Server zu starten:
waybend catalog --config waybend.yml --query metadata
waybend catalog --config waybend.yml --category internal-service --format csv
Erstelle einen byte-erhaltenden dynamischen Redirect:
waybend encode --config waybend.yml --status 307 --hops 2 \
'Gopher://127.0.0.1:6379/_INFO%0D%0APING'
Korreliere eine Route mit ?token=<value> und frage dann ihre Beobachtungen ab:
waybend evidence --config waybend.yml list --token case-17 --json
Führe waybend --help oder waybend <command> --help aus, um die installierte
Befehlsoberfläche anzuzeigen.
Starte den Standard-Eingabe/Ausgabe-MCP-Server:
waybend mcp --config /absolute/path/to/waybend.yml
Er stellt search_payloads, get_payload, build_redirect,
dns_rebind_name und list_evidence bereit. Die
Waybend-Skill weist einen Agenten an, ein fokussiertes
Payload-Set auszuwählen, Protokoll-Bytes zu bewahren, ein Korrelations-Token
wiederzuverwenden und beobachtete Evidenz zu melden.
Siehe Agent-Integration für die MCP-Client-Konfiguration, die Tool-Schemas und die Skill-Installation.
Delegiere eine Zone an Waybend, aktiviere DNS und veröffentliche sowohl UDP- als auch TCP-Port 53. Abfragenamen kodieren statisches, alternierendes oder deterministisches TOCTOU-Verhalten:
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
Stelle einem Namen t-<token>. voran, um DNS- und HTTP-Evidenz zu verbinden. Siehe
DNS-Rebinding für Delegation, IPv6-Kodierung und Sequenzregeln.
Lies CONTRIBUTING.md. Melde Schwachstellen über SECURITY.md.
MIT — siehe LICENSE.
Built by Principle Breach — offensive security research.