无法通过 sslstrip、arpspoof 将 https 降级为 http

信息安全 中间人 ARP欺骗 ssls带
2021-08-29 00:03:37

我一直在关注本指南:https ://www.cybrary.it/0p3n/using-sslstrip-in-kali-linux/ 和其他人,例如:官方 Sslstrip 一:https ://moxie.org/software/ sslstrip/ 没有任何成功。

我正在使用:

5.2.0-kali2-amd64 #1 SMP Debian 5.2.9-2kali1 (2019-08-22) x86_64 GNU/Linux
sslstrip 0.9 by Moxie Marlinspike

和arpspoof。

我先跑:

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -p tcp  –destination-port 80 -j REDIRECT –to-port 8080

然后进行arp欺骗:

arpspoof -i <interface> -t <targetIP> -r <gatewayIP>

然后sslstrip:

sslstrip -w testfile.txt -l 8080 

然后我要去我的目标机器,运行 Safari 浏览器的 iPhone。我正在删除所有缓存和临时文件。我正在浏览非 HSTS 预加载网站(linkedin.com、zsecurity.org)。我没有指定 https:// ,而只是指定域名(例如:linkedin.com)。他们仍然在 https 中加载。

我在另一个运行 Windows 和 Internet Explorer 的客户端上对此进行了多次测试。同样的结果,我不能让目标强制使用 http。

来自 sslstrip 的 testsfile.txt 是空的。我期待客户端会打开 http 网页。

我究竟做错了什么?

2个回答

首先:sslstrip 所做的是在被劫持的非 https 网站上非 https链接替换https链接。例如,当受害者通过不安全的公共 wifi 访问仅限 http 的搜索引擎时,攻击者可以使用 sslstrip 将搜索引擎结果中的 https 链接替换为仅限 http 的链接。

我猜你的目标网站(例如linkedin)总是重定向到https,不管受害者试图打开什么。并且一开始就不允许 http 连接。

最后但并非最不重要的一点是,就像评论中已经提到的其他人一样,目标网站很可能在第一个响应中设置了一个 strict-transport-security 标头(甚至是一个很容易被忽略的 OPTIONS 响应),这将阻止浏览器从允许仅 http 连接。

我认为删除缓存和 tmp 不足以删除 HSTS 条目。对于 safari 浏览器,例如有文件“~/Library/Cookies/HSTS.plist”,其中 HSTS 是安全的。从桌面进行测试时,您需要删除此文件。