替换明文 URL 上回也提到,可以参考 SSLStrip 那样,把脚本里的 HTTPS URL 全都替换成 HTTP 版本,即可满足部分场合。 当然,缺陷也是显而易见的。 [本文转自 EtherDream の 原创空间,觉得文章很不错就决定分享到FreeBuf让更多朋友看到,原文链接:http://www.cnblogs.com/index-html/p/sslstrip-plus.html
使用sslstrip环境配合ettercap进行arp劫持抓密码 (适用HTTPS和HTTP页面) arp劫持测试局限 1.浏览器使用安全性较低的ie 2.有的https页面防护做的好可能出现页面不显示 回车 Image.png 这样嗅探工具Ettercap下etter.conf文档的配置就完成了,接下来就可以启用Ettercap对目标进行嗅探抓包了 五.开启sslstrip工具(sslstrip是将https 变为http) (1)开启sslstrip工具,将https页面变为可利用的http页面:sslstrip –a –f –k Image.png 六.开启Ettercap嗅探模式,当目标有操作时可对目标进行抓包
原理:sslstrip+ettercap进行数据包的截获 0x01 配置 默认情况下,BT中的sslstrip和DHCP服务需要重新安装和设置 1.安装sslstrip 安装文件:/pentest /web/sslstrip/setup.py 安装命令:python setup.py install 2.DHCP的安装与配置: ①.安装 dhcp3 服务器:sudo apt-get default/dhcp3-server INTERFACES="eth1" 0x02 建立热点 为airssl.sh添加执行权限,执行(相关输入输入) 然后分别是AP建立、DHCP建立、sslstrip
Subterfuge主要调用的是sslstrip,sslstrip 是08 年黑帽大会提出的工具。 /sslstrip.py –h 进行测试 ? 开启网卡转发 echo “1” >/proc/sys/net/ipv4/ip_forword ? 使用iptables把80端口的数据转发到1234端口,方便sslstrip进行监听 ? 启用sslstrip进行 -a 记录所有来这SSL和HTTP的数据 -l 1234 监听来自1234端口的数据与之前设置的iptables端口号一样 ? 已成功启动sslstrip进行监听,现在启动kali自带的tcpdump进行嗅探并捕获转发的报文 ?
/lyshark 截取目标图片: 当然也可以使用driftnet工具截取指定主机的图片流. root@kali:~# driftnet -i eth0 HTTPS降级嗅探 对SSL流量的嗅探,可以使用sslstrip 开启内核转发功能保证攻击过程中被攻击者不断网. root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward 3.使用iptables把80端口的流量转发到sslstrip 并启动ettercap对目标主机进行arp攻击. root@kali:~# sslstrip -l 10000 root@kali:~# ettercap -i eth0 -T -M arp:remote /192.168.1.2// /192.168.1.1// 此时当用户浏览的网页中包含https协议,会被转化为http协议的请求.但是sslstrip也不是万能的,假如网页中没有https,但是js 代码绑定了跳转到https的协议请求的事件,那么sslstrip就失效了.如果用户打开网页的时候请求就是https,会导致证书认证失败,网页一直打不开.
Power Pwn内置了Debian 6(Linux)系统,集成了Metasploit、SET、w3af、SSLstrip、nmap等多种知名渗透测试工具。 tunnels are activated # Preloaded with Debian 6, Metasploit, SET, Fast-Track, w3af, Kismet, Aircrack, SSLstrip
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 10000 开启80端口的数据转发到10000端口 sslstrip -l 10000 执行sslstrip欺骗,把网页中的https协议转换为http 也不是万能的,假如网页中没有https,但是js代码绑定了跳转到https的协议请求的事件,那么sslstrip就失效了.如果用户打开网页的时候请求就是https,会导致证书认证失败,网页一直打不开. 使用时需要本机开启流量转发,将80端口的http流量同时转发到10000端口上,在10000端口上使用sslstrip来监听即可: # echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000 # sslstrip
规则: iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 2.4 运行sslstrip sslstrip -l 8080 2.5 开启网络管理 &重启网络管理服务 vim /etc/NetworkManager/NetworkManager.conf 将managed n 为无线网络设置网段:192.168.88.0/24 设定DNS服务器:8.8.8.8 完成之后,easy-creds启动了Airbase-NG、DMESG、SSLStrip
未加密未加密的FTP未启用SSL/TLS或STARTTLS的IMAP/SMTP/POP3HTTP流量注入攻击:可植入漏洞利用代码或社交工程攻击(如诱导下载带毒Flash更新),参考Dark Hotel攻击案例SSLStrip 总结WPA2-PSK网络攻击者能力:解密所有HTTP/FTP/邮件协议密码实施SSLStrip等主动攻击监控用户活动开放WiFi与WPA2-PSK的实际区别仅在于:前者需要攻击者技能等级1/10,后者需要
4.2 sslstrip SSLStrip是一个网络攻击工具,旨在绕过安全传输层(SSL,Secure Sockets Layer)保护的网站。 SSLStrip的工作原理如下: 当用户尝试与一个使用HTTPS连接的网站建立通信时,攻击者将HTTP请求重定向到一个使用普通HTTP连接的伪造网站。 SSLStrip仅适用于那些没有全面实施HTTPS的网站。为了保护自己免受这种类型的攻击,用户应使用最新版本的浏览器,并尽量避免使用公共Wi-Fi网络或其他不受信任的网络连接。 而对于网站管理员来说,应该确保其网站全面实施了HTTPS,并采取其他安全措施来防止SSLStrip攻击。 命令执行: sslstrip -a -f –k -a选项表示将所有请求重定向到攻击者控制的设备上 -f选项表示强制使用HTTP而不是HTTPS -k选项表示忽略证书错误。
(3)利用sslstrip进行HTTPS 向下降级攻击。 将SSL strip将HTTPS请求改为HTTP请求,从而进行中间人攻击。
4.4 sslstrip+dns2proxy_hsts嗅探HTTPS网站帐号密码 先把工具的链接奉上: sslstrip:Kali下自带;如果是其他Linux版本,使用sudo apt install sslstrip命令安装即可。 sslstrip2 :作者因为某些原因删掉了原来的代码,这是我在另一处找到的。 (你也可以选择使用sslstrip) dns2proxy_hsts 嗅探HTTPS网站的帐号密码的思想就是将HTTPS降成HTTP,之后再嗅探HTTP网站的帐号密码。 最后,使用tail命令持续刷新显示sslstrip.log文件的新内容: tail -f sslstrip.log 下面是一组图片,有图有真相。 ? 这是某网站的登录入口。
看到这,也许大家都会想到一个经典的中间人攻击工具 —— SSLStrip,通过它确实能实现这个效果。不过今天讲解的,则是完全不同的思路,一种更有效、更先进的解决方案 —— HTTPS 前端劫持。 后端的缺陷 在过去,流量劫持基本通过后端来实现,SSLStrip 就是个典型的例子。 类似其他中间人工具,纯后端的实现只能操控最原始的流量数据,这严重阻碍了向更高层次的发展,面临众多难以解决的问题。 动态元素 在 Web 刚出现的年代里,SSLStrip 这样的工具还是大有用武之地的。那时的网页都以静态为主,结构简单层次清晰。在流量上进行替换,完全能够胜任。 这个想法确实不错,但仍停留在 SSLStrip 思维模式上。还是『替换』这条路,只是从后端搬到前端而已。 尽管这个方法能胜任大多场合,但仍然不是最完美的。 所以我们利用 SSLStrip 的方式,对脚本里的 https:// 的文本进行替换,也能起到一定的作用,毕竟大多脚本都对此毫无防备。
sslstrip 注意:此工具直接将客户端到中间人之间的流量变为明文,其它准备步骤相同,然后执行: sslstrip -l 8080 这样可以把 https 网站转化成 http,不再报证书错误 查看当前目录生成的 sslstrip.log 文件(默认只记录 post 的数据)可查看 post 的数据。
这里使用Moxie Marlinspike开发的sslstrip工具来实现: 首先打开sslstrip,指定监听的端口,默认为端口10000,这里使用默认端口,“-l 10000“可以不写。 sslstrip -l 10000 然后开启内核转发,将HTTP(80端口)的流量转发到sslstrip监听的端口上去。关于转发的具体选项可以参考我上一篇ARP欺骗与中间人攻击。 后记 中间人攻击的手段多种多样,用于MITM攻击的工具也已经有很多,比如driftnet、dsniff、ettercap、sslstrip等,本文主要介绍了其中的一部分;但是最主要的还是要理解其原理,即
然后再通过基本的监听或者sslstrip等工具窃取用户信息。当然再次基础上可以有很高的利用空间。 我翻阅了相关内容,消息的原作者提到了几篇论文。这几篇论文揭示了这遗漏的成因和具体的测试方法。
盗取后的危害 2.1 中间人攻击 当获取到无线密码后,黑客便拿到了进入无线局域网的权限,接下来比较常用的攻击手法就是进行中间人嗅探,通过ARP毒化并结合CAIN、wireshark、sslstrip SSLSTRIP:黑帽大会上Moxie Marlinspike发布的一款工具,可以突破经过ssl加密的协议(如https),配合ARP毒化进行中 间人攻击,可以实现HTTPS等协议的中间人嗅探。 下图为SSLSTRIP嗅探网银的原理: ?
针对其中的一些模块对应的中文解释如下: sslstrip模块 这个我不多说大家也都能明白,默认是开启的状态。 这里我尝试了用-d参数关闭了sslstrip,但是出现了无法使用的情况,应该是框架本身的bug。
/installer.sh --install 插件 net-creds dns2proxy sslstrip Transparent Proxy Transparent Proxy Transparent
包含的实用工具/脚本: IP表管理 HTTPS降级至HTTP 启用监控模式 启用端口转发 键盘记录 工具安装 首先,我们需要安装并配置好下列依赖组件: sslstrip pipenv Brutus专门针对