购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 主流无线攻击技术回顾

回顾2006年到2009年间的无线安全及攻击技术,经历了最早的研究、尝试、工具生成、私下传播到网站论坛的公开讨论等数个步骤,其中绝大多数内容都已经被国内外大量的无线黑客们所掌握。那么,本书作为《无线网络安全攻防实战》一书的延续,并不会用过多的篇幅讲述这些早已在2007年及2008年《无线网络安全攻防实战》一书中详细阐述的内容,但为了后面章节的理解,本节中将先对这些主流的无线攻击技术进行简单的回顾。

1.2.1 攻击WEP加密无线网络

由于无线WEP加密本身多个算法的脆弱性,使得该类型加密早已失去了其原本安全设计的意义。早在2007年,笔者就已经将详细的破解操作文章发表并被国内大量的网站、论坛及刊物引用。但遗憾的是,即使这样,直到目前,国内仍然有50%以上的无线用户在使用WEP加密。下面简要回顾一下目前针对有客户端环境和无客户端环境下破解WEP的几类方法,并将重点的步骤进行说明。在开始之前先回顾一下有客户端和无客户端环境的区别。

一般当前无线网络中存在活动的无线客户端,即有用户通过无线连接到无线AP上并正在进行上网等操作时,这样的环境称之为有客户端环境。而所谓无客户端环境指这样三种情况:一是当前无线网络中存在已连接的无线客户端,但该无线客户端没有进行上网等网络操作,处于几乎没有无线流量的状态;二是当前无线网络中没有任何无线客户端,但当前有用户通过有线方式连接至该无线路由器,并通过该无线路由器进行上网等操作;三是当前无线路由器上没有任何用户连接,无论有线无线。其中第三种情况在仅通过无线网络的情况下是几乎不可能进行破解的。

1.注入攻击(有客户端环境)

由于WEP破解基于有效数据报文的积累,也就是常提到的IVS。当收集到足够数量的IVS数据报文后,Aircrack-ng就能够进行破解。虽然说依靠单纯的等待也能够抓取足够数量的报文,但如何提高数据包的捕获速度也是无线黑客们考虑的重点。作为目前最为广泛使用的无线WEP攻击中,主要采用的就是通过回注数据报文来刺激AP做出响应,从而来达到增大无线数据流量的目的。

就以最为广泛使用的Aircrack-ng工具为例,下面将破解WEP的标准步骤列举,然后将其中最关键的步骤予以详细说明。如表1-2所示wlan0为无线网卡名称,mon0为处于激活状态下的无线网卡名称。

表1-2 破解WEP的标准步骤

续表

其中,较为关键的几个步骤如下:

步骤3:探测无线网络,抓取无线数据包。

在激活无线网卡后,就可以开启无线数据包抓包工具,这里使用Aircrack-ng套装里的airmon-ng工具来实现,不过在正式抓包之前,一般都是先进行预探测,来获取当前无线网络概况,包括AP的SSID、MAC地址、工作频道、无线客户端MAC及数量等。只需打开一个Shell,输入具体命令如下:

在看到预攻击的目标,比如这里为SSID名为TP-LINK的无线路由器,接下来输入命令如下:

参数解释:

--ivs 这里的设置是通过设置过滤,不再将所有无线数据保存,而只是保存可用于破解的IVS数据报文,这样可以有效地缩减保存的数据包大小,若不使用该参数则自动保存为.cap文件;

-c 这里设置目标AP的工作频道,一般通过预探测获知目标无线路由器工作频道,这里就是6;

-w 后跟要保存的文件名,这里w就是“write”,是“写”的意思,这里就写为longas。需要注意的是:这里虽然设置保存的文件名是longas,但是生成的文件却不是longase.ivs,而是longas-01.ivs。这是因为airodump-ng这款工具为了方便后面破解时调用,所以对保存文件按顺序编了号。以此类推,在进行第二次攻击时,若使用同样文件名longas保存的话,就会生成名为longas-02.ivs的文件。

按下Enter键后,就可以看到如图1-14所示的界面,airodump-ng开始抓取无线数据包。

图1-14

步骤4:对目标AP使用ArpRequest注入攻击。

