0x01 WiFi简介
智能手机的快速发展已将近十年左右,较之旧款的非智能手机,最大的区别应该是在于其强大的上网功能。在4G技术已经普及的今天,无奈国内的电信运营商们把移动联网流量的价格抬的让人无法深爱,加之家庭用户和企业用户对于物理网络线缆的愈发嫌弃,WiFi技术的飞速发展给大家带来了另一种畅游网络的便捷。人们已经习惯于保持手机的WiFi功能打开状态,习惯于走进一个理发店小饭馆先找找墙上哪里贴着WiFi账号密码的标签纸。但是便捷带来的不仅是使用的方便,还有常被人忽视的安全隐患。
我们先解释一下WiFi这个名词。WiFi普遍的定义是一种允许电子设备连接到一个无线局域网(WLAN)的技术,有些WiFi设置成加密状态,也有些WiFi是开放的、不需要密码即可接入的。最常见的WiFi信号来自于无线路由器,无线路由器如果本身连接到了互联网,那么它也可以被称为热点。WiFi其实就是一种把有线上网的方式转变为无线上网方式的技术,几乎现在所有的智能手机、平板电脑和笔记本电脑都具备WiFi接入功能。
WiFi技术是众多无线通信技术中的一个分支,常见的无线通信技术还包括3G/4G这类基于通信基站的移动通讯技术、蓝牙、红外线连接、NFC近场通讯、射频技术等,严格的讲“无线网”这个名词并不单指WiFi。在本系列文章中,我们主要介绍有关WiFi安全的知识,其他的无线通信技术暂不讨论。
在这里有必要特别说明,WiFi这个名词实际是代表了工业界成立于1999年的一个组织,称为Wi-Fi联盟,这个联盟致力于解决符合IEEE 802.11标准的网络通信产品生产以及设备兼容性的问题。久而久之人们习惯于用WiFi这个名词代表了无线局域网(WLAN)技术。随着科技的发展和人们对于网络的更高需求,IEEE 802.11标准衍生出来了很多的版本,为了便于大家的理解,我们列出了如下表所示的各版本基本信息:
标准说明802.11
发表于1997年,速率2Mbit/s,2.4GHz频道802.11a
发表于1999年,速率54Mbit/s,5GHz频道Q802.11b
发表于1999年,速率11Mbit/s,2.4GHz频道802.11c
符合802.11D的媒体接入控制层MAC桥接802.11d
根据多国无线电管理规定作出的调整802.11e
支持服务等级QoS802.11f
基站互连802.11g
速率54Mbit/s,2.4GHz频道802.11h
调整无线覆盖半径802.11i
补充安全与鉴权方面802.11n
多重I/O和40Mbit/s通道宽度,是a/g版本的延伸
除了表中列出的版本,IEEE 802.11还有一些改进型的技术,例如802.11g+或者802.11b+。不同的版本是针对不同的使用需求所做出的调整,对于我们目前常见使用的无线路由器或AP(无线接入点)等网络产品,IEEE 802.11b/g/n/ac版本的标准已经满足日常使用需求,并且主流无线网络设备均兼容这几个版本。为了让大家清楚直观的了解这些版本的主要区别,请看下图:
熟悉物理学中电磁知识的读者可能比较容易理解覆盖范围的问题,无线电频率越高,信息传输率就越高,但由此带来的电波衍射能力也就越低,因为频率越高波长越小,物理障碍能够大大衰减信号强度。在目前家庭用户的实际使用中,802.11b/g/n/ac的使用率最高,已经成为速度和可用性平衡度最高的版本。WiFi信号的这种覆盖特性决定了其应用场景,主要有家庭网络、校园网络、企业内部网络、区域范围智能设备控制网络、各类公共场所等。
前面我们说到,WiFi的这种技术实际是无线替代有线的作用,所以WiFi的网络结构与传统有线局域网的区别并不大,下图展示了WiFi网络的常见结构:
家庭网络的结构通常没有上图所示那么复杂,但基本架构不变。上图的AP(Access Point)即相当于无线路由器的作用,有线网络通过无线路由器等设备,自行建立一个无线局域网环境,使得具备无线接入功能的设备以无线方式接入路由器内网,通过路由器实现上网功能。AP以每100ms一次的频率由Beacons(信号台)将无线网络的SSID(Service Set Identifier)发射出去,确保覆盖范围内所有的无线客户端能够收到这个SSID广播封包,并依据无线客户端的需求决定是否要和此AP进行网络连接。通俗来说,就是无线路由器不断发射自己的“网络名字”出去,无线客户端的无线网卡接受到这个含有名字信号的才具备接入网络的基本条件。
0x02 WiFi网络的硬件组成
无线网络主要由基本服务单元(BSS)、站点(station)、接入点(AP)、扩展服务单元(ESS)组成。这里特别说明,在破解WiFi密码的过程中,BSS可以简单理解为无线路由器的MAC地址,站点就是已经连接到无线路由器的手机、平板等无线终端设备,接入点AP指无线路由器本身,ESS常见的表现形式是SSID,也就是大家给无线路由器信号设置的网络名称。
组建一套基本的WiFi网络环境,最常见的就是无线路由器和具备无线网卡的上网终端。无线路由器和无线网卡将传统的有线局域网络转变为方便人们使用的WiFi网络。这里我们着重介绍这两种网络设备。下图就是典型的无线路由器的外观图片:
无线路由器和普通的有限路由器并没有本质上的不同,额外多出的天线,将网络信号以无线电方式向外发送出去。无线路由器可以视为是将单纯的无线接入点和路由器二合一的扩展类产品,现在通常具备有DHCP服务器、支持VPN、支持内网带宽管理和DDNS功能、网络地址转换(NAT)等。
无线网卡可以是单独的一个设备,也可以集成在例如手机、平板电脑、笔记本电脑等具备无线联网功能的终端中。市场上常见的无线网卡有USB接口和PCI接口两种,下图是一个USB接口的无线网卡的外形:
无线网卡的功能比较简单,连接终端后以无线电的形式与无线路由器相配合,接收与发送网络信号,形成网络通信媒介。无线路由器和无线网卡的通信都基于802.11标准,都可以接收和发送网络信号。在我们后续讨论的基于WiFi的安全技术中,无线路由器和无线网卡扮演了最重要的角色,几乎一切的破解过程,都在于如何建立这两种设备的通信连接。
网络设备的生产商不会只局限于生产某一种设备,同品牌的无线路由器和无线网卡产品在市面上层出不穷,扩展功能也是创新不断。目前国内流行的无线网络产品品牌有TP-LINK、D-LINK、美国网件、水星、腾达等等。在这里我们需要说明,并不是同品牌的无线路由器和无线网卡相配合就能达到更好的破解效果。在WiFi安全技术中,最在意的是802.11标准的版本、无线网卡的芯片、无线路由器和网卡的发射功率等。
在具有针对性的WiFi网络入侵案例中,无线设备的发射功率是一个重要的考量标准。如何在更远的距离上获取更稳定可靠的通信线路一直是无线黑客们追求的目标。在这里,就不得不简单的介绍一下天线技术,也就是我们常见的各类无线设备发射接收信号用的天线。
无线网络设备的天线有外置式的,比如上图中伸出的天线,也有内置式的,比如集成在手机里的天线。天线分为全向天线和定向天线两种,简单可以解释为,全向天线的信号发射没有固定方向,在一定范围内全覆盖,比如我们常用的家用路由器上伸出的两根天线。全向天线的好处是在覆盖范围内几乎所有角落都能有信号,缺点就是覆盖范围的半径不会很大,因为发射的功率是360度全向散开的。定向天线一般用于工业控制和特殊需求的应用场所,是一种固定方向发射无线电信号的天线。不同于全向天线,定向天线一般发射功率较高,能够在较远的距离上接收和发射无线电信号,但信号传播方向比较狭窄,需要在固定的方向上安置对应的无线设备。在做WiFi破解的时候,选择合适的天线类型是每一个安全人员必须要考虑的问题。如果在淘宝上搜索『卡皇』、『蹭网卡』等关键词,所谓的大功率网卡(例如拓实等品牌)一般都是定向天线。
在这里需要提醒大家的是,所谓的大功率蹭网卡,虽然装备有定向天线,发射功率也比较大,但很多时候并不适用于连接较远距离的无线路由器或者AP。无线网络通信的稳定与速率也在于无线路由器或者AP本身的发射功率。大家知道无线电在空气中传播,尤其遇到障碍物后信号强度会显著衰减,距离越远、障碍越多,有效传输距离越近。所以即使购买了所谓的卡皇等定向无线网卡,能够搜索到远处更多的无线热点信号,也不一定能够建立有效连接,对方的无线路由器或AP的功率造成了这样的限制。
0x03 必知的一些名词和术语
SSID:Service Set Identifier,服务集标识符。用来标识某一无线局域网的唯一标识符,无线客户端用它入网后与接入点进行通信。SSID是人为可设置的,大家在设置无线路由器的无线信号时,自定义的无线网络名称就是SSID。SSID的存在可以将无线局域网划定为一个SSID名称对应一个密码,形成专用的一组认证机制。只有匹配成功的SSID名称和密码才能使无线客户端接入对应的无线网络。SSID信号由无线路由器或者AP进行向外发射。
WAP:Wireless Application Protocol,无线应用协议,利用它可以把网络上的信息传送到移动电话或其他无线通信终端上。
AP:Access Point,无线访问点或接入点。客户端需要连接AP才能获得登录互联网的能力。具备路由功能的AP就是一个无线路由器。 WEP:Wired Equivalent Privacy,802.11定义下的一种加密方式,是常见的一种无线网络的认证机制。这种加密认证机制基本已经被淘汰,是一种WiFi早期使用的加密方式,目的是给无线网络传输中的数据内容进行加密。WEP特性里使用了RSA数据安全性公司开发的rc4 ping算法。
WPA:WiFi Protected Access,常用的无线网络认证机制之一,有WPA和WPA2两个标准,并且分为个人和企业的WPA-Personal和WAP-Enterprise两种。它是为了完善WEP加密方式的安全性不足应运而生的一种加密方式。
Station:站点,网络最基本的组成部分,通常指接入网络的无线客户端,例如手机、笔记本电脑、平板电脑等。
BSSID:基本服务单元ID,在无线安全审计软件中通常显示为接入点的MAC地址。SSID和BSSID不一定一一对应, 一个BSSID在不同的信道上面可能会对应到多个SSID,但在一个信道上它们是一一对应的。
信道:Channel,是对频段的进一步划分,比如2.4G的频段范围再划分为几个小的频段,每个频段称为一个信道,处于不同传输信道上面的数据,如果覆盖范围没有重叠,那么不会相互干扰。信道选择可让设备自动进行,大家可以将网络通信链路想象为高速公路,那么信道就是高速公路上的各个车道。
信道宽度:Channel Width,例如有20MHz、40MHz等,表示一个信道的宽度。
抓包:将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作,在我们讨论的WiFi安全中,通常指无线数据包的截取等。
0x04 简单案例、防护提醒
家庭无线网络被攻破:
目前几乎每个家庭都有WiFi网络,已经成为生活中不可缺少的一部分。由于家用无线路由器的信号范围能够达到几十米,那么周围的邻居、楼下停车场的路人都有可能搜索到网络信号。部分以蹭网下载为目的的人员很有可能破解家庭WiFi密码,达到接入家庭网络后利用带宽进行大流量下载工作。如果攻击者具有其他目的,也很有可能在攻破WiFi网络后利用抓包,嗅探等后续的内网渗透方式攻击家庭内部的客户端,包括手机、笔记本电脑等,获取敏感的账号密码信息,对家庭成员的财务、隐私等造成损失。
企业无线网络被攻破:
如果一个企业的无线网络被攻破,通常情况下,攻击者能够顺利的加入内网环境,访问公司内部网络敏感资源,或者直接渗透进入敏感部门人员使用的计算机获取重要文件等。攻击者同样也可以进行上传木马、服务器提权等一系列的攻击手段。
WiFi的安全问题并不只有上述两种危害,在这里给大家先行提醒几个降低WiFi安全隐患的几点建议:
- 手机在不用WiFi时将WiFi功能关闭,需要时手动打开,可以避免连接设有陷阱的公共钓鱼WiFi信号,造成手机存储的一些敏感数据被盗。
- 避免在公共场所,例如火车站、机场、商场等地使用密码公开的公用WiFi。此时你和不怀好意的攻击者处于统一内网,很容易被进行钓鱼或者网络劫持。
- 自用的WiFi,SSID最好设置成中文名称,可以减低被破解的风险,因为国外的很多破解软件并不支持中文,会存在乱码问题。
- 自用的WiFi密码一定要设置的足够复杂,甚至像乱码一样,避免使用12345678这类弱口令,以及和家庭成员有关的密码设置,比如手机号、门牌号、姓名拼音等作为密码。
- 经常查看无线路由器的管理页面,查看有没有非授权用户接入自己的WiFi网络。
- 如果可能,在公共外出场所尽量使用手机数据流量进行上网,尤其是使用支付宝、登录某种账户等操作时,免费的WiFi总有可能会带来不安全的因素。