前置知识
1)无线网络安全及面临的潜在威胁
之前已说明了其危害性,这里不再重复阐述,其主要入侵方式可由图1表示。
javascript:dcs.images.doResizes(this,0,null); border=0>
图1
当黑客获得AP加密密码,即可在自己的无线网卡上进行对应配置,就可以通过该AP上网了。当然,换句话说,也就直接进入到对方内网了。
2)无线方面相关术语
AP是(Wireless)AccessPoint的缩写,即(无线)访问接入点。
WEP加密,指一种使用共享密钥和RC4加密算法。但由于自身算法本身的缺陷,使得攻击者可通过捕捉当前AP传输的数据帧进行IV(初始化向量)暴力破解。
WPA 加密,即Wi-Fi Protected Access, WPA的功能是替代现行的WEP(Wired Equivalent Privacy)协议,其加密特性决定了它比WEP更难以入侵。所以如果对数据安全性有很高的要求,那就必须选用WPA加密方式了(Windows XP SP2已经支持WPA加密方式)。
3)关于WPA的知识介绍
WPA是目前最好的无线安全加密系统,它是继承了WEP基本原理而又解决了WEP缺点的一种新技术。由于加强了生成加密密钥的算法,因此即便收集到分组信 息并对其进行解析,也几乎无法计算出通用密钥。其原理为根据通用密钥,配合表示电脑MAC地址和分组信息顺序号的编号,分别为每个分组信息生成不同的密 钥。然后与WEP一样将此密钥用于RC4加密处理。通过这种处理,所有客户端的所有分组信息所交换的数据将由各不相同的密钥加密而成。无论收集到多少这样 的数据,要想破解出原始的通用密钥几乎是不可能的。WPA还追加了防止数据中途被篡改的功能和认证功能。由于具备这些功能,WEP中此前倍受指责的缺点得 以全部解决。
WPA包括暂时密钥完整性协议(Temporal Key Integrity Protocol,TKIP)和802.1x机制。TKIP与802.1x一起为移动客户机提供了动态密钥加密和相互认证功能。WPA通过定期为每台客户 机生成惟一的加密密钥来阻止黑客入侵。TKIP为WEP引入了新的算法,这些新算法包括扩展的48位初始向量与相关的序列规则、数据包密钥构建、密钥生成 与分发功能和信息完整性码(也被称为Michael码),极大地提高了加密安全强度。
作为实际配置,WPA设置包含Pre-shared密钥和Radius密钥两种。Pre-shared密钥又有两种密码方式:TKIP和AES;RADIUS密钥利用RADIUS服务器认证,并可以动态选择TKIP、AES和WEP方式。
由 于WPA具有运行“预先共享的密钥模式”的能力,SOHO环境中的WPA部署并不需要认证服务器。与WEP类似,一部客户机的预先共享的密钥(常常被称为 “通行字”)必须与接入点中保存的预先共享的密钥相匹配,接入点使用通行字进行认证,如果通行字相符合,客户机则被允许访问接入点。
无线接入点WPA-PSK加密破解步骤
由于某些原因,我隐去了部分MAC地址,希望大家理解。
首先,在测试用D-LINK的无线AP上配置加密级别为WPA-PSK,启用TKIP。然后,在攻击者笔记本上使用BackTrack2光盘启动引导系统,也就是之前所说的BT2。进入系统后,来到Shell界面,输入“startx”进入图形界面。
在图形界面中,打开一个Shell,输入“ifconfig –a”查看当前网卡。这里我以USB网卡为例,可以看到有一个名为rausb0的网卡,状态是未载入,这里先不载入网卡驱动。
很 多新手在进行WPA破解时都会面临网卡驱动不支持的情况,这里为保证更多网卡的驱动能够识别并正常载入,应先升级Aircrack-ng 0.7 r214至较新版本AirCrack-ng 0.9.1r784,欣慰的是BT2里已经设计好了升级工具,方法如下,输入:
cd /
cd pentest/wireless
update-aircrack.sh
即可通过网络升级,如图2所示。
javascript:dcs.images.doResizes(this,0,null); border=0>
图2
升级完成后,输入“aircrack-ng”确认当前版本是否更新至aircrack-ng 0.9.1 r784,成功更新后,即可输入“ifconfig -a rausb0 up”来载入USB网卡驱动了。
接 下来,我们可以使用如Kismet、Airosnort等工具来扫描当前无线网络的AP。若使用Kismet的话,可以看到该软件很清晰地给出了AP频 道、流量及加密状况。然后,我们需要将网卡激活成monitor模式,才可以进行后续的破解,命令为:“airmon-ng start rausb0”。这里注意,若前面没有升级过,则显示可能如图3所示。若已升级至aircrack-ng 0.9.1,则显示如图4所示,可看到驱动已修正并正常加载。
图3
图4
之后输入命令开始嗅探并抓包,命令为“airodump-ng -w ciw.cap --channel 6 rausb0”,这里的ciw.cap就是我设置的抓包文件名,回车后可看到采用的是WPA加密,如图5所示。
图5
这 里为了便于WPA握手验证包的获取,必须进行Deauth验证攻击,这对于采用WPA验证的AP攻击都会用到,可以迫使AP重新与客户端进行握手验证,从 而使得截获成为可能。命令为:“aireplay-ng -0 10 -a AP\'s MAC rausb0”或者“aireplay-ng -0 10 -a AP\'s MAC -h Client\'s MAC rausb0”。这里解释一下,“-0”指的是采取Deautenticate攻击方式,后面为发送次数,“-a”后面跟上要入侵的AP的MAC地 址,“-h”建议还是使用,效果会更好,这个后面跟的是监测到的客户端MAC地址,如图6中显示的,最后是指定USB无线网卡,如图6所示。
图6
这里注意,Deauth攻击往往不是一次就能成功的。为了确保成功截获需要反复进行。需要说明的是,攻击期间很可能会导致该AP的其它无线客户端无法正常上网,即断网频繁,而且对于一些低端AP严重会导致其无线功能假死,无法ping通,需重启。
接 下来,我们还要建立破解WPA-PSK所需的字典。关于字典建立的工具有很多,这里鉴于篇幅不再深究,大家可自行建立。呵呵,其实BackTrack2已 为我们备好了破解字典。输入:“zcat /pentest/password/dictionaries/wordlist.txt.Z > password.txt”,就可建立一个名为password.txt的字典,里面包含了常用的单词、字母及数字组合。当然,可能你更需要些适合国内情 况的字典。
之后,我们就可以同步开启aircrack-ng来进行同步破解了,命令为:“aircrack-ng -w password.txt ciw.cap”,这里的“-w”是字典破解模式,password.txt就是刚才建立的字典,后面是我们即时保存的捕获到WPA验证的抓包文件,回车 后就可看到如图7所示的结果了。
图7
这 里请注意,破解时间取决于密码难易程度、字典包含程度、内存及CPU等。一般来说,破解WEP加密的时间最快可在1分钟左右,但破解WPA-PSK除非字 典确实很对应,最快的1分钟内即可,但绝大多数情况下都要花少则20分钟,多则数小时。毕竟,不是所有人都使用类似test、admin123之类密码 的。图8为WPA-PSK加密破解成功后的界面。
图8
除了AirCrack-ng,这里也可以使用Cowpatty进行WPA-PSK的破解,该工具为专门用于破解WPA-PSK密钥的,方法如下.
使 用Ethereal、WireShark之类的嗅探工具打开之前抓取的包含WPA握手的cap文件,使用eapol进行过滤,可看到抓取的Key数据,如 图9所示,将其另存为wpa.cap文件。然后就可使用Cowpatty配合字典进行破解了,具体命令为:“cowpatty -f passd.txt -r wpa.cap -s AP’sSSID –v”。这里的“-f”是字典破解模式,passd.txt为字典,“-r”后面是刚刚另存的WPA验证的抓包文件,“-s”后面跟的是监测到的AP的 ESSID,最后的“-v”是显示详细过程。图10即为使用Cowpatty破解WPA加密成功后的界面。
图9
图10
此 时既然已经获得WPA-PSK加密密码了,即可在自己的无线网卡上进行对应配置,就可通过该AP上网了。换句话说,也就连接到对方内网了,嘿嘿,如此一 来,无论对方在有线网络采用多强大的防火墙、IDS的配置架构,或者采取什么BSD、Unix操作系统,我们完全可以通过对无线网络的侵入将其全部绕过, 直接攻入内网。对指定目标的渗透,若无法通过注入提权之类的方式进入,不妨从无线领域试试,或许会有更大收获哦。
除此之外,破解中还会有一些细节问题,再简单跟大家说说。没有截获到WPA握手的数据包,在破解时会显示如图11所示的结果。在截获到WPA握手时,airodump-ng上有时会有提示,如图12所示。
图11
图12
WPA-PSK-TKIP和WPA-PSK-AES加密的区别
从 截获的握手数据包来看,WPA-PSK-TKIP的握手包验证部分会显示为EAPOL WPA Key(254),Key长度为32;WPA-PSK-AES的握手包验证部分会显示为EAPOL WPA Key(254),Key长度为16,若点击打开Key信息可以看到明确的AES加密提示,如图13所示。
图13
攻击中常见错误提示及解决方法
Q:为什么使用Aireplay进行的的Deauth攻击包会没有响应?
A: 原因主要有两个,一是可能该无线网卡对这些无线工具的支持性不好,比如很多笔记本自带的2200G无线网卡,这里指的是BT2下,Windows下破解要 求不同;二是无线接入点自身问题,有的AP在遭受攻击后会短时间内失去响应,需重启或等待片刻才可恢复正常工作状态。
Q:Windows下可不可以破解WPA-PSK?
A:可以使用Winaircrack进行破解,最终破解步骤类似。但若想用其进行完整攻击的话,由于其版本过于简化,会有很多无线网卡驱动不被支持。此外,它也基本不具备Deauth攻击能力,故很遗憾,不可以攻击,只可用于破解获得的WPA握手包。
最 后,我是ZerOne组长Christopher Yang,希望此文可加深大家体会无线安全领域发展形势,如文中有不明或表述有误的地方,恭请指正。ZerOne Security Team之前一直保持低调,最近才决定浮出水面,无线安全是我们的一个方向,正努力和国外相关技术接轨。