own2pwn-fr/oob-poc

GitHub: own2pwn-fr/oob-poc

一个极简的 Rust 带外交互服务器,通过权威 DNS 和 HTTP catch-all 捕获渗透测试中的盲漏洞回调并实时展示。

Stars: 2 | Forks: 1

# oob-poc 一个极简的**带外 (OOB) 交互服务器**,使用 Rust 从零构建 — 这种工具用于在渗透测试中捕获*盲*漏洞 (blind SSRF、blind XSS、带外 RCE、通过 DNS 进行 SQLi 数据外发…)。 它是 [Burp Collaborator](https://portswigger.net/burp/documentation/collaborator) 和 [interactsh](https://github.com/projectdiscovery/interactsh) 的一个微型、易读的同类替代品: 一个通过共享的内存存储运行**权威 DNS 服务器**、**HTTP catch-all** 和**实时仪表板**的单体二进制程序。 没有数据库,没有框架 — 只有约 700 行代码,您可以一口气读完。 ## 工作原理 您拥有一个域名,并通过 `NS` + glue 记录将一个子域名(例如 `oob.example.com`)委派给该服务器。 然后,在测试期间,您在 payload 中植入一个唯一的主机名: ``` https://victim/redirect?url=http://deadbeef.oob.example.com/ ``` 如果目标存在 SSRF 漏洞,其服务器将解析和/或请求该主机 — 随后回调会出现在您的仪表板中,从而证明该漏洞。仅 DNS 请求意味着*有东西* 解析了它;而 HTTP 请求则是确凿的确认。 ``` target ──DNS─▶ your authoritative server ──▶ logged target ──HTTP─▶ your catch-all listener ──▶ logged ─▶ dashboard ``` ## 快速开始(本地) ``` # build cargo build --release # 在非特权端口上运行(本地尝试无需 root) OOB_ZONE=oob.example.com \ OOB_DNS_BIND=127.0.0.1:15353 \ OOB_HTTP_BIND=127.0.0.1:8080 \ OOB_DASHBOARD_BIND=127.0.0.1:9090 \ ./target/release/oob-poc # 在另一个 shell 中 — 触发测试回调 dig +short @127.0.0.1 -p 15353 deadbeef.oob.example.com curl -H 'Host: deadbeef.oob.example.com' http://127.0.0.1:8080/ # 观察它们到达 open http://127.0.0.1:9090/ ``` ## 部署(真实区域,在 VPS 上) 1. 将 `oob.example.com` 的 `NS` 记录指向此主机(`ns1`/`ns2` glue → 其公共 IP)。 2. 运行并将其绑定到 `:53` 和 `:80`(需要 `CAP_NET_BIND_SERVICE`): ``` docker build -t oob-poc . docker run -d --name oob \ --cap-add NET_BIND_SERVICE \ -p 53:53/udp -p 53:53/tcp -p 80:80 -p 127.0.0.1:8080:8080 \ -e OOB_ZONE=oob.example.com \ -e OOB_PUBLIC_IP=203.0.113.10 \ oob-poc ``` 保持**仪表板绑定到 localhost**(或置于 VPN / 身份验证之后)——它会暴露 每一个捕获到的回调。 ## 配置 | 环境变量 | 默认值 | 用途 | |-----------------------|--------------------|--------------------------------------| | `OOB_ZONE` | `oob.example.com` | 此服务器具有权威性的区域 | | `OOB_PUBLIC_IP` | `127.0.0.1` | 在 `A` 回答中返回的 IPv4 | | `OOB_DNS_BIND` | `0.0.0.0:53` | DNS 监听器 (UDP) | | `OOB_HTTP_BIND` | `0.0.0.0:80` | HTTP catch-all 监听器 | | `OOB_DASHBOARD_BIND` | `127.0.0.1:8080` | 仪表板 + JSON API(保持私密) | ## 不在范围内(特意设计) 这是一个 PoC。生产级的 OOB 服务器(就像我们在 own2pwn 运行的那样)会增加: 通配符 TLS、用于协议走私 SSRF 的 SMTP/LDAP/FTP 收集器、多租户隔离、 用于消除误报的源 IP 绑定、持久化以及用于自动化的轮询 API。 为了保持核心代码的清晰易读,这些功能被刻意去除了。 ## 许可证 MIT — 请参阅 [LICENSE](./LICENSE)。
标签:CISA项目, DNS服务器, IP 地址批量处理, Retryablehttp, Rust, Web安全, 可视化界面, 带外数据交互, 网络流量审计, 蓝队分析, 请求拦截, 通知系统