SSID(服务集标识符)也可以写成ESSID,用来区分不同的网络。它最多可以有32个字符。无线网卡可以通过设置不同的SSIDs来访问不同的网络。ssid一般是AP广播的,可以通过XP自带的扫描功能查看当前区域的ssid。出于安全考虑,不需要广播SSID,所以用户必须手动设置SSID才能进入相应的网络。简单地说,SSID是局域网的名称。只有SSID值相同的计算机才能相互通信。一个AP可以设置多个SSID,对应不同的业务需求。
目前绝大多数公司和家庭无线网络都设置为使用开放式WEP加密环境,即允许他人搜索接入点公开的SSID标识,这是通过无线路由器广播SSID来实现的。但就WEP加密而言,由于非常容易被破解,已经被公认为是一种非常具有威胁性甚至毫无意义的加密,远远不能满足更高的安全环境。那么稍微有点安全感的人就会想:既然如此,我还是把SSID广播关了吧,或者把AP的SSID名称弄得奇怪一点。不太好猜。是因为没人能破解我的无线网络,上不了内网吗?如下图1所示,在TP-LINK无线接入点设置页面,去掉“允许SSID广播”前的复选标记,关闭SSID广播。
图1在TP-LINK无线路由器中关闭SSID广播
对于Linksys品牌的无线路由器或其他无线制造商,您可以在无线设置的主配置页面上将相应的“无线SSID广播”设置为禁用。如下面的图2所示。
图2在Linksys无线路由器中关闭SSID广播
成功修改无线路由器上关闭SSID的设置后,还需要预设所有合法的无线客户端。这样,如果您不是合法的客户端,您将无法连接到此关闭SSID广播的无线路由器。当然,这也是国内大部分无线安全改进文章中考虑的。
Kismet这种无线黑客大多采用被动检测的无线检测工具,作为被动检测不仅隐蔽性强而且更可靠。如果选择主动探测,AP可以配置为不回复SSID设置为“任何”的探测请求帧。但是,如果使用被动探测工具来检测AP的SSID,则可能会延迟,因为AP被配置为不在广播信标帧中发送其SSID。无线网络的发现被延迟而不是被完全阻止的原因是,当合法用户稍后试图与AP连接时,SSID将以明文传输。
以前无线黑客发现这种等待很无聊,于是设计了一个叫Essid-Jack的工具来解决等待问题。这个工具在2005年拉斯维加斯的BlackHat全球黑帽大会上公开,当时轰动一时。不过可惜的是这个工具只支持802.11b,主要用于无线钓鱼攻击。
那么,对于目前流行的802.11b/g,恶意攻击者也想了很多办法来应对SSID广播关闭。常用的方法有三种,即包捕获分析、暴力破解和Deauth攻击。我们先来看看抢包分析方法。
方法1:收集袋分析。
顾名思义,包捕获分析就是简单分析一定数量的无线网络包就可以得到对方的SSID。例如,在Windows下工作的OmniPeek或Kelai网络分析工具可以在捕获一些无线数据包后分析SSID(见图3)。当然,使用Ethereal或者Wireshark也可以达到同样的效果。
图4使用tcpdump分析无线数据
攻击者也可以通过tcpdump实现。在Linux Shell下抓取包,耐心等待一会儿,您将看到SSID出现(参见图4)。同样,Kismet也很好用。
图4使用tcpdump分析无线数据的方法2:暴力破解方法
攻击者除了被动监听等待,还可以通过在线暴力破解猜测ESSID,支持字典攻击和纯暴力破解。
如图5所示,首先在相关工具上设置“蛮力模式”(该工具为MDK3的GUI版本,Java编译),可以从下拉菜单中选择目标SSID的可能组合。这里我们选择“LCase UCase”,其实就是小写和大写的缩写,即小写字母和大写字母。这个地方是根据需要设置的。
然后,将预先攻击的无线接入点的MAC地址和工作信道设置为下面的受害者规格。这些信息可以通过简单的预扫描获得,例如用空气探测。
图5设置为“强力模式”
接下来就可以进行线上攻击了。如图6所示,可以看到尝试破解SSID的速度是124包/秒,在左下角发送的包后面可以看到发送包总数的统计。
图6是暴力破解SSID
仅仅过了14秒,可以看到目标无线接入点的SSID已经被破解,如图7所示。
图7成功破解SSID为“真”
当然,如果对方用的是常规的词语、短语、生日等。作为SSID,也可以使用字典破解,如图8所示。选中“使用词典模式”,然后在下面的列中指定预编辑的特殊词典。我将在以后的文章中解释如何制作词典。
图8设置为字典破解模式。
图9显示了字典破解过程。可以看出,界面与纯暴力破解模式几乎相同,但破解效率略低于暴力破解。
图9字典在SSID中被破解。
放大图10,可以看到字典破解时成功加载字典时的提示是:方法三:Deauth攻击。
拒绝服务攻击是无线拒绝服务攻击的主要方式之一。简而言之,通过发送一个Deauth攻击数据包,无线接入点可以被强制从合法客户端断开连接。对于SSID广播已关闭的AP,由于原来连接的合法无线客户端会尝试重新建立与AP的连接,因此无线探头可以在重新连接时截获无线数据包中的SSID标识符,换句话说,广播禁用的SSID会重新生成其原型。具体步骤如下:
第一步:开启airodump-ng进行无线检测。可以看到,对于带有封闭SSID的AP,只能显示SSID的长度,如图11中的ESSID所示。
图11关闭SSID时扫描到无线接入点
步骤2:通过发送一个Deauth数据包,强制AP与连接的无线客户端断开连接,如图12所示。
图12发送Deauth攻击数据包
第三步:此时回到airodump-ng界面,可以看到原本无法显示的SSID的位置已经显示为7位“TP-LINK”。同时提示是SKA算法。接下来可以破解WEP或者WPA。
图13获取隐藏的SSID
所以关闭SSID广播确实是提高无线接入点安全性的措施,但并没有很多人想象的那么有效。攻击者至少可以通过上述三种方式轻松获取设置为关闭广播的SSID。上述方法对湿法磷酸和WPA2裂化也有效。