若连接着该无线路由器/AP的无线客户端正在进行大流量的交互,比如使用迅雷、电驴进行大文件下载等,则依靠单纯的抓包就可以破解出WEP密码。但是无线黑客们觉得这样的等待有时候显得过于漫长,于是就采用了一种称之为“ARP Request”的方式来读取ARP请求报文,并伪造报文再次重发出去,以便刺激AP产生更多的数据包,从而加快破解过程,这种方法就称之为ArpRequest注入攻击。具体输入命令如下:

参数解释:

-3 指采用ARPRequesr注入攻击模式;

-b 后跟AP的MAC地址,这里就是前面探测到的SSID为TPLINK的AP的MAC;

-h 后跟客户端的MAC地址,也就是前面探测到的有效无线客户端的MAC;

最后跟上无线网卡的名称,这里就是mon0啦。

按Enter键后将会看到如图1-15所示的读取无线数据报文,从中获取ARP报文的情况出现。等待片刻之后,一旦成功截获到ARP请求报文,将会看到如图1-15所示的大量ARP报文快速交互的情况出现。

此时回到airodump-ng的界面查看,如图1-16所示可以看到,作为TP-LINK的packets栏的数字在飞速递增。

步骤5:打开aircrack-ng,开始破解WEP。

在抓取的无线数据报文达到了一定数量后,一般都是指IVs值达到2万以上时,就可以开始破解,若不能成功就等待数据报文的继续抓取,然后多试几次。注意,此处不需要将进行注入攻击的Shell关闭,而是另外开一个Shell进行同步破解。输入命令如下:

图1-15

图1-16

关于IVs的值数量,可以从如图1-17所示的界面中看到,当前已经接受到的IVs已经达到了1万5千以上。那么经过很短时间的破解后,就可以看到图中出现“KEY FOUND”的提示,紧跟后面的是16进制形式,再后面的ASCII部分就是密码啦,此时便可以使用该密码来连接目标AP了。一般来说,破解64位的WEP至少需要1万IVs以上,但若是要确保破解的成功,应捕获尽可能多的IVs数据。比如图1-18所示的高强度复杂密码破解成功依赖于8万多捕获的IVs。

图1-17

注意: 对于捕获的多个数据包可以一并使用,只要在载入文件时使用longas*.cap即可,这里的星号指代所有前缀一致的文件,如longas-01.cap、longas-02.cap等。尤其是对于一些采用较为复杂组合的WEP密码(如图1-18所示),捕获多个Cap文件,然后导入一起来破解是件很常见的事情。

图1-18

2.ChopChop攻击(无客户端环境)

ChopChop攻击属于无客户端破解攻击方式的一种,专门针对当前无线网络中不存在无线客户端连接或者仅存在少量无线客户端连接的情况,可以使用Aircrack-ng无线破解工具套装实现。不过下面就直接使用破解WEP常用到的图形化傻瓜式工具SpoonWEP2来实现。

SpoonWEP2是一款工作在Linux下图形界面自动化WEP破解软件,是由ShamanVirtuel基于Aircrack-ng的源代码编写的。它能够在黑客们指定工作的无线网卡后,自动进行WEP注入式攻击,并会在软件的右侧显示当前获取的WEP数据流中关键的IV值数量,在达到破解所需的数量后,会自动调用aircrack-ng破解程序进行WEP加密破解。需要强调的是,这款工具需要使用者先安装或者升级Java支持环境。

下面看看具体的使用方法,一样地,会对较为重要的步骤予以详细解释说明。

步骤1:先对当前网络进行基本的探测。

和前面讲到WEP破解一样要进行预先探测,来获取当前无线网络概况,包括AP的SSID、MAC地址、工作频道、无线客户端MAC及数量等。

步骤2:设定无客户端攻击方式&开始攻击。

接下来,打开SpoonWEP2工具,选择上方的“ATTACK PANEL”即攻击面板标签,在界面中间设置攻击方式及无线客户端MAC。这里选择为“CHOPCHOP&FORGE ATTACK”即之前所说的注入攻击方式。然后在“Inj Rate”处设定发包速率,可以设置为600以上,这里就直接设置为1000。

然后在中间的Victim Mac处设定预攻击的AP的MAC地址,由于是在无客户端破解模式下,所以Client Attack处是不可以填写的。确认无误,单击左上角的“LAUNCH”即可开始攻击,如图1-19所示。

图1-19

在单击“LAUNCH”后,在SPOONWEP2的一侧也将出现一个airodump-ng的Shell调用界面,在此shell中,能看到当前的AP及合法的客户端的无线报文交互情况。

