kali无线渗透之Aireplay-ng小谈

Aireplay-ng 的 6 种攻击模式详解

Attack modes (numbers can still be used): //攻击模式(数字仍然可以使用)
      --deauth      count : deauthenticate 1 or all stations (-0)   //解除一个或者全部站的连接
      --fakeauth    delay : fake authentication with AP (-1)        //对AP进行伪连接攻击
      --interactive       : interactive frame selection (-2)        //交互注入攻击
      --arpreplay         : standard ARP-request replay (-3)        //标准Arp请求包重放攻击
      --chopchop          : decrypt/chopchop WEP packet (-4)        //解码或断续WEP数据包攻击
      --fragment          : generates valid keystream   (-5)        //产生合法密钥流

-0 Deautenticate 冲突模式
-0攻击主要是伪造一个disassocate包,让ap断开与客户端的链接,此时客户端会重新连接ap,那么我们从中可能得到的东西有:1,假如AP不广播ESSID,那么我们可以得到这个ESSID;2.如果使用的是WPA/WPA2的加密方式,通过这样做强迫客户端重新验证,我们就能够获得握手包;3.再重新连接过程中我们可以获取到ARP数据包,为-3攻击做准备.
使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。
如果一个客户端连在路由端上,但是没有人上网以产生有效数据,此时,即使用-3 也无法产生有效 ARP request。所以此时需要用-0 攻击模式配合,-3 攻击才会被立刻激活。

aireplay-ng -0 10 –a -c wifi0 参数说明:
【-0】:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
【-a】:设置 ap 的 mac
【-c】:设置已连接的合法客户端的 mac。
如果不设置-c,则断开所有和 ap 连接的合法客户端。
aireplay-ng -3 -b -h wifi0
注:使用此攻击模式的前提是必须有通过认证的合法的客户端连接到路由器
二.-1攻击

之前我一直也没弄明白为什么能够进行伪连接,既然我们并不知道WEP密码,那么如何进行连接?伪连接的伪主要体现在什么地方?这个应该是和AP的工作机制有关.我自己的理解是,在客户端与AP通信的时候,客户端需要在AP那里登记自己的MAC地址,这样AP才会接受这个MAC地址的网卡产生的数据包进行下一步的工作.一般WEP验证过程为:1.客户端发给AP认证请求 2.AP发回挑战字串 3.客户端利用WEP密码加密字串返回给AP 4.AP对返回结果进行本地匹配判断是否通过认证. 伪连接实际上就是进行了第1步,此后AP就登记了客户端的MAC地址,此时AP等待的是客户端返回挑战字串的加密包,对于攻击者,此时AP已经能够接受各种伪装生成的数据包并对其作出反应了.这一步对于无客户端的-2,-4,-5攻击相当重要.很明显,这样伪连接并不产生任何ARP包,同时也不会获得正确的WPA/WPA2握手包.

-1 fakeauth count 伪装客户端连接
这种模式是伪装一个客户端和 AP 进行连接。
这步是无客户端的研究学习的第一步,因为是无合法连接的客户端,因此需要一个伪装客户端来和路由器相连。为让 AP 接受数据包,必须使自己的网卡和 AP 关联。如果没有关联的话,目标 AP 将忽略所有从你网卡发送的数据包,IVS 数据将不会产生。
用-1 伪装客户端成功连接以后才能发送注入命令,让路由器接受到注入命令后才可反馈数据从而产生 ARP 包。
aireplay-ng -1 0 –e -a -h wifi0
参数说明:
【-1】:伪装客户端连接模式,后面跟延时
【-e】:设置 ap 的 essid
【-a】:设置 ap 的 mac
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)
-2 Interactive 交互模式
-2攻击实际上是对特定的数据包进行重放,当AP收到这个数据包的时候对这个数据包进行广播,进而我们能够获得更多的iv以达到破解的要求.这个特定的数据包需要满足什么要求,我们需要了解一些相关的IEEE802.1帧控制的知识.如图
这里写图片描述
图中是一个ARP包,可以看到在数据包的开始位置就是帧控制的数据结构,长度是2字节.第一个字节的结构是{Version:4bit,Type:2bit,Subtype:2bit}对于这部分,我们需要的是一个Type为2,也即是Data frame(数据帧),因为只有是数据帧,那么才有iv,才会用到WEP加密数据.对于flag字节,也就是第二个字节,我们需要设置To DS域为1(图中设置了From DS域为1),To DS域表示To Distribution System的标志,因为数据使用了WEP加密,所以Protected flag也被置为1,此时加上一个FF:FF:FF:FF:FF:FF的目标地址(广播地址)则这个就是我们可以重放的数据包.当AP收到这个数据包时,会对他使用新的IV加密后广播.我们不断的重放这个数据包以达到收集IV的目的.

这里产生的疑问是,是否我们没有抓到这样的一个数据包我们就不能进行交互注入?答案是否定的.我们常用的是0841注入,通过对一个合法的数据帧进行修改,让他符合上面的条件从而使AP接收并重新广播.我们看一下为什么叫0841,0841的二进制位0000 1000 0100 0001,从刚才的分析看到,1000中的10是Type域,0100中1是Protected flag,0001中的1是To DS,这样合起来便是0841的含义.等待一个AP自然产生的满足条件的数据帧有时候需要等待很久,如果我们对于一个合法的数据帧的帧控制进行修改,改成0841,同时修改目标地址为广播地址(注意帧控制和目标地址等都是以明文形式发送),由于AP并不检查数据内容,只是从控制字段判断,所以AP会对收到的这个我们修改过的数据包进行广播,从而我们也就达到我们的目的--收集IV.当然我们修改的数据帧的长度最好不要太长.

另外,-2攻击可以配合packetforge-ng产生的伪造数据包进行重放.

这种攻击模式是一个抓包和提数据发攻击包,三种集合一起的模式
1.这种模式主要用于研究学习无客户端,先用-1 建立虚假客户端连接然后直接发包攻击 ,
aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b -h wifi0
参数说明:
【-2】:交互攻击模式
【-p】:设置控制帧中包含的信息(16 进制),默认采用 0841
【-c】:设置目标 mac 地址
【-b】:设置 ap 的 mac 地址
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)
2.提取包,发送注入数据包 aireplay-ng -2 –r -x 1024 wifi0 发包攻击.其中,-x 1024 是限定发包速度,避免网卡死机,可以选择 1024。
-3 ARP-request 注入攻击模式
ARP请求重放攻击,当抓取到一个ARP请求包的时候对它进行重放,WEP体系允许IV的重复使用因此AP会对重放的ARP请求包进行应答,从而能够收集到足够数量的IV.利用arp请求包的重放效率是最高的.后面的-4,-5攻击在获得XOR文件也即是密钥流之后,也是利用packetforge-ng生成一个arp请求包用以重放.
这种模式是一种抓包后分析重发的过程 这种攻击模式很有效。既可以利用合法客户端,也可以配合-1 利用虚拟连接的伪装客户端。如果有合法客户端那一般需要等几分钟,让合法客户端和 ap 之间通信,少量数据就可产生有效 ARP request 才可利用-3模式注入成功。如果没有任何通信存在,不能得到 ARP request.,则这种攻击就会失败。
如果合法客户端和ap之间长时间内没有 ARP request,可以尝试同时使用-0 攻击. 如果没有合法客户端,则可以利用-1 建立虚拟连接的伪装客户端,连接过程中获得验证数据包,从而产生有效 ARP request。再通过-3 模式注入。
aireplay-ng -3 -b -h -x 512 wifi0
参数说明:
【-3】:arp 注入攻击模式
【-b】:设置 ap 的 mac
【-h】:设置
【-x】:定义每秒发送数据户包的数量,但是最高不超过 1024,建议使用 512(也可不定义)
-4 Chopchop 攻击模式
KoreK的Chopchop攻击,这个攻击的理论是基于对CRC算法的数学分析的基础上,对于数学部分我们这里不深入探讨,只是用到KoreK提到的结论.WEP的核心加密算法是RC4(参考 RC4算法使用的是异或加密(我们用XOR表示异或操作),简单流程这样,我们提供一个40位的密钥,加上IV提供24位,总共64位作为种子,RC4根据这个通过PRGA(伪随机生成算法)产生密钥流,这个密钥流与我们要发送的数据进行异或操作即完成加密.为了保证数据传送过程中的完整性,WEP使用CRC算法在数据后加上4个字节的校验码(这4个校验码也要跟密钥流进行异或加密),我们称这4个字节为ICV(Integrity check value).现在假设我们要发送的数据明文为P,密钥流为KeyStream,那么,加密的数据M=(P + ICV(P)) XOR KeyStream,如果我们知道明文P,那么我们就能够得到KeyStream(=M XOR (P+ICV(P))),有了KeyStream我们就能伪造任意的数据包(如ARP请求包),发送给AP从而收集IV.关键在于如何得到明文P,KoreK的研究发现,当我们把抓取到的数据包M截去最后的一个字节的时候,此时数据包是无效的数据包(ICV错误),但是当与一个掩码进行XOR运算之后,这个数据包将会恢复为有效的数据包.而这个掩码的计算取决于我们截去的那个字节的明文(我们截去的字节已经经过加密),一个字节是8位,通过最多2^8=256次尝试,我们能够确定截去字节的明文.思路如下:

1,我们抓取一个数据包,然后截去这个数据包加密部分的最后一个字节(注意,数据包包含有用RC4加密的部分和以明文传输的帧控制部分两部分,看上面-2攻击的图).

2,我们产生256个掩码,每个掩码对应一个明文字节,然后进行异或操作.

3,将这256个数据包的目标MAC地址改为组播地址,格式如01:00:5E:00:00:XX,XX和明文字节相同.

4,发送这256个数据包,通过AP的返回的数据包目标地址最后一个字节判断明文是什么,记录下来.

5,利用返回的数据包重复第1步直到获得所有明文.

当获得所有明文之后,将其与原始数据包加密部分异或,得到密钥流KeyStream.Aireplay-ng将它保存为一个XOR文件.

用以获得一个包含密钥数据的 xor 文件 这种模式主要是获得一个可利用包含密钥数据的 xor 文件,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。
aireplay-ng -4 -b -h wifi0 参数说明:
【-b】:设置需要研究学习的 AP 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)
-5 fragment 碎片包攻击模式
Fragment攻击,这个攻击我个人觉得是所有攻击里最具有艺术性的,他利用了IEEE8021机制和WEP算法两者的漏洞,最终能够得到最大1500字节的密钥流.对于Chopchop攻击,我们得到的密钥流的长度取决于我们能够抓取到的数据包加密部分的长度,并且随着数据包的长度增大,猜测的次数将会增加,使得获取密钥流的时间也变长,而Fragment不仅获取大长度的密钥流,同时需要用到的时间也大大减少.

对于在无线局域网传送的数据中都被加入了LLC头部,而LLC头部字节是固定的.如图

这里写图片描述
这部分就是WEP加密部分的头8个字节,对于ARP包,??为06,对于IP包,??为00,现在我们有了8个字节的明文,通过对数据包的异或操作,我们得到了8个字节的密钥流.利用8个字节以及802.1的分片机制,我们可以得到更大长度的密钥流.先说说分片,无线局域网中,数据包的最大分片数为16,利用8字节密钥流我们伪造16个加密部分8字节的数据包发送(4字节明文+4字节ICV,明文我们知道),当AP收到16个碎片包之后,AP将其组装成一个数据包,将其重发,我们抓取这个数据包,一个我们知道是4字节明文,16个就是64字节的明文,加上AP为64字节数据加上的ICV,我们得到了68字节的密钥流(明文与密文异或得到),重复伪造16个68字节的数据包发送(64字节明文+4字节ICV),最终得到1028字节的密钥流(64*16+4),再重复发两个包就能得到1500字节的密钥流.全部过程我们最少只需要发送34个数据包!!这样就大大缩短了获取密钥流的时间.或者在得到一定长度的密钥流之后比如36字节,刚好可以用来伪造一个arp包,进行重放,也缩短了收集IV的时间.由于ChopChop是从后向前猜测得到密钥流,所以ChopChop的效率不太可能提高.

另外,Fragment攻击也可以用于猜测密钥.如果AP对分片数据不返回,那么可以从第9字节处(LLC头部之后)开始猜测密钥流,同样也是256种可能,过程类似Chopchop攻击,区别只是在于一个从前向后猜的是密钥流字节,一个从后往前猜的是明文字节.

对于Fragment细节想深入了解的朋友,强烈推荐论文<The Final Nail in WEP's Coffin>

用以获得 PRGA(包含密钥的后缀为 xor 的文件) 这种模式主要是获得一个可利用 PRGA,这里的 PRGA 并不是 wep key 数据,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。其工作原理就是使目标 AP 重新广播包,当 AP 重广播时,一个新的 IVS 将产生,我们就是利用这个来研究学习 !
aireplay-ng -5 -b -h wifi0
【-5】:碎片包攻击模式
【-b】:设置 ap 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)
Packetforge-ng:数据包制造程序 Packetforge-ng Mode
【-0】:伪造 ARP 包
packetforge-ng -0 -a -h wifi0 –k 255.255.255.255 -l 255.255.255.255–y<.xor file> -w mrarp
参数说明:
【-0】:伪装 arp 数据包
【-a】:设置 ap 的 mac
【-h】设置虚拟伪装连接的 mac(即自己的 mac)
【-k】

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值