Wi-Fi 近源钓鱼实践

Wi-Fi 近源钓鱼实践

本人是得到合法授权的项目, 分享技术仅作学习使用

合法授权在公司做的攻防演练, 比较有趣稍微记一下

使用的设备

这次没有用多少设备, 主要是 Pineapple 和一些网卡等等, 没有全部拍下来

IMG_1193

这个 FlipperZero 还是比较有趣的, 专项肯定不如那些特化的产品, 但可以用来干很多事, 写功能也非常方便

攻击原理

这种攻击实际上被称为 Evil Twin Attack, 通过伪造一个 WiFi 引诱用户连接

伪造

能伪造的关键在于, 手机和电脑连接 WiFi 的时候都只会展示其名字也就是 SSID, 但这个 SSID 并不是唯一的. 最典型的场景是校园网环境, 在学校有无数的 AP, 你会收到很多信号, 但你只会在设置中看到一个名字. 真正区分连接到哪个 AP 靠的是 BSSID, 但你的设备不会展示这些差异, 而是在连接的时候会根据信号强度等条件来决定连接到哪个 AP

于是, 比如有一个 WiFi 叫 SC, 那我们就可以用一个高功率无线设备伪造一个 SSID 是 SC 的 WiFi, 用户连接的时候就大概率会连上我们伪造的 WiFi

断连

WiFi 可以伪造, 但在大多数情况下用户已经连接了 WiFi,我们需要让他们断开原有的连接并自动连接到伪造 WiFi,这时就会用到 WiFi 协议中的一个机制

WiFi 协议中定义了多种管理帧, 有一个是 Deauthentication Frame, 用于解除和设备之间的认证, 通过伪造这个帧让用户与 AP 断连, 这种被称作 Deauthentication Attack

也就是说我们有这样的流程: 伪造 WiFi -> deauth -> 用户连接 -> 劫持连接者

钓鱼

项目基本上都是要钓鱼, 钓鱼也就是像那些需要登录的 WiFi 一样弹出对应的页面就行, 获取我们想要的信息

弹页面的原理叫 Captive Portal, 在满足一定条件之前将用户的所有连接重定向到一个指定页面, 这里会存在一些设备问题导致无法自动弹窗

实施流程

收集信息

首先要做的是, 是收集在目标场景内的 WiFi 信息, 可以看看连上会发生什么等

比如连接你的校园网或者星巴克等等的时候, 弹出一个认证页面, 输入账号和密码才能使用网络

嗅探的时候用一些扫描器即可完成, Mac 可以 cmd + space 搜索: Wireless Diagnostics

由于我的项目是客户指定要伪造的 WiFi, 那是一个免费 WiFi 但需要登录验证身份, 所以我没得选

需要收集的信息也就是他们平时怎么用这个 WiFi, 喜欢用什么方式 (OA 账号密码/微信扫码等等) 登录, 以及一些网络环境的基础信息

准备环境

由于当时有专门的设备, 没有制作专门的工具

也可以仅靠网卡 + linux来实现, 最需要的其实是可以覆盖大范围区域的设备

准备一个专门用于接收数据的服务器, 保证受害者设备可以访问到就行

在伪造 WiFi 的设备上, 用另一张网卡去连接真正的 WiFi, 因为有时候会遇到需要验证码的情况并且这样也可以让用户使用网络更加逼真

根据目标定制一个页面, 这个页面可以通过一些网站克隆工具直接克隆. 比如克隆了一个登录页面, 需要修改其中登录的请求地址, 发到准备的服务器上

挑选场地

或许挑选场地也是有讲究的, 尽量不要在办公区影响到其正常业务, 我的选择会是公司食堂或者其他一些用于休闲且人多的地方

如果你要问会不会有人发现你带了电脑坐在那里, 并且有一对设备会很可疑. 这我只能说, 即使是大型甚至有很多搞技术的人, 也不会管你在那里干什么. 我在食堂坐了三天, 没有一个人怀疑...

实施攻击

实施攻击就比较简单了, 使用专门的设备操作都是写点服务器代码接收信息然后点点点, 如果使用 linux, 直接使用 aircrack-ng 套件和 wifipumpkin3 就行

伪造好, 四处游荡观察人类, 等一个大家都吃饭刷手机的时候, 让所有人断连 (这里我将我伪造设备的 BSSID 排除了, 可以保证别人只连我的), 就可以静待有缘人了

想法是很美好的, 想着: 大家会买好饭, 坐下刷视频, 网断了重新连上后输入账号密码继续刷视频, 我在背后悄悄获取他们的信息. 但当时由于设备只支持 2.4G, 而默认是连到 5G 频段的, 就不能使用相同的 SSID 了, 因为人家压根就不连你的 2.4G, 于是是在后面加了一个比如: SC-WiFi-2.4G. 而且很多人因为不想被公司监控, 压根就不连公司的网......

当时等了半天都没人连我的网, 很烦, 于是只能去当真正的坏人了 (没办法, 我也有指标需要完成啊......)

我第一天是假装连接公司网络的时候, 页面连不上卡住了, 我让同事在后台阻断我的连接, 导致看起来像是我获取验证码后点击登录没有反应. 我找了几个好大哥, 还有好姐姐, 有两个就成功上钩了, 我说我连不上想让他们试试能不能连, 教我操作一下我看看是不是我这里的问题, 有一个姐设备比较老弹不出认证页面, 这个哥就被我坑了......

第二天新设备还是没到货, 换了一套说辞, 说是网络部的, 最近公司把公司的网络分成了两个频段, 能不能帮我们测试一下 2.4G 的那个能不能用, 好完成任务交差. 也是用这样的理由钓到了一些......

感觉路有点走歪了, 这完全就变成了社工行为

第三天设备问题解决才实施了真正的攻击, 成果够了之后就停止了攻击

三天下来没有一个人发现问题, 我和同事在食堂坐了那么久并且设备就直接摆在桌子上也没人在意, 可见这次演练还是还是能发现很多问题的

防护

  • 检测短时间出现的大量同类帧
  • 验证 BSSID
  • 在支持的设备上, 启用 802.11w 协议
  • 使用 VPN