您的位置:首页 > 大数据 > 人工智能

Aircrack-ng新手指南

2015-08-07 17:35 656 查看

简介

这篇指南旨在帮助读者了解从什么地方着手使用aircrack-ng。当然不可能面面俱到,所以如果要了解更多知识,可参见ForumWiki。上一篇简单的WEP加密破解 可以作为实际的操作步骤来参考。

硬件配置和Aircrack-ng的安装

让aircrack-ng正常工作的第一步是为无线网卡选择合适的驱动和补丁。很多网卡可兼容多个驱动,但其中有些是不支持aircrack-ng的。所以,我们的网卡必须要支持aircrack-ng,即可以进行数据包的注入。一个合适的网卡能在一小时之内破解一个无线接入点。硬件的兼容性 这篇文章可以帮助我们判断自己的网卡是什么类型的。判断无线网卡是否兼容 这篇文章可以帮助我们更清晰地了解网卡对aircrack-ng的兼容性。两篇文章也可以帮助我们更多地了解网卡方面的知识。

所以,这里首先需要我们清楚自己用的是什么类型的网卡和芯片。前面的几篇文章 Aircrack-ng支持的网卡列表可以作为参考。可以把这个表格下载下来,然后在http://patches.aircrack-ng.org/上下载相应的补丁。由于笔者所用的是一个Ralink的USB网卡,所以这里就以此网卡为例,来说明如何让aircrack-ng在此网卡上工作。在编译和安装驱动以前,我们需要了解自己使用的Linux发行版的内核信息。如果你使用的是其他的网卡,参照安装驱动 这篇文章。最好在网上多搜集一些资料来确保正确地安装。

Ralink USB rt2570安装指导

如果你的网卡正好是rt2570的USB网卡(例如D-Link DWL-G122 rev. B1 或者 Linksys WUSB54G v4),你应该使用这里(http://homepages.tu-darmstadt.de/~p_larbig/wlan/)的驱动,这些都是经过特别调整过的驱动,用来支持aircrack-ng的注入功能,而且它们都不需要额外的补丁。下面的命令是用来解压,编译,和安装这些驱动:

tar xfj rt2570-k2wrlz-1.3.0.tar.bz2
cd rt2570-k2wrlz-1.3.0/Module
make
make install


最后一步需要root权限来执行(用su命令来改变权限)。使用如下命令将驱动模块编译进内核:

modprobe rt2570


插入芯片后,它应该被识别为rausb0。所以可以通过iwconfig命令列出所有无线装置,来检验驱动是否已经被正确地安装。

Aircrack-ng的安装

软件源

从aircrack-ng官网(http://www.aircrack-ng.org/)获得最新版本的aircrack-ng。以下给出一个命令的范例(其中的版本信息需要自己调整)

tar xfz aircrack-ng-1.0-rc1.tar.gz
cd aircrack-ng-1.0-rc1
make
make install


通常最后一步需要以root权限来执行,用su或者sudo -s来进入root。或者在ubuntu下用sudo make命令。

YUM

不建议使用这种方法安装,命令如下:

su
yum -y install aircrack-ng


RPM

不建议使用这种方法安装,命令如下:

su
rpm -ihv http://dag.wieers.com/rpm/packages/aircrack-ng/aircrack-ng-0.7-1.el4.rf.i386.rpm[/code] 

IEEE 802.11基本知识

发现网络

每个接入点每秒中大约会发送10个数据包(被叫做beacon frame),这些数据包包含下列信息:

网络名称(ESSID)

是否使用了加密

支持的数据传输速度

工作的频道

连接网络

连接网络也有多种方法,其中最常见的是Open System Authentication

尝试从接入点获得认证

接入点认证

尝试从接入点获得连接

接入点连接

这是最简单的情形,但是非法的连接通常会有种种问题出现

对使用WPA/WPA2加密的网络,需要使用EAPOL认证。接入点会在第二步拒绝认证

接入点有一个允许连接的列表(MAC地址),不允许其他设备连接,也叫做MAC地址过滤

接入点使用共享密钥认证,需要提供正确的WEP密钥来连接(可参见此文

简单的嗅探和破解

发现网络

aircrack-ng里面的airodump-ng是为此设计的,除此以外,也可使用其他工具如Kismet。在发现网络之前,需要将网卡置于监听模式(monitor mode)。监听模式可以让PC监听所在范围内的每一个无线包,也可以将包注入到网络当中。开启monitor mode的命令是:

airmon-ng start rausb0


为了验证是否成功,可以运行iwconfig命令。关于airmon-ng的介绍里有如何运行其他网卡的说明。然后开启airodump-ng命令寻找网络:

airodump-ng rausb0


“rausb0”是网络接口的名称,如果你用的是其他网卡,那么可能就需要一个不同的名称。对于目前的大多数驱动来说,wlan0是最常见的接口名称,但是对于监听模式(运行airmon-ng以后),会创建一个叫做mon0的接口来使用。如果airodump-ng能够连接到网卡,屏幕上应该会像这样显示



airodump-ng会在不同的频道之间跳变,并且显示它能接收到的所有接入点。频道1到14是802.11b/g的频道(不同国家略有区别)。频道36到149是802.11a的频道。上图上面的数据块表示找到的接入点信息:

名称含义
BSSID接入点的MAC地址
PWR信号强度(有一些驱动并不显示此项)
Beacons接收到大的beacon frames的数量,如果没有显示信号强度,可由此数值来衡量,数值越大信号越强
Data接收到的data frames的数量
CH接入点工作的频道
MB接入点模式(11表示802.11b,54表示802.11g,两者之间表示两者的混合)
ENC表示加密,OPN:未加密,WEP:WEP加密,WPA:WPA或者WPA2加密,WEP?:WEP或者WPA加密(不明)
ESSID网络名称
下面的数据块表示找到的用户

名称含义
BSSID该用户所接入的AP的MAC地址
STATION该用户自己的MAC地址
PER信号强度,有些网卡无此项
Packets接收到的data frames的数量
Probes该用户探查到的网络名称
接下来就是选取一个目标网络,这个网络需要已经有用户连接,因为破解一个没有连接的网络更加困难(参见如何破解没有连接的WEP网络),需要是WEP加密并且要有很好的信号强度。(如果使用带天线的网卡,可以调整一下天线的方向来获得最好的信号强度)。在上面的例子中,00:01:02:03:04:05网络是唯一一个满足上述条件的网络。

嗅探IVs

监听一个频道,并把所得的数据存储起来以便后来的破解,命令:

airodump-ng -c 11 --dssid 00:01:02:03:04:05 -w dump rausb0


参数”-c”选择频道,参数”-w”是存储数据文件名的前缀。”–bssid”和接入点地址表示选择的接入点。(”–bssid”是新版的airodump-ng才供选的参数)。在破解WEP之前,通常需要收集到40 000至85 000个IVs。每一个数据包都含有一个IVs,IVs能够被重用,所以正常来讲,捕捉的数据包的数量要比IVs多一点。在网络的数据交换不是特别频繁的情况下,等待捕捉这么多的Ivs需要很长一段时间,通常可用一些方法来加速这个过程,见其他文章的介绍。

破解

等到获得足够数量的IVs以后,就可以开始破解WEP网络了。命令如下:

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap


参数”-b”后面是目标接入点的MAC地址,dump-01.cap就是包含有IVs的文件。可以多个文件同时使用,加在命令后即可,也可用dump*.cap来表示多个文件。这里 是更多关于aircrack-ng的参数和输出的介绍。

需要指出的是,破解一个网络所需要的IVs不是绝对的。这是因为有些IVs会比另一些IVs暴露出更多的信息,所以如果运气好的话,只需要20 000个IVs就可以破解一个网络了。但是更经常的情形是,aircrack-ng需要运行很长一段时间(一周甚至一个月)然后发现并不能破解出来。较多的IVs会使破解变得更迅速,通常是几分钟甚至几秒钟。实验表明40 000到85 000个IVs就足以破解一个网络了。

主动攻击

注入支持

一般的网卡如果不添加驱动补丁的话是不支持注入(injection)的,一些网卡只支持特定的攻击。可参见Aircrack-ng支持的网卡列表这篇文章,在其中查找aireplay支持的那一列,判断自己的网卡是否支持aireplay。这个列表也并不是绝对的,所以如果发现自己的网卡支持aireplay而并不在列表之内,可帮助其更新列表。如上所述,所以在进行下面的尝试之前,首先要保证自己的网卡及驱动支持注入。最简单的测试方法是注入测试

然后,还需要接入点的MAC地址(BSSID)和网络名称(ESSID),该网络不能有MAC地址过滤,而且在信号接收范围内。用aireplay通过以下命令尝试同接入点连接:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 rausb0


参数”-a”后的值是接入点的MAC地址,如果注入成功的话应该会有类似于下面的提示:

12:14:06  Sending Authentication Request
12:14:06  Authentication successful
12:14:06  Sending Association Request
12:14:07  Association successful :-)


如果没有成功的话:

检查ESSID和BSSID

保证接入点没有使用MAC地址过滤

使用另一个接入点重新测试

确保驱动装了合适的补丁来支持注入

用”6000 -o 1 -q 10”代替”0”试一试

ARP攻击

在证实数据包注入有效之后,我们就可以采取一些方法来加速获取IVs:ARP应答注入攻击

思想

ARP工作原理是:广播请求寻找一个IP,相应的IP接收到请求后做出应答。因为WEP并不会保护这个过程,所以我们可以嗅探出一个数据包,然后把它一遍又一遍地发送出直到生效。

简单方法

首先打开一个在运行airodump-ng命令的窗口,aireplay和airodump可一起运行,等待一个使用目标网络的用户出现,然后进行攻击:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 rausb0


“-b”接BSSID,”-h”连接该网络用户的MAC地址。现在就可以等待ARP数据包了,通常需要几分钟时间。如果成功的话,会见到如下类似的提示:

Saving ARP requests in replay_arp-0627-121526.cap
You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...


如果想要停止该过程,没有必要等待下一个ARP数据包,而可以再一次使用之前抓到的包,通过 -r < filename >实现。如果使用了ARP注入,那么进一步地则可以用PTW法来破解秘密。这样可以极大地减少破解所需要的数据包和破解时间。必须在使用airodump-ng命令时捕获好所有所需的数据包,这就意味着不能使用”-ivs”这个参数。对于aircrack-ng,使用

“aircrack -z < filename >”

加强方法

大多数的操作系统会在断开网络连接的时候清理ARP缓存。如果他们想在重新连接之后发送数据包,则必须发送ARP请求。所以本方法是断开用户的网络连接,迫使他重新连接网络从而捕获到ARP请求。在保证airodump-ng和aireplay-ng运行的同时,打开另一个窗口,进行攻击:

aireplay-ng --deauth 5 -a 00:01:02:03:04:05 -c 00:04:05:06:07:08 rausb0


“-a”接BSSID,”-c”接用户的MAC地址。大数的用户会自动重新连接,但这种方法的风险是,相比其他攻击,更容易引起注意和被发现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: