freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

DNSBin:一款功能强大的DNS与服务器安全测试工具
2023-08-28 00:08:57

关于DNSBin

DNSBin是一款功能强大的DNS与服务器安全测试工具,该工具可以通过DNS来测试数据泄露,并在目标环境部署了严苛网络安全限制的场景下帮助广大研究人员测试远程代码执行(RCE)和XML外部实体注入(XXE)等安全漏洞。

该项目由两个部分组成,第一个部分是Web服务器及其相关组件,它提供了一个基本的Web UI,这也适用于绝大多数的使用场景了。第二部分则是客户端组件,客户端提供了一个Python脚本,可以允许使用Web服务器并通过DNS实现双向数据传输。

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ettic-team/dnsbin.git

工具配置

DNS

工具演示Demo所使用的服务器当前DNS配置如下。请注意,该配置已经过了长时间的反复测试,因此设置的可能过于复杂:

1、为域名“dns1.zhack.ca”添加一条指向“192.99.55.194”的“a”记录;

2、为域名“ns1.zhack.ca”添加一个指向“192.99.55.194”的“a”记录;

3、为域名“d.zhack.ca”添加一条“NS”记录,值为“dns1.zhack.ca”;

4、为域名“d.zhack.ca”添加一个值为“ns1.zhack.cab”的“NS”记录;

Web托管

强烈建议使用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

工具使用Demo

使用Demo:【点我尝试

项目地址

DNSBin:【GitHub传送门

参考资料

http://dnsbin.zhack.ca/

https://www.npmjs.com/package/forever

https://github.com/rthalley/dnspython

# DNS # rce # xxe # 服务器 # DNS安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录