【颖奇L’AmoreのWiFi安全系列】#5 突破有安全策略与连接限制的 WIFI 网络 1 min read
本文最后更新于 607 天前,其中的信息可能已经有所发展或是发生改变。

Author: iSafe.颖奇L’Amore

Blog: www.gem-love.com

iSafe Team: ixsec.org

本文章部分内容最初发表于由爱安全iSafe Team运营的《安全档案》杂志第二期。关于本文的内容,没啥理论知识。


0x01 前言

无线网络发展到今天,已经几乎全部覆盖了,无论是家庭、企业,还是城市的街道,到处都是Wi-Fi,很显然家庭无线占得比例也是相当可观的,然而家庭网络架构简单,网络设备低端,支持 Feature 较少,安全程度得不到特别充分的保障。

虽然市面上的家用路由器绝大部分都支持 802.1x,但是基本上也没有人会刻意准备一台认证服务器,基本上都是使用的 WPA/WPA2-家庭版的认证体系。在此体系的保障下,还有一些安全机制可以加固安全性。一般的家用胖 AP 会提供如下安全机制

  • Mac Address Filter,顾名思义就是基于 MAC 地址做黑名单/白名单用以限制 STA。
  • No SSID Broadcast,关闭 SSID 广播以保证足够的隐蔽性。
  • 家长控制与行为控制
  • 关闭DHCP

一般家用都是胖 AP(Router),会集成了 DHCP Server 的功能,那么如果关闭了 DHCP server,STA 就必须手动指定静态 IP/Mask 才可以正常接入,如果客户端并不知道该广播域的地址/网段,那么没办法连接。因此,关闭 DHCP 功能也被视为一个安全机制,虽然它设计的初衷并不是站在安全的角度考虑的。


0x02 环境介绍

  • SSID:iSafe_Network
  • Auth:WPA2-Personal
  • Encr:AES
  • PSK:SecurityFile
  • VLAN:10
  • Network:172.31.10.0/24
  • Default-GW:172.31.10.254
  • AP:Cisco Smallbusiness Series(美版固件,语言只能用英文)

如图所示是该 iSafe_Network 的安全设置:

关闭了 SSID 广播:

开启白名单方式的 Mac Address Filter,并且添加一个合法 MAC 地址:

关闭 VLAN10 的 DHCP 服务


0x03 合法主机测试连接

①  确保合法主机的 MAC 地址添加进了白名单(即上图的 XXXX.XX9A.8869)

②  手动设置静态地址。

打开网络和共享中心-更改适配器设置

选择我们使用的无线网卡,右键-属性-双击 IP 版本 4(TCP/IPv4)-手动设置 IP 地址-确定 如图

③  Win10 可以直接看到隐藏的网络,直接点击链接然后输入 SSID 和密码就可以。

如果是 win7 win8 在我的记忆里是没有这个“隐藏的网络的”,需要手动添加(win10 也可以这样子)

  1. 网络和共享中心-设置新的链接或网络

  1. 手动连接到无线网络-选择你的无线适配器(无线网卡)-输入下面这些东西并且勾上“即使网络未广播也连接”-下一步

  1. 你会看到“成功的添加了 iSafe_Network” 然后来到 WIFI 列表 连接即可
  2. 如图 连接成功


0x04 破解密码并拿到未广播的 SSID

对于如何破解 WPA/WPA2-个人的预共享密钥并不是本文的重点,你可以使用 aircrack-ng/cowpatty/hashcat/pyrit/ewsa 等任何工具任何方式,在本系列文章第二篇已经介绍过。

首先我们针对该无线 WIFI 抓包,由于未广播 SSID(Beacon 帧中不携带具体 SSID),所以我们只能看到他的长度为 13(iSafe_Network 一共 13 个字符)

由于未广播 SSID,客户端连接时必须要在 Probe Request 帧中携带 SSID,即主动探测, AP 的回应报文为 Probe Response。由于这种 802.11 管理帧又是广播帧又不会加密,因此作为攻击者,我们也会抓到 Probe 报文,这时候 SSID 就得到了。只要有客户端连接就会得到 SSID 因此我们可以选择等待,如果你没有耐心,DeAuthentication 攻击是一个不错的选择。

现在,抓到了握手包的同时,也得到了未广播的 SSID!关闭 SSID 广播也不过如此!

破解密码,不再赘述


0x05 拿到该网络的三层地址即 IP 地址/子网掩码

注:方法很多,仅介绍一种

找到我们抓到的带有四次握手的 cap 报文,wireshark 打开它,现在是加密的。

Edit(编辑) – Preference(首选项) – Protocol(协议)

IEEE 802.11 – Enable Decrypt(使能解密) – Decryption Key Edit(编辑解密密钥)     – 新建 – 选择 wpa-pwd – 输入 PSK:SSID – 确定

这时,已经是明文了,当然还会有 802.11 报文存在,你只要使用 Filter 即可。

虽然我们可以在网络层获得 IP 地址,但是子网掩码是不会携带在 IP 报文中的,因为他对于域外主机来说毫无意义,当然这时候已经很简单了,下面介绍几个判断网络长度的技巧

  • ① 家庭网络,100 个里面 99 个都是/24。
  • ②  直接试!首选有类,有类中首选 C 类,一般都是/24,有类错误的话那就是 VLSM,从/30 始网络逐渐增大,因为/32 和 31 肯定是不可能的。网络管理员既然要用 VLSM(可变长子网掩码),肯定是掩码变长,/25-/30 的可能性会非常大。还不行,继续往短了缩,毕竟掩码最长也就 32 那么长,选项很少的!
  • ③  现在我们只是实验环境,只有一台主机,然而真实环境中可能会有十几台甚至几十台设备,通过报文中他们的 ip 地址范围来判断。

比如有如下几个地址:

10.1.1.1 , 10.1.1.10 , 10.1.1.254 , 10.1.0.200

那么很显然,最长也只能是 255.255.254.0 了,因为/23 的广播地址正好

然他可以更短,因此你的选择是/23-/1

于是我们根据上面的几个小技巧,成功判断出 iSafe_Network 的网络为 172.31.10.0/24,设置一下我们的网卡的静态 ip 地址即可,注意不要出现地址重复的现象,过程略。


0x06 突破 Mac Address Filter

在我们抓包的时候,就看到了一个客户端了,记下他的 mac 地址(即这个 xxxx.xx9a.8869)

然后我们把自己的网卡的 MAC 地址修改为这个合法 MAC 即可,修改前需要先 down 掉网卡。

在 Windows 下有很多 mac 地址修改器,我们可以百度下一个,类似这样的:

Kali Linux 下可以用自带的 macchanger 工具,如图:


0x08 上网行为管理

大部分家庭路由器主要存在两种行为控制情况:

  • 行为管理
  • 家长控制
行为管理白名单

一般人不会设置白名单,太影响自己上网了(其实黑名单也很少)。这里我设置了一个黑名单,禁止特定网段(172.16.1.100-172.16.1.200)内的主机访问Y1ng.net

由于这个行为管理,无法访问y1ng.net

最简单的办法就是手工配置IP地址,跳出配置的禁用网段范围即可。对于到底应该怎么配置IP地址,首选讲地址配置为个位数、两位数或者200+,因为默认的DHCP地址池通常都是100-200

不过就算是白名单模式,也依然有办法

行为管理白名单&家长控制

在有小孩的家庭,家长控制还是挺受欢迎的,因为家长控制和行为管理的白名单原理方法都类似,就在一起介绍。

在家长控制中,需要添加设备白名单,除白名单外的设备全部收到控制

方法1:手工设置为家长设备的IP地址和MAC地址(参考MAC地址过滤部分的方法)

方法2:将流量封装进隧道。这不能一概而论,不同的设备不一样:

  • 有些设备会对全部流量进行拦截丢弃,这没办法
  • 有些设备会选择性拦截,比如80 443等常用端口,所以只要走不常用端口即可
  • 有些设备则会选择性不拦截,比如DNS的端口,将流量封装进隧道走这些端口得以逃逸
  • 有些设备会拦截TCP而放行UDP,比如Wireguard使用UDP传输。

对于大学Wi-Fi的限流量、上网行为管理等,这些方法同样适用。

颖奇L'Amore原创文章,转载请注明作者和文章链接

本文链接地址:https://www.gem-love.com/wlan/103.html

注:本站定期更新图片链接,转载后务必将图片本地化,否则图片会无法显示

暂无评论

发送评论 编辑评论

上一篇
下一篇