注入测试

本文详细介绍了注入测试的概念及其在无线网络安全评估中的应用。包括如何通过注入测试判断无线网卡的注入能力,测试接入点的响应时间,以及不同模式下的攻击测试等。

描述

注入测试用来判断我们的网卡是否能对接入点进行注入。也用来判断对接入点的ping反应时间。如果我们拥有两个无线网卡,则可以利用注入测试来判断哪一个网卡更适合用来进行注入攻击。

基本的注入测试也能提供其他一些有用的信息。首先,能为我们列出所在范围内,所有对广播探针有反应的接入点信息。其次,对于每一个接入点,它都会进行一个30个包的测试,用来判断连接质量。(连接质量衡量的是我们的网卡接收和发送测试数据包的能力)。接收到接入点反应数据包的百分比能够很好地衡量连接质量。

我们可以指定接入点名称以及MAC地址,这样就可以去测试一个特定的接入点,或者一个隐藏的网络。接下来,简单地说明一下注入测试的工作原理。

首先,程序将发送广播探针请求。这些请求会要求所有接收到请求的接入点都作出反应(当然,实际上并不是所有的接入点都会反应)。然后,所有做出反应的接入点会被罗列出来(通过beacon包识别的接入点也会被列入到上述列表之中),用于后续的测试。实际上,只要有任何一个接入点做出反应,屏幕上都会显示一条信息,来提示我们网卡可以用来进行注入测试了。

然后,对上述每个接入点,都会发送30个定向探针请求。对探针请求反应的数目及百分比会被显示出来,用来衡量我们是否能和某个接入点通信,以及同每个接入点进行通信的质量。如果指定了两个网卡,则会尝试每一种攻击模式,然后把结果显示在屏幕上。

注入测试还有一个功能,就是用来测试同airserv-ng的连接。一但基本测试完成,便开始通过和airserv-ng连接来进行标准测试。

用法

aireplay-ng -9 -e teddy -a 00:de:ad:ca:fe:00 -i wlan1 wlan0 

其中:

  • -9 表示注入测试。完整形式是–test
  • -e teddy 表示网络名称(BSSID),可选。
  • -a 00:de:ad:ca:fe:00 ath0 表示接入点的MAC地址,可选。
  • -i wlan1 是第二个网卡的接口名称。如果我们想判断网卡适合哪种攻击,这时这个接口将充当接入点接收数据包,可选。
  • wlan0 是接口名称或者airserv-ngIP地址和端口数。这个接口用来发送数据。(例: - 127.0.0.1:666,强制参数)
    注意:在进行任何测试命令之前,必须用airmon-ng命令将网卡设置到monitor模式,和特定的信道。

用法实例

基本测试
下面是一个最基本的测试,可用来判断网卡是否支持注入:

aireplay-ng -9 wlan0

屏幕会出现:

 16:29:41  wlan0 channel: 9
 16:29:41  Trying broadcast probe requests...
 16:29:41  Injection is working!
 16:29:42  Found 5 APs

 16:29:42  Trying directed probe requests...
 16:29:42  00:09:5B:5C:CD:2A - channel: 11 - 'NETGEAR'
 16:29:48  0/30: 0%
 16:29:48  00:14:BF:A8:65:AC - channel: 9 - 'title'
 16:29:54  0/30: 0%
 16:29:54  00:14:6C:7E:40:80 - channel: 9 - 'teddy'
 16:29:55  Ping (min/avg/max): 2.763ms/4.190ms/8.159ms
 16:29:55  27/30: 90%
 16:29:55  00:C0:49:E2:C4:39 - channel: 11 - 'mossy'
 16:30:01  0/30: 0%
 16:30:01  00:0F:66:C3:14:4E - channel: 9 - 'tupper'
 16:30:07  0/30: 0%

其中:

  • 16:29:41 wlan0 channel: 9 告诉我们正在使用的接口以及所在的信道
  • 16:29:41 Injection is working! 表明网卡可以注入
  • 16:29:42 Found 5 APs 通过广播探针或者beacons所搜索到的接入点
  • 16:29:42 00:09:5B:5C:CD:2A - channel: 11 - ‘NETGEAR’ 可以看到这个接入点在信道11而不是在我们的网卡所在的信道9上。相邻信道的溢出现象是很正常的。
  • 16:29:55 27/30: 90% for teddy 这是唯一一个网卡可以成功进行通信的的接入点。也从另一个方面证明了我们的网卡可以进行注入。可以看到,其他所有的接入点都是0%

隐藏或指定的SSID
如果想要检查一个隐藏的SSID或者一个特定的SSID,需使用下面的命令:

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

屏幕会显示:

 11:01:06  ath0 channel: 9
 11:01:06  Trying broadcast probe requests...
 11:01:06  Injection is working!
 11:01:07  Found 1 APs

 11:01:07  Trying directed probe requests...
 11:01:07  00:14:6C:7E:40:80 - channel: 9 - 'teddy'
 11:01:07  Ping (min/avg/max): 2.763ms/4.190ms/8.159ms
 11:01:07  30/30: 100%