在等待一会儿后,可以清楚地看到IVS的快速增长,如图1-20所示。

图1-20

步骤3:破解密码。

在捕获了足够数量的无线数据报文后,SpoonWEP2将自动破解出WEP密码。如图1-21所示,在工具界面的下栏出现的“WEP Key:【5A:65:72:4F:6E:65:53:65:63:54:65:61:6D】”即为目标AP所使用的WEP密码。

图1-21

把上面显示的WEP Key复制到前面章节提到的ASCII转换工具中,具体如图1-22所示,只要在上栏中破解出的16进制内容即“5A65724F6E655365635465616D”输入,注意把原来中间的冒号去掉,单击“十六进制转字符串”按钮就可转换成常用的ASCII码“ZerOneSecTeam”。接下来,攻击者只要在连接时注意区分大小写就可以连接该无线网络了。

图1-22

3.Fragment攻击(无客户端环境)

同样地,作为Fragment攻击,也是专门针对当前无线网络中不存在无线客户端连接或者仅存在少量无线客户端连接的情况所使用,同样可以使用Aircrack-ng无线破解工具套装实现。不过这里还是使用SpoonWEP2来实现。具体步骤如下:

步骤1与步骤2:与本节提及的ChopChop攻击方式中所描述的类似。

步骤3:设定无客户端攻击方式。

接下来,在SpoonWEP2的主界面上方选择“ATTACK PANEL”即攻击面板标签,在界面中间设置攻击方式及无线客户端MAC。这里选择为“FRAGMENTATION&FORGE ATTACK”即之前所说的注入攻击方式。然后在“Inj Rate”处设定发包速率,可以设置为600以上,这里就直接设置为1000。

然后在中间的Victim Mac处设定预攻击的AP的MAC地址,由于是在无客户端破解模式下,所以Client Attack处是不可以填写的。确认无误,如图1-19所示,单击左上角的“LAUNCH”即可开始攻击,如图1-23所示。

图1-23

步骤4:开始攻击。

单击左上角的“LAUNCH”,即可开始针对无线WEP加密的攻击和注入。如图1-23所示,可以看到在工具的中间栏中显示出当前攻击的状态,而在下栏中出现“13 IVS CAPTURED”及“WEP Key:Not Found”的显示,这里的意思即是说当前已经捕获到13个包含IV值的数据报文,但是通过这些报文还远远不能破解出WEP密码。

在单击“LAUNCH”后,在SPOONWEP2的一侧也将出现一个如图1-24所示的Shell,其实就是一个airodump-ng的调用界面,在此Shell中,能看到当前的AP及合法的客户端的无线报文交互情况。

图1-24

步骤5:破解密码。

在捕获了足够数量的无线数据报文后,SpoonWEP2将自动破解出WEP密码。注意观察,当在工具界面的下栏显示“ATTACK FINISHED”即攻击完成。这里显示的结果将如图1-21所示一样。

1.2.2 攻击WPA加密无线网络

1.传统WPA-PSK加密破解

WPA-PSK的破解基于WPA-PSK握手验证报文数据的获取与识别,攻击者只要能够获取到WPA-PSK握手数据报文,就可以导入Aircrack-ng进行暴力破解。下面将破解WPA-PSK的标准步骤列举,然后将其中最关键的步骤予以详细说明。

注意: 如表1-3所示wlan0为无线网卡名称,mon0为处于激活状态下的无线网卡名称。

表1-3 破解WPA-PSK的标准步骤

续表

其中,较为关键的几个步骤如下:

步骤4:进行Deauth攻击获取WPA握手报文。

和破解WEP时不同,这里为了获得破解所需的WPA-PSK握手验证的整个完整数据包,无线黑客们将会发送一种称之为“Deauth”的数据包来将已经连接至无线路由器的合法无线客户端强制断开,此时,客户端就会自动重新连接无线路由器,黑客们便有机会捕获到包含WPA-PSK握手验证的完整数据包。关于Deauth的概念及原理,请参考本书后面无线D.O.S的章节,此处具体输入命令如下:

参数解释:

● -0,采用deauth攻击模式,后面跟上攻击次数,这里设置为1,大家可以根据实际情况设置为5~10不等;

● -a,后跟AP的MAC地址;

● -c,后跟客户端的MAC地址;

按下Enter键后将会看到如图1-25所示的deauth报文发送的显示。

