转自:http://blog.sina.com.cn/s/blog_9dbe66210101jilb.html
本章的内容适用于目前市面所有主流品牌无线路由器或AP如Linksys、Dlink、TPLink、BelKin等。涉及内容包括了WEP加密及WPA-PSK加密的无线网络的破解操作实战。
什么是Aircrack-ng
Aircrack-ng是一款用于破解无线802.11WEP及WPA-PSK加密的工具,该工具在2005年11月之前名字是Aircrack,在其2.41版本之后才改名为Aircrack-ng。
Aircrack-ng主要使用了两种攻击方式进行WEP破解:一种是FMS攻击,该攻击方式是以发现该WEP漏洞的研究人员名字(Scott Fluhrer、Itsik Mantin及Adi Shamir)所命名;另一种是KoreK攻击,经统计,该攻击方式的攻击效率要远高于FMS攻击。当然,最新的版本又集成了更多种类型的攻击方式。对于 无线黑客而言,Aircrack-ng是一款必不可缺的无线攻击工具,可以说很大一部分无线攻击都依赖于它来完成;而对于无线安全人员而 言,Aircrack-ng也是一款必备的无线安全检测工具,它可以帮助管理员进行无线网络密码的脆弱性检查及了解无线网络信号的分布情况,非常适合对企 业进行无线安全审计时使用。
Aircrack-ng(注意大小写)是一个包含了多款工具的无线攻击审计套装,这里面很多工具在后面的内容中都会用到,具体见下表1为Aircrack-ng包含的组件具体列表。
表1
组件名称 | 描 |
aircrack-ng | 主要用于WEP及WPA-PSK密码的恢复,只要airodump-ng收集到足够数量的数据包,aircrack-ng就可以自动检测数据包并判断是否可以破解 |
airmon-ng | 用于改变无线网卡工作模式,以便其他工具的顺利使用 |
airodump-ng | 用于捕获802.11数据报文,以便于aircrack-ng破解 |
aireplay-ng | 在进行WEP及WPA-PSK密码恢复时,可以根据需要创建特殊的无线网络数据报文及流量 |
airserv-ng | 可以将无线网卡连接至某一特定端口,为攻击时灵活调用做准备 |
airolib-ng | 进行WPA Rainbow Table攻击时使用,用于建立特定数据库文件 |
airdecap-ng | 用于解开处于加密状态的数据包 |
tools | 其他用于辅助的工具,如airdriver-ng、packetforge-ng等 |
Aircrack-ng在 BackTrack4 R2下已经内置(下载BackTrack4 R2), 具体调用方法如下图2所示:通过依次选择菜单中“Backtrack”—“Radio Network Analysis” —“80211”—“Cracking”—“Aircrack-ng ”,即可打开Aircrack-ng的主程序界面。也可以直接打开一个Shell,在里面直接输入aircrack-ng命令回车也能看到 aircrack-ng的使用参数帮助。
◆使用Aircrack-ng破解WEP加密无线网络
首先讲述破解采用WEP加密内容,启用此类型加密的无线网络往往已被列出严重不安全的网络环境之一。而Aircrack-ng正是破解此类加密的强力武器中的首选,关于使用Aircrack-ng套装破解WEP加密的具体步骤如下。
步骤1:载入无线网卡。
其实很多新人们老是在开始载入网卡的时候出现一些疑惑,所以我们就把这个基本的操作仔细看看。首先查看当前已经载入的网卡有哪些,输入命令如下:
ifconfig
回车后可以看到如下图3所示内容,我们可以看到这里面除了eth0之外,并没有无线网卡。
图3
确保已经正确插入USB或者PCMCIA型无线网卡,此时,为了查看无线网卡是否已经正确连接至系统,应输入:
ifconfig -a
参数解释:
-a
如下图4所示,我们可以看到和上图3相比,出现了名为wlan0的无线网卡,这说明无线网卡已经被BackTrack4 R2 Linux识别。
图4
既然已经识别出来了,那么接下来就可以激活无线网卡了。说明一下,无论是有线还是无线网络适配器,都需要激活,否则是无法使用滴。这步就相当于Windows下将“本地连接”启用一样,不启用的连接是无法使用的。
在上图4中可以看到,出现了名为wlan0的无线网卡,OK,下面输入:
ifconfig wlan0 up
参数解释:
up
图5
当然,通过输入iwconfig查看也是可以滴。这个命令专用于查看无线网卡,不像ifconfig那样查看所有适配器。
iwconfig
该命令在Linux下用于查看有无无线网卡以及当前无线网卡状态。如下图6所示。
图6
步骤2:激活无线网卡至monitor即监听模式。
对于很多小黑来说,应该都用过各式各样的嗅探工具来抓取密码之类的数据报文。那么,大家也都知道,用于嗅探的网卡是一定要处于monitor监听模式地。对于无线网络的嗅探也是一样。
在Linux下,我们使用Aircrack-ng套装里的airmon-ng工具来实现,具体命令如下:
airmon-ng start wlan0
参数解释:
start
如下图7所示,我们可以看到无线网卡的芯片及驱动类型,在Chipset芯片类型上标明是 Ralink 2573芯片,默认驱动为rt73usb,显示为“monitor mode enabled on mon0”,即已启动监听模式,监听模式下适配器名称变更为mon0。
步骤3:探测无线网络,抓取无线数据包。
在激活无线网卡后,我们就可以开启无线数据包抓包工具了,这里我们使用Aircrack-ng套装里的airmon-ng工具来实现,具体命令如下:
不过在正式抓包之前,一般都是先进行预来探测,来获取当前无线网络概况,包括AP的SSID、MAC地址、工作频道、无线客户端MAC及数量等。只需打开一个Shell,输入具体命令如下:
airodump-ng mon0
参数解释:
mon0为之前已经载入并激活监听模式的无线网卡。如下图8所示。
图8
回车后,就能看到类似于下图9所示,这里我们就直接锁定目标是SSID为“TP-LINK”的AP,其BSSID(MAC)为“00:19:E0:EB:33:66”,工作频道为6,已连接的无线客户端MAC为“00:1F:38:C9:71:71”。
图9
既然我们看到了本次测试要攻击的目标,就是那个SSID名为TP-LINK的无线路由器,接下来输入命令如下:
airodump-ng --ivs –w longas -c 6 wlan0
参数解释:
--ivs
-c
-w
图10
注意:这是因为airodump-ng这款工具为了方便后面 破解时候的调用,所以对保存文件按顺序编了号,于是就多了-01这样的序号,以此类推,在进行第二次攻击时,若使用同样文件名longas保存的话,就会 生成名为longas-02.ivs的文件,一定要注意哦,别到时候找不到又要怪我没写清楚:) 啊,估计有的朋友们看到这里,又会问在破解的时候可不可以将这些捕获的数据包一起使用呢,当然可以,届时只要在载入文件时使用longas*.cap即可,这里的星号指代所有前缀一致的文件。 |
步骤4:对目标AP使用ArpRequest注入攻击
若连接着该无线路由器/AP的无线客户端正在进行大流量的交互,比如使用迅雷、电骡进行大文件 下载等,则可以依靠单纯的抓包就可以破解出WEP密码。但是无线黑客们觉得这样的等待有时候过于漫长,于是就采用了一种称之为“ARP Request”的方式来读取ARP请求报文,并伪造报文再次重发出去,以便刺激AP产生更多的数据包,从而加快破解过程,这种方法就称之为 ArpRequest注入攻击。具体输入命令如下:
aireplay-ng -3 -b AP的mac -h 客户端的mac mon0
参数解释:
-3
-b
-h
最后跟上无线网卡的名称,这里就是mon0啦。
回车后将会看到如下图12所示的读取无线数据报文,从中获取ARP报文的情况出现。
图12
在等待片刻之后,一旦成功截获到ARP请求报文,我们将会看到如下图13所示的大量ARP报文快速交互的情况出现。
图13
此时回到airodump-ng的界面查看,在下图14中我们可以看到,作为TP-LINK的packets栏的数字在飞速递增。
步骤5:打开aircrack-ng,开始破解WEP。
在抓取的无线数据报文达到了一定数量后,一般都是指IVs值达到2万以上时,就可以开始破解,若不能成功就等待数据报文的继续抓取然后多试几次。注意,此处不需要将进行注入攻击的Shell关闭,而是另外开一个Shell进行同步破解。输入命令如下:
aircrack-ng 捕获的ivs文件
关于IVs的值数量,我们可以从如下图15所示的界面中看到,当前已经接受到的IVs已经达到了1万5千以上,aircrack-ng已经尝试了41万个组合。
图15
那么经过很短时间的破解后,就可以看到如下图16中出现“KEY FOUND”的提示,紧跟后面的是16进制形式,再后面的ASCII部分就是密码啦,此时便可以使用该密码来连接目标AP了。 一般来说,破解64位的WEP至少需要1万IVs以上,但若是要确保破解的成功,应捕获尽可能多的IVs数据。比如下图16所示的高强度复杂密码破解成功 依赖于8万多捕获的IVs。
图16
注 意:由于是对指定无线频道的数据包捕获,所以有的时候大家会看到如下图17中一样的情景,在破解的时候出现了多达4个AP的数据报文,这是由于这些AP都 工作在一个频道所致,很常见的。此时,选择我们的目标,即标为1的、SSID位dlink的那个数据包即可,输入1,回车后即可开始破解。 |
看到这里,可能有的朋友会说,这些都是弱密码(就是过于简单的密码),所以才这么容易破解,大不了我用更复杂点的密码总可以了吧,比如×#87G之类的,即使是采用更为复杂的密码,这样真的就安全了吗?嘿嘿,那就看看下图18中显示的密码吧:)
图18
正如你所看到的,在上图18中白框处破解出来的密码已经是足够复杂的密码了吧?我们放大看一看,如下图19所示,这样采用了大写字母、小写字母、数字和特殊符号的长达13位的WEP密码,在获得了足够多的IVs后,破解出来只花费了约4秒钟!
图19
现在,你还认为自己的无线网络安全么?哈,这还只是个开始,我们接着往下看。
补充一下:
若希望捕获数据包时,能够不但是捕获包括IVS的内容,而是捕获所有的无线数据包,也可以在事后分析,那么可以使用如下命令:
airodump-ng –w longas -c 6 wlan0
就是说,不再--ivs过滤,而是全部捕获,这样的话,捕获的数据包将不再是longas-01.ivs,而是longas-01.cap,请大家注意。命令如下图20所示。
图20
同样地,在破解的时候,对象也变成了longas-*.cap。命令如下:
aircrack-ng 捕获的cap文件
回车后如下图21所示,一样破解出了密码。
图21
可能有的朋友又要问,ivs和cap直接的区别到底在哪儿呢?其实很简单,若只是为了破解的 话,建议保存为ivs,优点是生成文件小且效率高。若是为了破解后同时来对捕获的无线数据包分析的话,就选为cap,这样就能及时作出分析,比如内网IP 地址、密码等,当然,缺点就是文件会比较大,若是在一个复杂无线网络环境的话,短短20分钟,也有可能使得捕获的数据包大小超过200MB。
如下图22所示,我们使用du命令来比较上面破解所捕获的文件大小。可以看到,longas-01.ivs只有3088KB,也就算是3MB,但是longas-02.cap则达到了22728KB,达到了20MB左右!!
◆使用Aircrack-ng破解WPA-PSK加密无线网络
结合上小节的内容,下面继续是以BackTrack4 R2 Linux为环境,讲述破解WPA-PSK加密无线网络的具体步骤,详细如下。
步骤1:升级Aircrack-ng。
前面在第一章1.3节我们已经讲述了升级Aircrack-ng套装的详细步骤,这里也是一样,若条件允许,应将Aircrack-ng升级到最新的Aircrack-ng 1.1版。由于前面我已经给出了详细的步骤,这里就不再重复。
除此之外,为了更好地识别出无线网络设备及环境,最好对airodump-ng的OUI库进行升级,先进入到Aircrack-ng的安装目录下,然后输入命令如下:
airodump-ng-oui-update
回车后,就能看到如下图23所示的开始下载的提示,稍等一会儿,这个时间会比较长,恩,建议预先升级,不要临阵磨枪。
图23
步骤2:载入并激活无线网卡至monitor即监听模式。
在进入BackTrack4 R2系统后,载入无线网卡的顺序及命令部分,依次输入下述命令:
startx进入到图形界面 ifconfig –a 查看无线网卡状态 ifconfig wlan0 up 载入无线网卡驱动 airmon-ng start wlan0 激活网卡到monitor模式
如下图24所示,我们可以看到无线网卡的芯片及