小试ettercap的MITM攻击(之二):测试sslstrip

   (修正了第一次发时的一些错误)

   书接上篇。上次讲了利用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: 设置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显示出的编号进行删除。

   运行效果如下:

wKioL1L7fjjwYqNtAAHrBC_xHSQ986.jpg


   step 2:用sslstrip监听刚才设置的端口10000。由于sslstrip运行时经常报错,但不影响运行效果,为了界面更加清爽,我习惯将错误输出隐藏(2>/dev/null),命令行如下:

   sslstrip -l 10000 2>/dev/null

 sslstrip -h可以显示一些参数,其中较常用的是-f,在浏览器标题栏上显示一个小锁的图标;-k,代表kill session,强行切断用户当前连接,让他们重新连接网站,便于嗅探数据。

   效果如下:wKiom1L7f4eC5YRrAACU6fwqmb8595.jpg


   step 3:设置ettercap进行嗅探,命令和上次一样:

       ettercap -T -q -i wlan0 -M arp:remote /192.168.1.30/ /192.168.1.1/

   (由于ettercap会自动设定ip转发,所以许多网页上说的 echo "1">/proc/sys/net/ipv4/ip_forward 这个命令没有必要。)

   效果如下:

wKiom1L7gNvgCsMsAADck2iDObE797.jpg


   嗅探环境设置完成了。下面,在宿主机器登陆一些常用的由https加密的网站,测试sslstrip的嗅探效果。首先是百度,结果证明,在百度首页上登录的用户名和密码可以被监测到,而且正常登录:

wKioL1L7gT3yIXmAAAEPutZvP8U690.jpg


   接下来是我经常买东东的电商amazon.cn,没有幸免:

wKiom1L7gZXTid_-AALu3xVZuwk235.jpg


   接着测试了QQ Mail,Gmail,Sina,tmall,alipay等一些网站,部分嗅探出敏感信息,部分网站浏览有问题,看来针对sslstrip的劫持方法进行了规避。其实sslstrip是在2009年DefCon上提出的方法,经过快5年了,应对方法早就成熟,嗅探效果已经大不如从前。

   还测试了一下京东,登录时如果不选择安全控件,那么用户名和密码都是明文。选择安全登录后,密码被加密了,强烈建议在可以安全登录时务必这样做。

   

你可能感兴趣的:(ssl,SSLStrip,ettercap,MITM)