这表明:网卡可以成功地注入并同特定的网络进行通信。

攻击测试
这个测试需要两个处于monitor模式的网卡,跟在参数”-i”后面的网卡充当接入点:

aireplay-ng -9 -i wlan1 wlan0

其中:

  • -9表示注入测试
  • -i wlan1是模仿接入点的接口,用来接收数据包
  • wlan0是注入接口
    屏幕会显示:
 11:06:05  wlan0 channel: 9, wlan1 channel: 9
 11:06:05  Trying broadcast probe requests...
 11:06:05  Injection is working!
 11:06:05  Found 1 APs

 11:06:05  Trying directed probe requests...
 11:06:05  00:de:ad:ca:fe:00 - channel: 9 - 'teddy'
 11:06:05  Ping (min/avg/max): 2.763ms/4.190ms/8.159ms
 11:06:07  26/30: 87%

 11:06:07  Trying card-to-card injection...
 11:06:07  Attack -0:        OK
 11:06:07  Attack -1 (open): OK
 11:06:07  Attack -1 (psk):  OK
 11:06:07  Attack -2/-3/-4:  OK
 11:06:07  Attack -5:        OK

分析:

  • 11:06:05 wlan0 channel: 9, wlan1 channel: 9 需要保证两个网卡处在相同的信道,否则会导致测试的失败
  • 输出的第一部分同前面的解释相同
  • 最后一部分表示wlan0的网卡能够进行所有种类的攻击
  • 如果attack 5是失败的,并不一定表示我们的网卡不能进行该种攻击。有可能是因为驱动的原因,可尝试一下将注入的MAC地址和当前网卡的MAC地址设置相同。

Airserv-ng测试
运行Airserv-ng:

airserv-ng -d wlan0

屏幕会显示:

 Opening card wlan0
 Setting chan 1
 Opening sock port 666
 Serving wlan0 chan 1 on port 666

然后运行如下命令:

 aireplay-ng -9 127.0.0.1:666

其中:

  • -9 表示注入测试
  • 127.0.0.1:666 是airserv-ng的IP地址和端口数,并不一定像例子中一样是本地回环地址,可以是任何IP地址

屏幕会显示:

 14:57:23  Testing connection to injection device 127.0.0.1:666
 14:57:23  TCP connection successful
 14:57:23  airserv-ng found
 14:57:23  ping 127.0.0.1:666 (min/avg/max): 0.310ms/0.358ms/0.621ms

 Connecting to 127.0.0.1 port 666...
 Connection successful

 14:57:24  127.0.0.1:666 channel: 9
 14:57:24  Trying broadcast probe requests...
 14:57:24  Injection is working!
 14:57:25  Found 1 AP 

 14:57:25  Trying directed probe requests...
 14:57:25  00:14:6C:7E:40:80 - channel: 9 - 'teddy'
 14:57:26  Ping (min/avg/max): 1.907ms/38.308ms/39.826ms
 14:57:26  30/30: 100%

分析:

  • Connection successful 表示连接成功。一定要将两个网卡设置到相同的信道,否则容易导致测试失败
  • 第二部分同先前解释的一样

常见问题及解决方法

一般来讲

  • 保证自己使用了正确的接口名。对于mac80211驱动,通常是mon0;对于madwifi-ng驱动,通常是ath0。同样,需要注意不能有多个monitor模式接口,如mon0,mon1等。如果有,需要将它们都关掉,再重新进行测试命令。
  • 保证网卡都处在了接入点所在的信道上,并将其锁定。在将网卡置于monitor模式时,确保使用airmon-ng指定了信道。我们可以使用iwconfig命令来判断当前网卡处在什么信道上。
  • 要保证网卡没有处在信道跳跃的模式上。一个很常见的错误就是这样,让airodump-ng运行在跳跃的信道上。如果使用airodump-ng,一定要注意带上-c这个参数,来指定信道。
  • 最后,结束掉所有的网络管理员进程 (airmon-ng check kill)

错误信息”Network is down”
如果对于Atheros的网卡,madwifi-ng的驱动,有类似于下面错误信息:

 aireplay-ng -9 -e teddy -a 00:14:6C:7E:40:80 -B ath0
 Interface ath0 -> driver: Madwifi-NG
 12:36:30  ath0 channel: 10
 12:36:30  Trying broadcast probe requests...
 write failed: Network is down
 wi_write(): Network is down

解决方法:将-B 比特选项从命令中移去。在madwifi-ng驱动下,使用该选项会有一些问题,虽然官方也正在解决这个问题,但在解决之前,我们都不能使用这个参数。

Airodump-ng显示了接入点但是它们没有反应
注入测试使用的是广播探针请求,所以并不是所有的接入点都会对此反应。也有可能,我们离接入点的距离有些远,导致我们可以接收到接入点的信号,却不能将数据包发送到接入点。两种情况,都可以尝试换到其他的信道,或者尝试特定的SSID测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值