图1-25

此时回到airodump-ng的界面查看,如图1-26所示可以看到在右上角出现了“WPA handshake”的提示,这表示获得到了包含WPA-PSK密码的此握手数据报文,至于后面是目标AP的MAC,这里的AP指的就是要破解的无线路由器。

若没有在airodump-ng工作的界面上看到上面的提示,那么可以增加Deauth的发送数量,再一次对目标AP进行攻击。比如将-0参数后的数值改为10,如图1-27所示。

图1-26

图1-27

步骤5:开始破解WPA-PSK。

在成功获取到无线WPA-PSK验证数据报文后,就可以开始破解,输入命令如下:

参数解释:

● -w,后跟预先制作的字典,这里是BT4下默认携带的字典。

按Enter键后,若捕获数据中包含了多个无线网络的数据,也就是能看到多个SSID出现的情况。这就意味着其他AP的无线数据皆因为工作在同一频道而被同时截获到,由于数量很少所以对于破解来说没有意义。此处输入正确的选项即对应目标AP的MAC值,按Enter键后即可开始破解。如图1-28所示为命令输入情况。

图1-28

如图1-29所示可以看到,在双核T7100的主频+4GB内存的配置下,经过不到1分钟的等待,就成功破解出了密码。在“KEY FOUND”提示的右侧,可以看到密码已被破解出来。密码明文为“longaslast”,破解速度约为450 key/s。若是能换成4核CPU的话,还能更快一些。

图1-29

2.WPA PMK Hash破解

最近两年,关注WPA PMK Hash破解的人开始逐渐增多,我们也来简单回顾一下这一技术的发展。

2003年7月瑞士洛桑联邦技术学院Philippe Oechslin公布了一些实验结果,他及其所属的安全及密码学实验室(LASEC)采用了时间内存替换的方法,使得密码破解的效率大大提高。作为一个例子,他们将一个常用操作系统的密码破解速度由1分41秒,提升到13.6秒。这一方法使用了大型查找表对加密的密码和由人输入的文本进行匹配,从而加速了解密所需要的计算。这种被称作“内存-时间平衡”的方法意味着使用大量内存的黑客能够减少破解密码所需要的时间。以下为提取的Windows下用户密码保存的状态,可以看到是由一串字符编码组成,这样的字符串我们称之为NTLM Hash(此为Hash的一种)。

一些受到这样匹配查询原理启发的黑客们事先制作出包含几乎所有可能密码的字典,然后再将其全部转换成NTLM Hash文件,这样,在实际破解时,就不需要再进行密码与Hash之间的转换,直接就可以通过文件中的Hash散列比对来破解Windows账户密码,节省了大量的系统资源,使得效率能够大幅度提升。当然,这只是简单的表述,采用的这个方法在国际上就被称为Time-Memory Trade-Off,即刚才所说的“内存-时间平衡”法,有的地方也会翻译成“时间-内存交替运算法”。其原理可以理解为以内存换取时间,如图1-30所示。

图1-30

具体算法方面的内容本书就不再涉及,对于想进行更高深层次探究的读者,可以仔细参考2003年的这篇详细文档《Making a Faster Crytanalytical Time-Memory Trade-Off》以及2005年的文档《Time-Memory Trade-Offs:False Alarm Detection Using Checkpoints》,在本节后面会给出链接。

利用该原理制作的包含大量NTLM Hash的Hash库就被称之为Tables,其中最出名的就是Rainbow Tables(也称之为彩虹表)。而正是由于利用了该原理制作的Rainbow Tables的存在,使得普通电脑在5分钟内破解14位长足够复杂的Windows账户密码成为可能,如图1-31所示。

图1-31

从图1-31可以看到,类似于c78j33c6hnws、yemawangluo178、38911770这样的Windows账户密码几乎全部在180秒即3分钟内破出,最短只用了5秒,个别稍长的密码破解也没有超过5分钟。

那么,采用了类似于Rainbow Tables原理,通过Pre-Compute(预运算)的方式,来进行提前运算以生成WPA-PSK加密Hash,从而建立起来的WPA-PSK Hash Tables,被广泛地用于WPA-PSK的高速破解。其中,每一个Hash都是由64个16进制数的字符串组成,如下列所示。

