注意:本软件仅适用于教育目的,请不要将其用于非法活动,工具作者和本站对用户个人行为不负任何责任。
今天给大家介绍的是一款名叫DNS Rebind Toolkit的工具包,这是一款前段JavaScript工具包,渗透测试人员可利用该工具来创建DNS重绑定攻击。
工具介绍
DNSRebind Toolkit是一款前端JavaScript框架,可用于对存在漏洞的主机或本地局域网服务进行DNS重绑定攻击,类似的服务包括Google Home、Roku、SonosWiFi扬声器、WiFi路由器、智能恒温器以及其他的物联网设备。在这款工具的帮助下,远程攻击者可绕过路由器的防火墙,然后直接与目标用户家庭网络内的设备进行交互,并提取出隐私信息,在某些情况下他们甚至还可以直接控制目标设备。
值得一提的是,渗透测试人员可利用该工具包创建自己的DNS重绑定攻击,该工具包在payloads/目录下提供了多种可用于现实攻击的Payload。
工具安装
克隆项目源码:
安装依赖组件
运行服务器:
API及工具使用
该工具包提供了两种JavaScript对象,可用于配合创建DNS重绑定攻击:
1. DNSRebindAttack:这个对象可以用来对包含漏洞的服务器进行攻击。它可以创建、管理并于多个DNSRebindNode对象进行通信,DNSRebindAttack所生成的每一个Payload都必须包含一个DNSRebindNode对象。
2. DNSRebindNode:这个静态类对象需要包含在每一个HTML Payload文件中,它可以对目标主机所运行的服务进行攻击,并与相应的DNSRebindAttack对象进行通信。
在对有防火墙保护的LAN主机进行攻击时,这两个脚本需要配合使用,基本的攻击过程如下:
1. 攻击者向目标用户发送一条指向恶意HTML页面的链接地址,并执行攻击。例如http://example.com/launcher.html,其中launcher.html包含了一个DNSRebindAttack实例。
2. 目标用户点击了恶意链接,并访问了恶意页面,其中http://example.com/launcher.html嵌入在一个iframe里面,页面此时便会触发攻击执行。
3. DNSRebindAttack此时会搜索目标设备的本地IP地址(例如192.168.10.84),并根据这个IP地址来确定目标网络的IP地址范围(例如192.168.10.0-255)。
4. launcher.html负责对目标子网的IP地址范围发动DNS重绑定攻击。
5. DNSRebindAttack会在launcher.html页面中嵌入一个包含了payload.html的iframe,每一个iframe中都包含一个DNSRebindNode对象,用于对IP地址范围内的每一台主机(端口8008)进行攻击。
使用样例
一次攻击需要三个脚本和文件协同合作:
1. 一个HTML文件,其中包含DNSRebindAttack实例(例如launcher.html)。
2. 一个HTML文件,其中包含攻击Payload(例如payload.html),该文件需要通过DNSRebindAttack并根据目标IP地址嵌入到launcher.html中。
3. 一台DNS Rebind Toolkit服务器(server.js),用于传递文件并提取数据。
launcher.html
下面给出的是一个launcher.html文件样本,你可以在项目目录的examples/launcher.html中找到完整代码:
payload.html
下面给出的是一个payload.html文件样本,你可以在项目目录的examples/ payload.html中找到完整代码:
server.js
这个脚本用来传递launcher.html和payload.html文件,并负责接收和保存工具从目标主机中提取出的数据:
项目结构
1. server.js:DNS Rebind Toolkit服务器;
2. payloads/:包含了多种可直接使用的HTML Payload文件,可用于针对存在漏洞的物联网设备进行渗透测试;
3. examples/:使用样例文件;
4. data/:提取出的数据信息将保存在该目录下(方法:DNSRebindNode.exfiltrate(…));
5. share/:存储了examples/和payload/目录中HTML文件共享的JavaScript文件;
领取专属 10元无门槛券
私享最新 技术干货