2009年的黑帽大会上,一个名叫Moxie Marlinspike(作者博客:http://www.thoughtcrime.org/)的研究人员,发布了一个叫sslstrip的工具。通过该工具,可以实现对ssl进行中间人攻击。
原理大概是这样的:
ARP欺骗,是的攻击者能截获所有目标主机的网络流量。
攻击者利用用户对于地址栏中HTTPS与HTTP的疏忽,将所有的HTTPS连接都用HTTP来代替。
同时,与目标服务器建立正常的HTTPS连接。
由于HTTP通信是没有经过加密传输的,并没有HTTPS安全,所以攻击者能轻松实施嗅探。
解释一下本次教程使用到的SSL协议。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。被用于web浏览器与服务器之间的身份认证和加密数据传输。保障了数据传输的安全,利用了数据加密确保数据在网络上的传输不会被截取以及窃听。
我们这次就是利用了中间人攻击
软件下载网站,点此
)进行下载。可以直接在此页面直接进行下载安装sslstrip最新版,也可以使用git clone进行下载。安装环境需要python版本>=2.5。一般Linux上都已经预装了python环境。
解压。
1 | root@kali:~# tar zxvf sslstrip-0.9.tar.gz |
安装。
1 | root@kali:~# cd sslstrip-0.9 |
开启内核转发功能保证攻击过程中被攻击者不断网。
1 | root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward |
使用iptables把80端口的流量转发到sslstrip监听的8080端口上.
注意啦!!!(敲黑板,划重点啦)
我看到网上朋友有很多写这个教程的,命令基本上都是iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 。
其实这个命令你运行后会报错,你输入iptables -h查看一下就知道哪里出错了。
我实在不知道他们在哪找的这些命令参数。还有就是,你在用Linux命令时候,一定要提前输入-h,你不知道那个命令版本到底支持哪些参数,你也可以作为一个参考。
其实真正的命令是这个:1
root@kali:~# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
启动sslstrip。
sslstrip -l 8080
使用ettercap对目标主机进行arp攻击,并且开始嗅探密码。
Tips: 在攻击过程不要关闭sslstrip的窗口。
本次实验环境:
攻击者:kali Linux(2018.1.8),ip:192.168.1.131 ,网关:192.168.1.1
被攻击者: windows7,ip:192.168.1.105,网关:192.168.1.1
我们使用ettercap的GTK+ GUI图像界面
输入1
root@kali:~# ettercap -G
打开后是这样。
打开ettercap之后,选择Sniff—-Unified-sniffing,然后选择网卡:eth0(我这里是eth0,大家根据情况选择)。
然后Hosts——Scan for hosts——Hosts list,此时找到我们的目标主机ip(192.168.1.105).
选定目标主机,然后点add to target 1,将目标主机添加到目标1;选定路由,点add to target 2,将路由添加到目标2.
添加成功后,点击Mitm——ARP posoning ,勾选sniff remote connections。
之后start——start sniffing开始监听。
点击view——connections查看被攻击机访问的IP,端口,协议,发送和接收的数据包大小。点击view——profiles查看被攻击机访问的链接。
在下方可以查看更清晰的链接访问情况。
当然你也可以通过双击链接来查看profiles details,即访问网站的具体情况。
在这里,如果被攻击机输入密码登陆某一网站,我们可以检测到登陆的用户名及其密码。
这是刚刚检测到的一个用户名和登陆密码。这个网站完全没有对密码进行加密操作,出来的结果也是明文显示的。
这是另外一个站检测出来的,对密码进行了加密。
实在对不起,网站的细节并不能展示出来,大家只要明白操作姿势就可以了。
其实我为了测试设置的密码都只是123456,但是因为进行了加密,还是很难解密的出来。
Tips:其实一个网站如果使用的都是https协议,那么安全性绝对做的很好,他们的数据都是进行了加密的,也就是说你即使已经把https降低为http,即使捕获到了密码,你也不可能轻易解密的出来。
好了,ettercap已经截获到了密码,教程到此结束。
本文作者:冰羽
本文地址: https://bingyublog.com/2018/02/23/使用ssltrip突破ssl加密截获密码/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!