本文讲的是高效的Wi-Fi钓鱼:燥起来吧,
最近几年,随着WPA2的应用,无线网络的安全性得到了改善,WPA2则采用了更为安全的算法。CCMP取代了WPA的MIC、AES取代了WPA的TKIP。这点对于渗透测试人员来说,无疑是个挑战。现代的可以达到每秒80000计算量的GPU需要用30天才能破解一个8位的密码。因此,Wi-Fi钓鱼攻击就显出它巨大的优势。
Wi-Fi钓鱼主要有两个步骤,第一步包括在用户没察觉的情况下连接上Wi-Fi客户端(例如KARMA / Evil Twin 技术),第二步是给受害者一个可以以假乱真的登录界面。让用户相信这个登录界面是合法的,并且输入账号密码。在这个页面上,必须为特定的用户专门产生一些特定的东西,比如说,目标用户的AP名称。这取决于对事先的信息收集,总之,展示给用户的合法信息越多,用户就会认为这个伪造的页面越真实。
如果你对目标使用的服务和技术不懂话的,至少以下两方面的信息是你必须要收集到的:
Beacon 帧(物理层): IEEE 802.11的管理帧中其中一种就是Beacon帧,是由AP产生的,周期性广播该无线网络信息。其中包括ESSID、加密方式和AP的BSSID User-Agent头(应用层):一个HTTP请求头通常包含很多特征信息,这些特征有一些就是对网络环境的描述,通过受害者访问我们控制的网站留下的http请求信息,我们可以从请求头中找到一些有趣的信息,例如浏览器信息和受害者使用的系统
有趣的是,通过beacon帧甚至我们可以判断出路由器产商的信息。例如,如果MAC地址的开头是“00:12:17”,我们就能知道是Linksys路由器产生的广播帧。
知道了这些后,我们就能手工的伪造响应路由器配置页面,如下图:
如图,受害者AP的BSSID和目标网络的加密方式都在钓鱼页面中模拟出来了。这种方式让钓鱼页面看起来非常可信,也是过去常用的一种手法。
但是,对于一些高级的用户还是不会成功的,那么,以下这种方式就可以大大增加成功率,如下图:
在这次条鱼攻击中,我们首先让受害者以为自己的网络连接有问题,页面上显示的是“No Internet Connection”。通过我们事先获取到的HTTP请求头中的User-Agent字段中显示的,受害者用的是Chrome浏览器,我们伪造一个chrome的无法连接页面。
同时,我们收集到用户使用的是Windows,这样的话,我们同时在web页面中伪造一个windows的网络连接页面,通过这个让受害者以为这个是系统弹出的网络连接页面。
这里,受害者几乎很难判断出这个弹出是操作系统的UI还是web页面模拟的。如下图,我们将操作系统的网络登录窗口和HTML伪造的系统登录窗口做下对比。上面一个是我们伪造的web页面,而下面是真实的。
以上的钓鱼攻击可以使用最新版本的Wifiphisher v1.2来实现,Wifiphisher是一个开源的钓鱼项目。
原文发布时间为:2017年1月30日
本文作者:Change
本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。