今天给大家介绍的是一款能够帮助渗透测试人员实时执行DNS重绑定(Rebinding)测试的DNS服务器。
Whonow是一款能够帮助渗透测试人员实时执行DNS重绑定(Rebinding)的DNS服务器,Whonow允许我们定义DNS响应并通过域名请求来实现规则的动态重绑定。
动态DNS重绑定规则最棒的一点就在于,你不需要自己搭建一台DNS服务器来利用目标浏览器的同源策略,实际上,任何人都可以共享同样的一台公共whonow服务器。
需要注意的是,你需要在每一个发送给whonow服务器的DNS查询请求中用UUID(例如a06a5856-1fff-4415-9aa2-823230b05826)来指定子域名。比如说,指向.rebind.network的请求应该写成.a06a5856-1fff-4415-9aa2-823230b05826.rebind.network。
whonow的优势是你可以通过在域名中使用子域名来定义DNS响应的行为,而且你只需要使用一些简单的关键字(例如A, (n)times, forever和repeat),就可以定义复杂且强大的DNS行为。
下面给出的是一份whonow请求样本:
A..[..[..]][.uuid/random-string].example.com
1、A:一种DNS请求类型,当前只支持A记录,但随后会添加AAAA记录的支持。
2、:ipv4(ipv6正在添加中)地址,例如192.168.1.1。
3、:其中的三条规则如下
(1)(n)time[s]:DNS服务器的响应次数,例如1time, 3times或5000times。
(2)forever:使用之前的IP地址响应请求。
(3)repeat:从同开始重复执行整套规则。
4、[uuid/random-string]:一个随机字符串,用于标识DNS重绑定攻击的IP地址。
5、example.com:指向whonow域名服务器的域名,例如公开的rebind.network whonow实例。
如果你需要实现更加复杂的行为,可以同时使用多条规则。
每当whonow服务器中的一个唯一域名被请求之后,它们都会在服务器的RAM中创建一个小型的状态存储程序,每当域名被请求,程序计数器会自增,其状态也可能会改变。每一个唯一域名都有其唯一的程序实例对应,为了防止其他域名程序的状态受到影响,你应该在规则定义之后添加一个UUID子域名,而且这个UUID不能被重复使用。
为了在云端运行我们自己的whonow服务器,我们需要在域名提供商的管理面板中配置一个指向你VPS的自定义域名服务器。接下来,在VPS中安装whonow,并确保它运行在端口53(默认的DNS端口)上。
安装命令:
运行命令:
如果你觉得安装过程太麻烦的话,你也可以直接使用运行在rebind.network上的开放whonow服务器。
如果你想要测试服务器的功能(test.js),你必须要让Whonow服务器运行在localhost:15353:
* 参考来源:whonow,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM