快捷搜索:  网络  后门  扫描  渗透  CVE  木马  黑客  as

Whonow:一款可实时执行DNS重绑定测试的DNS服务器

今天给人人先容的是一款能够帮助渗透排泄测试人员实时执行DNS重绑定(Rebinding)测试的DNS服务器。

a.png

Whonow DNS服务器

Whonow是一款能够帮助渗透排泄测试人员实时执行DNS重绑定(Rebinding)的DNS服务器,Whonow允许我们定义DNS响应并通过域名要求来完成规则的动态重绑定。

#respond to DNS queries for this domain with 52.23.194.42 the first time
# itis requested and then 192.168.1.1 every time after that
A.52.23.194.42.1time.192.168.1.1.forever.rebind.network
#respond first with 52.23.194.42, then 192.168.1.1 the next five times,
# andthen start all over again (1, then 5, forever...)
A.52.23.194.42.1time.192.168.1.1.5times.repeat.rebind.network

动态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要求结构剖析

下面给出的是一份whonow要求样本:

A.<ip-address>.<rule>[.<ip-address>.<rule>[.<ip-address>.<rule>]][.uuid/random-string].example.com

一、A:一种DNS要求类型,当前只支持A记录,但随后会添加AAAA记录的支持。

2、<ip-address>:ipv4(ipv6正在添加中)地址,例如192.168.1.1。

三、<rule>:其中的三条规则以下

(1)(n)time[s]:DNS服务器的响应次数,例如1time, 3times或5000times。

(2)forever:使用之前的IP地址响应要求。

(3)repeat:从同最先重复执行整套规则。

四、[uuid/random-string]:一个随机字符串,用于标识DNS重绑定攻击的IP地址。

五、example.com:指向whonow域名服务器的域名,例如地下的rebind.network whonow实例。

要是你需要完成愈加复杂的举动,可以同时使用多条规则。

演示样本

#always respond with 192.168.1.1. This isn't really DNS rebinding
# butit still works
A.192.168.1.1.forever.rebind.network
#alternate between localhost and 10.0.0.1 forever
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network
#first respond with 192.168.1.1 then 192.168.1.2. Now respond 192.168.1.3forever.
A.192.168.1.1.1time.192.168.1.2.2times.192.168.1.3.forever.rebind.network
#respond with 52.23.194.42 the first time, then whatever `whonow--default-address`
# isset to forever after that (default: 127.0.0.1)
A.52.23.194.42.1time.rebind.network

注意事项

使用唯一域名

每一当whonow服务器中的一个唯一域名被要求以后,它们都会在服务器的RAM中创建一个小型的状态存储程序,每一当域名被要求,程序计数器会自增,其状态也可能会改变。每个唯一域名都有其唯一的程序实例对应,为了防止其他域名程序的状态受到影响,你应该在规则定义以后添加一个UUID子域名,而且这个UUID不能被重复使用。

#this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.8f058b82-4c39-4dfe-91f7-9b07bcd7fbd4.rebind.network
# notthis
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network

运行你本人的whonow服务器

为了在云端运行我们本人的whonow服务器,黑客工具,我们需要在域名提供商的治理面板中设置一个指向你VPS的自定义域名服务器。接下来,在VPS中装置whonow,并确保它运行在端口53(默认的DNS端口)上。

装置命令:

npm install --cli -g whonow@latest

运行命令:

whonow --port 53

b.png

要是你以为装置过程太麻烦的话,你也能够直接使用运行在rebind.network上的开放whonow服务器。

工具使用

$whonow --help
usage:whonow [-h] [-v] [-p PORT] [-d DEFAULT_ANSWER] [-b MAX_RAM_DOMAINS]
Amalicious DNS server for executing DNS Rebinding attacks on the fly.
Optionalarguments:
-h, --help            Show this help message and exit.
-v, --version         Show program's version number andexit.
-p PORT, --port PORT  What port to run the DNS server on (default:53).
-d DEFAULT_ANSWER, --default-answerDEFAULT_ANSWER
The default IP addressto respond with if no rule is
found (default:"127.0.0.1").
-b MAX_RAM_DOMAINS, --max-ram-domainsMAX_RAM_DOMAINS
The number of domainname records to store in RAM at
once. Once the numberof unique domain names queried
surpasses this numberdomains will be removed from
memory in the orderthey were requested. Domains that
have been removed inthis way will have their program
state reset the nexttime they are queried (default:
10000000).

测试

要是你想要测试服务器的功能(test.js),你必须要让Whonow服务器运行在localhost:15353:

# inone terminal
whonow -p 15353
# inanother terminal
cd path/to/node_modules/whonow
npmtest

* 参考来源:whonow,Alpha_pck编译,

您可能还会对下面的文章感兴趣: