2012年5月20日星期日

aircrack-ng的九种攻击模式的介绍(译自官网)



文章是一两年前研究wifi破解时翻译的,没有译完,历经无数次系统重装此文档仍然幸存,索性放上来备忘吧。

译自aircrack-ng官网

Attack 0: Deauthentication
该攻击会向指定AP发送结束认证包将一个或多个客户端与AP断开,断开客户端有如下的好处
        *找到隐藏的ESSID,这是个未开始广播的的ESSID,
        *在强制客户端握手的时候捕获WPA/WPA2握手数据
        *生成ARP请求(windows客户端有时候会在断开连接时清空自己的ARP缓存)

Attack 1: Fake authentication(伪装客户端连接)
伪装客户端连接允许你执行两类WEP认证(开放系统和共享密钥),这对在需要连接到一个没有任何客户端连接的AP时是非常有用的。需要注意的是伪装客户端连接不产生任何ARP包,也不能用来认证和关联WPA/WPA2 AP。

Attack 2: Interactive packet replay(交互发包)
这个攻击允许注入一个特殊的包,可以从两个来源获取包,一个是从无线网卡获取包,另一个是从一个pcap文件。很多开源工具都可以抓取Pcap格式的文件,一般的做法是用packetforge-ng命令创建。

如果交互包发送成功,就意味着AP接受了交互包,并且生成一个新的inititialization vectory (初始向量,简称IV)。
为了实现这个功能,我们需要选择一个包,在这之前需要先弄清楚两个概念

第一个概念:无线网络的广播MAC地址是FF:FF:FF:FF:FF:FF,当AP收到包含FF:FF:FF:FF:FF:FF特征的ARP请求时会循环发包,需要注意的是,这个ARP请求包的To DS标志必须设置成1
所以airreplay-ng过滤选项
-b:无线AP的MAC地址
-d:广播的MAC地址,也就是FF:FF:FF:FF:FF:FF
-t:1表示设置To Distribution System标志,0表示不设置To Distribution System标志。
为了使得注入包看上去更像是个原生的包,我们需要了解下面几个选项
-p 0841:设置祯控制字段,使得包看上去像是从客户端发到AP的一样,一定要把 "To DS"设置成1
-c FF:FF:FF:FF:FF:FF:设置广播的MAC地址,这会让AP重新发送包并且得到一个新的IV。

Attack 3: ARP request replay attack
通过ARP请求生成新的IV是常用的可靠的攻击手段。程序监听一个ARP包并转发回AP,反过来,因为AP重复收到了包,会一次又一次的重复转发相同的包,然而每个重复的ARP包都在AP有一个新的IV,就是这些新的IV能够让你获取WEP密码。

ARP是address resolution protocol,TCP/IP协议使用ARP来把一个IP地址转换成一个物理地址,就像是以太网地址那样,一个主机希望获取一个物理地址就得向TCP/IP网络广播一个ARP请求,网络上的主机会回复一个物理地址。ARP是aircrack-ng提供的许多攻击的基础。

Attack 4: KoreK chopchop attack
该攻击如果成功的话会在不知道key的情况下解析WEP数据包。一般用于破解动态WEP,该攻击不能用于找回WEP密码,但是可以用来显示数据明文。然而一些AP可以抵御这类攻击,所以KoreK chopchop attack不是每次都能成功。
实际上AP返回的包长是60字节,如果不足42字节,aireplay会尝试猜测余下的缺失数据,而后会自动检查包头的校验和,KoreK chopchop attack需要至少一个WEP数据包。

Attack 5: Fragmentation attack
该攻击成功的话可以获取包含150字节的PRGA(pseudo random generation algorithm),也叫做伪随机码生成算法,该攻击只是用于获取PRGA而不能用来找回WEP密码,可以用packetforge-ng攻击使用这个PRGA生成用于各种注入攻击的数据包。至少需要从AP获得一个数据包。

