DNS 请求的 request.bin
DNSBin 是一个简单的工具,用于测试通过 DNS 进行的数据外泄,并在环境有重大限制时帮助测试诸如 RCE 或 XXE 等漏洞。该项目分为两部分:第一部分是 Web 服务器及其组件,它提供了一个基本的 Web 用户界面,在大多数情况下你不需要更多。客户端部分提供了一个 Python 脚本,允许通过 DNS 使用 Web 服务双向传输数据。
我目前为演示服务器设置的 DNS 配置如下。请注意,我是通过反复试验完成的,因此配置可能过于复杂或存在问题。如果你更了解,请随时提出 issue。
强烈建议使用 Node.JS 模块 "forever" 启动 DNS 接收器和 WebSocket 端点。
forever start index.js
对于前端,文件 "index.html" 可以托管在你选择的 Web 服务器上。确保 WebSocket URL 指向你的服务器。
客户端脚本需要两端都安装 "dnspython"。无论你是发送还是接收数据,都必须先在受限区域之外的机器上启动脚本。该脚本会为你提供一个唯一的令牌,你必须在受限区域内部的机器上运行脚本时传递该令牌。
外部机器
echo test12345 | python main.py -f- -d out -t-
内部机器
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
外部机器
python main.py -f- -d in -t-
内部机器
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU