书接上篇。上次讲了利用arp欺骗的原理,在内网嗅探明码发送的用户名和密码,这一次再来说说有ssl加密的嗅探。
利用ettercap,加上sslstrip的辅助,同样可以嗅探经过ssl加密的部分https数据。关于https和ssl的详细原理,可以查找相关文献。先介绍一下这次的测试环境,一个是win8 x64的机器,利用电脑自带的无线网卡接入AP,地址是192.168.1.30(我的笔记本电脑),扮演我们需要嗅探的对象;扮演攻击者的是vmware里安装的kali linux,利用USB外接的网卡联网,IP地址192.168.1.106,和被攻击者(其实是虚拟机的宿主)在同一个网段;网关是家中的AP(好惨!天天被测试!),地址192.168.1.1。上一篇被攻击者用的是安卓手机,这一次用的是笔记本电脑,为了演示方便,其实原理一样,只要手机上某个程序是通过https协议接入的,都适用。
利用sslstrip和ettercap嗅探的步骤很简单,就4步,可参考这一篇文章:http://xiao106347.blog.163.com/blog/static/21599207820131121112420259/
下面是demo time:
step 1:设置ip转发,命令
echo "1">/proc/sys/net/ipv4/ip_forward
效果如下:
step 2: 设置iptables规则(关于iptables的语法和作用,鸟哥的书里介绍的很详细噢!)
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
要查看设置结果用下列命令:
iptables -t nat -L --line-numbers
要删除的话,将-A改为-D就可以了,或是用刚才--line-numbers显示出的编号进行删除。
运行效果如下:
step 3:用sslstrip监听刚才设置的端口10000。由于sslstrip运行时经常报错,但不影响运行效果,为了界面更加清爽,我习惯将错误输出隐藏(2>/dev/null),命令行如下:
sslstrip -l 10000 2>/dev/null
step 4:设置ettercap进行嗅探,命令和上次一样:
ettercap -T -q -i wlan0 -M arp:remote /192.168.1.30/ /192.168.1.1/
效果如下:
嗅探环境设置完成了。下面,在宿主机器登陆一些常用的由https加密的网站,测试sslstrip的嗅探效果。首先是百度,结果证明,在百度首页上登录的用户名和密码可以被监测到,而且正常登录:
接下来是我经常买东东的电商amazon.cn,没有幸免:
接着测试了QQ Mail,Gmail,Sina,tmall,alipay等一些网站,没有嗅探出敏感信息,看来针对sslstrip的劫持方法进行了规避。其实sslstrip是在2009年DefCon上提出的方法,经过快5年了,应对方法早就成熟,嗅探效果已经大不如从前。
提一下,如果想嗅探一个网段里所有联网机器的数据,应该输入什么命令?如下:
ettercap -T -q -i wlan0 -M arp:remote // /192.168.1.1/
这次就写到这,下次再利用dns劫持的方法测试一下MITM嗅探的问题。
小试ettercap的MITM攻击(之二):测试sslstrip
原文:http://tankaiha.blog.51cto.com/8553228/1358587