基本上,程序会从数据包中获取少量的密钥信息,并向AP尝试发送包含少量密钥信息的ARP and/or LLC包。如果包可以成功返回,那么程序会从中获取更多的密钥信息,这个过程会不断的重复,直到获取了足够的1500字节PRGA数据。注意PRGA有时候也会少于1500字节。

Attack 6: Cafe-latte attack (The documentation will be available shortly.)
Cafe-latte attack攻击允许你从一个客户端获取WEP密码,简单的说,就是从客户端抓取ARP包。首先使用airodump-ng抓取ARP包,随后使用aricrack-ng来分析出WEP密码。

Attack 7: Client-oriented fragmentation attack (The documentation will be available shortly.)
也叫做Hirte attack,是一种在客户端用IP或者ARP包攻击的方式,它增强了Cafe Latte attack,允许无限制的使用客户端的任何ARP包。

这个攻击需要一个来自客户端的ARP包或者IP包,我们需要生成一个ARP请求,该请求包的第33字位必须是客户端IP地址,并且目标MAC地址必须是全0,然而实际应用中,目标MAC地址可以是任意数字。

在包中,第23位(ARP包)或者第21位(IP包)是客户端的IP地址,如果包长是68字节或者86字节,包的最后附加有广播MAC地址,不满足这些条件的话,就认为这个包就是个IP包。

In order to send a valid ARP request back to the client, we need to move the source IP to position 33. Of course you can't simply move bytes around, that would invalidate the packet. So instead, we use the concept of packet fragmentation to achieve this. The ARP request is sent to the client as two fragments. The first fragment length is selected such that the incoming source IP is moved to position 33 when the fragments are ultimately reassembled by the client. The second fragment is the original packet received from the client.

In the case of an IP packet, a similar technique is used. However due to the more limited amount of PRGA available, there are three fragments plus the original packet used.

In all cases, bit flipping is used to ensure the CRC is correct. Additionally, bit flipping is used to ensure the source MAC of the ARP contained within the fragmented packet is not multicast.

Attack 9: Injection test
The injection test determines if your card can successfully inject and determine the ping response times to the Access Point (AP). If you have two wireless cards, it can also determine which specific injection tests can be successfully performed.

如果你的无线网卡可以成功注入并且能够确定到AP的响应时间,并且你有两块无线网卡的话,就可以使用Injection test攻击。它可以确定哪个特别的注入测试能成功执行。

基本的injection test攻击提供附加的重要信息,首先它可以列出能响应广播所有AP,其次通过30次发包测试可以获得AP的通讯质量(以百分比的形式显示通讯质量),你可以任选AP的名字/MAC地址,你可以使用测试一个指定的AP还是测试一个隐藏的SSID。
如果实现呢?接下来将简单的描绘如何执行测试。
程序最初发送了广播请求,请求会询问AP“你是谁?”,然后收到请求的AP会返回一个关于自身的描述(并不是每个AP都会反馈这种类型的请求),只要程序可以收到AP的响应,那么这块无线网卡就可以成功注入。
The program initially sends out broadcast probe requests. These are probe requests which ask any AP listening to respond with a description of itself. Not every AP will respond to this type of request. A list of responding APs is assembled to be used in subsequent steps. If any AP responds, a messages is printed on the screen indicating that the card can successfully inject.

At the same time, any AP identified via a beacon packet is also added to the list of APs to be processed in subsequent steps.

If a specific AP was optionally listed on the command line (BSSID and SSID), this is also added to the list of APs to be processed.

Then for each AP in the list, 30 directed probe requests are sent out. A directed probe request is addressed to a specific AP. The count of probe responses received plus the percentage is then printed on the screen. This indicates if you can communicate with the AP and how well.

If two wireless cards were specified then each attack mode is tried and the results printed on the screen.

An additional feature is the ability to test connectivity to airserv-ng. Once the basic connectivity test is completed then it proceeds with the standard injection tests via the wireless card linked to airserv-ng.

没有评论:

发表评论