这些字符串是由于WPA-PSK加密本身使用预共享密钥计算得出所致,该序列目前暂无有效的逆运算方法。需要说明的是,使用一般的工具是无法读取hash文件的。

关于使用WPA PMK Hash破解的效果,下面以同样配置的主机为例。如图1-32所示,在一般字典模式下,使用Cowpatty破解时的平均破解速度为153.61pass/s,即每秒钟破解153.61个密码。而在WPA Tables破解模式下,平均破解速度可达到100927.35 pass/s,通过如图1-32和图1-33所示的对比可以看到,破解速度提升了不止数倍,而是原来的近100倍。

图1-32

图1-33

当然,要说明的是,这些Tables的建立效率非常低下,加上每一个Hash都需要指定预攻击AP的SSID,想要建立一套针对所有常见接入点,并采用简单密码的WPA-PSK Hash Tables,其生成文件占据的硬盘空间需要2GB~5GB或以上。国外最早公布无线WPA Table的是一个名为The Church of WiFi的无线黑客组织,该组织在过去的两年里成功建立了庞大的WPA Table库,并将其简化的WPA-PSK Hash Table版本提供免费下载,但遗憾的是,即便是简化版本,其大小也已经超过了30GB。

而在国内,为了方便无线安全爱好者学习,ZerOne无线安全团队已经从团队内部的大型WPA PMK Hash库中提取出一小部分内容,专门制作出无线安全破解专用的DVD光盘,并于2008年11月在广州举行的全国首届无线安全交流会上公开发布并提供了免费下载。光盘封面如图1-34和图1-35所示,其中包含的WPA PMK Hash Table已全部经过测试可用,所含SSID均为ZerOne无线安全团队在对多个省会城市进行多次实地War-Driving无线探测的基础上,从汇总数据中精心挑选出国内使用频率最高的前62个SSID整理而成。光盘里除了包含多达40余种8位以上生日类密码组合外,还包括了8位以上普通用户常用密码组合,总容量达4.4GB,可用于进行无线安全密码破解测试、无线渗透测试及安全评估等。

图1-34

图1-35

该DVD光盘内除了主要包含的大容量WPA-PSK/WPA2-PSK破解用Hash Table以外,为方便使用者学习及借鉴,还附带了由ZerOne安全团队近年来对一些省会城市进行War-Driving的官方探测汇总报告,此外,还准备了相关无线安全教程的文档及资源列表。希望借此给国内的无线安全同行研究无线网络安全带来实质性的帮助。

不过要强调一点,单纯依靠这4GB的Hash,并不能解决实际破解中遇到的所有密码组合类型,这张DVD仅为测试时学习使用。更何况通过基本概率论的计算结果,大家应该也都知道密码破解是永远也做不到100%成功的,只是在理论上尽可能包含更多地可能性罢了,比如若不嫌麻烦,完全可以将WPA-PSK密码设置成大小写字母+数字且长度超过16位,这样这些Hash就基本派不上用处了。当然,这也会给实际连接造成很多不便,比如经过实测发现WPA密码若稍微复杂一点且长度为12位以上基本上很多AP的响应就变得很缓慢甚至很难连接上,所以目前绝大多数正在使用的WPA-PSK密码仍然以8~10位为主。

1.2.3 小结

本节所述的主流无线攻击技术目前仍在被国内外的无线黑客、爱好者及安全人员广泛使用。但众所周知,随着时代的发展,技术永远不会停滞不前,那么又有什么新的技术或者设备被提出或使用呢?接下来看看1.3节,无线黑客的新选择。

本节相关链接:

1.《Making a Faster Crytanalytical Time-Memory Trade-Off》一文下载地址:

http://lasecwww.epfl.ch/~oechslin/publications/crypto03.pdf

2.《Time-Memory Trade-Offs:False Alarm Detection Using Checkpoints》一文下载地址:

http://lasecwww.epfl.ch/~oechslin/publications/oechslin-indocrypt-05.pdf

3.著名的无线黑客组织Church of WiFi的WPA Rainbow Tables项目。

官方网址:http://www.churchofwifi.org

4.由Shmoo无线黑客组织公开的33GB简化版WPA Rainbow Table下载,资源网址:http://umbra.shmoo.com:6969 FQB46v9TycrrjkYaZ6cVVaBgPA061teSNJ5A4IWXfa4jt/3l+vLScJ+Nqe29ckhP

点击中间区域
呼出菜单
上一章
目录
下一章
×