aircrack-ng 介绍、功能测试及部分源码分析

aircrack-ng 介绍、功能测试及部分源码分析

【实验目的】
1、理清aircrack-ng的总体设计框架,包括各模块的功能与联系;
2、核心模块的实现原理(aircrack-ng、aireplay-ng、airodump-ng)
【实验要求】
1、 查找aircrack-ng软件相关资料,搞清楚是什么的问题。
2、 分析aircrack-ng的功能以及对应的实现模块和各模块的依赖关系
3、 主要攻击方式和流程介绍
4、 对WPA/WPA2加密方式和破解进行深入探究
5、 阅读aircrack-ng,aireplay-ng,airodump-ng三个关键模块的代码并注释,绘制流程图
6、 梳理aircrack-ng的整体框架
7、 ——较为详细地描述实验的具体要求(包括针对的数据、实现的功能、处理步骤、结果的形式等)
【实验环境】
1、 VMware Workstation虚拟机
2、 Kali操作系统
3、 USB网卡一块
【实验过程】

一、 实验步骤与关键问题分析

(一)、aircrack-ng简介

  Aircrack- ng是一套完整的评估 WiFi 网络安全性的工具,是一个与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上并嗅探802.11a,802.11b,802.11g的数据。它侧重于 WiFi 安全的不同领域:

 监控:数据包捕获并将数据导出到文本文件以供第三方工具进一步处理
 攻击:通过数据包注入进行重放攻击、取消身份验证、伪造接入点等
 测试:检查 WiFi 卡和驱动程序功能(捕获和注入)
 破解:WEP 和 WPA PSK(WPA 1 和 2)
所有工具都是命令行,允许编写繁重的脚本。很多 GUI 都利用了这个特性。它主要适用于 Linux,但也适用于 Windows、macOS、FreeBSD、OpenBSD、NetBSD,以及 Solaris 甚至 eComStation 2。

(二)、aircrack套件
1、主要套件
 airbase-ng - 旨在攻击客户端而不是接入点 (AP) 本身的多用途工具。
 aircrack-ng – 802.11 WEP 和 WPA/WPA2-PSK 密钥破解程序。
 airdecap-ng – 解密 WEP/WPA/WPA2 捕获文件。
 airdecloak-ng – 从数据包捕获文件中删除 WEP Cloaking™。
 airdrop - ng——基于规则的无线解除认证工具。
 aireplay-ng – 注入和重放无线帧。
 airgraph-ng – 绘制无线网络。
 airmon-ng – 在无线接口上启用和禁用监控模式。
 airodump-ng – 捕获原始 802.11 帧。
 airolib-ng – 在数据库中预先计算 WPA/WPA2 密码短语,以便稍后与 aircrack-ng 一起使用。
 airserv-ng – 无线网卡 TCP/IP 服务器,允许多个应用程序使用无线网卡。
 airtun-ng – 虚拟隧道接口创建者。
 packetforge-ng – 创建可用于注入的各种类型的加密数据包。

2、不稳定的实验性套件

 easside-ng – 可在不知道密钥的情况下与 WEP 加密的接入点进行通信。
 tkiptun-ng – WPA/TKIP 攻击的概念验证实现:将一些帧注入具有 QoS 的 WPA TKIP 网络
 wesside-ng – 结合了多种技术,可在几分钟内无缝获取 WEP 密钥。

 由于WEP加密方式存在安全问题,现在已经被安全性更强WPA/WPA2加密方式取代,故我们将主要精力放在WPA/WPA2的研究上。

(三)、aircrack关键套件功能测试及使用方法
主要分为四部分介绍:
1、网络侦测套件
2、数据包嗅探套件
3、破解攻击套件
4、基础支撑工具模块

一、网络侦测套件
(一)、airmon-ng(无线监听工具)

1、功能:
1、此脚本可用于在无线接口上启用和禁用监控模式。
2、它也可用于从监控模式返回到托管模式。
3、输入不带参数的 airmon-ng 命令将显示接口状态。
4、列出 / 杀死可能干扰的程序配合无线网卡操作

2、用法概述

(1)、命令格式

(2)、用法示例

  (2.1)、显示接口状态

airmon-ng

(2.2)、检测干扰进程

许多过程会干扰airmon-ng,使用check选项可以查看干扰的进程,可以使airmon-ng check kill 杀死它们,因为它们会通过改变通道进行干扰,有时还会将接口恢复到托管模式。

airmon-ng check

(2.3)、开启无线监听

(3.4)、关闭无线监听

二、数据包嗅探套件
(一)、Airodump-ng
1、数据包嗅探:将无线网络数据输送到PCAP或IVS文件并显示网络信息描述Airodump-ng是用来抓包的,尤其适合为破解WEP收集IVs(初始向量),再用这些IVs来破解密码。另外,如果我们的电脑连接有GPS定位装置,那么airodump-ng则能够定位到它所找到的接入点的位置坐标。airodump-ng也能将接入点和客户端的信息写入文件中。

2、在使用airodump-ng之前,我们可先用airmon-ng列出检测到的无线接口。另外,建议同时使用Kismet和airodump-ng。我们可以将 .cap或者 .dump文件转化为 .ivs文件,或者将他们合并。

三、破解攻击套件
(一)、aircrack-ng破解WEP和WPA秘钥(暴力破解)
1、功能:
主要用于WEP及WPA-PSK密码的恢复,只要aircrack-ng收集到足够数量的数据包,aircrack-ng就可以自动检测数据包并判断是否可以破解。Aircrack-ng可以在使用airodump-ng捕获足够的加密数据包后恢复WEP密钥。aircrack-ng 套件的这一部分使用两种基本方法确定 WEP 密钥。第一种方法是通过PTW方法(Pyshkin,Tews,Weinmann)。默认的破解方法是PTW。这分两个阶段完成。在第一阶段,aircrack-ng 仅使用 ARP 数据包。如果未找到密钥,则它将使用捕获中的所有数据包。但并非所有数据包都可用于 PTW 方法。PTW攻击目前只能破解40位和104位WEP密钥,PTW 方法的主要优点是需要少的数据报就可以破解 WEP 密钥。
另一种较旧的方法是FMS/ KoreK方法。FMS/KoreK 方法结合了各种统计攻击来发现 WEP 密钥,并将其与暴力破解结合使用。它需要比PTW更多的数据包,但当PTW失败时,它能够恢复密码。
此外,该程序还提供了用于确定 WPA/WPA2密钥的字典方法。aircrack-ng仅仅提供了字典方法暴力破解WPA/WPA2 密钥,需要"四向握手"作为输入。对于 WPA 握手,一个完整的握手由四个数据包组成。而aircrack-ng只需2个数据包即可成功工作。
2、工作方式:
(1)第一种方法是PTW方法(Pychkine,Tews,Weinmann)。2005年,Andreas Klein提出了对RC4流密码的另一项分析。Klein表明,RC4密钥流和密钥之间的相关性比Fluhrer,Mantin和Shamir发现的相关性更多,这些可能还用于破坏WEP。PTW 方法扩展了 Klein 的攻击,并针对 WEP 进行了优化。它实质上使用下一节中介绍的增强型 FMS 技术。一个特别重要的约束是,它仅适用于 arp 请求/回复数据包,不能用于其他流量。
(2)第二种方法是FMS / Korek方法,它结合了多种技术。
在这种方法中,结合了多种技术来破解WEP密钥:
A:FMS ( Fluhrer, Mantin, Shamir) attacks - 统计技术
B:Korek攻击 - 统计技术
C: 暴力破解
当使用统计技术破解 WEP 密钥时,密钥的每个字节基本上都是单独处理的。使用统计数学,当为特定键字节捕获正确的初始化向量(IV)时,正确猜测键中的某个字节的可能性高达15%。从本质上讲,某些 IV 会"泄漏"特定密钥字节的机密 WEP 密钥。这是统计技术的基本基础。
通过使用一系列称为FMS和Korek攻击的统计测试,可以累积对秘密WEP密钥的每个密钥字节的可能密钥的投票。不同的攻击具有不同数量的投票,因为每次攻击产生正确答案的概率在数学上有所不同。特定潜在键值累积的投票越多,它就越有可能是正确的。对于每个密钥字节,屏幕显示可能的密钥及其到目前为止累积的票数。票数最多的密钥很可能是正确的,但不能保证。Aircrack-ng随后将测试密钥以确认它。可用的数据越多,aircrack-ng确定秘密WEP密钥的机会就越大。
上述技术和方法不适用于 WPA/WPA2 密钥。破解WPA/WPA2密钥的唯一方法是通过字典攻击。
使用WPA/WPA2密钥,客户端和接入点建立密钥材料,以便在客户端首次与接入点关联时,在开始时用于其通信。客户端和接入点之间有四次握手。airodump-ng可以捕捉到这种四向握手。用于 WPA/WPA 暴力破解的字典需要每行包含一个密码。aircrack-ng 使用来自提供的单词列表(字典)的输入,复制四向握手,以确定单词列表中的特定条目是否与四向握手的结果匹配。如果是这样,则表示已成功标识预共享密钥。由于计算量特别大,在实践中,不太可能确定非常长或不寻常的预共享密钥。一个高质量的单词列表将给你最好的结果。另一种方法是使用像开膛手约翰这样的工具来生成密码猜测,这些猜测又被输入到aircrack-ng中。
下面是一些常用的模式选项:

(二)、Airdecap-ng(解密WPA加密的pcap文件)

1、用法概述
   Airdecap-ng可以解密WPA/WPA2捕获文件,还可以用于从未加密的无线捕获中剥离无线标头。输出一个-dec.cap结尾的新文件,它是输出文件的解密/剥离版本。

2、命令格式

注意:捕获文件必须包含有效的四次握手,只有握手之后的数据包才会被解密。

(三)、Aireplay-ng
用于注入帧。主要功能是生成流量,以便以后在aircrack-ng中用于破解 WEP 和 WPA-PSK 密钥。有不同的攻击可能导致出于捕获 WPA 握手数据、虚假身份验证、交互式数据包重放、手工制作的 ARP 请求注入和 ARP 请求重新注入的目的而取消身份验证。使用packageforge-ng工具,可以创建任意帧。
1、攻击的使用
它目前实施多种不同的攻击:
攻击 0:取消身份验证
攻击 1:虚假身份验证
攻击 2:交互式数据包重放
攻击3:ARP请求重放攻击
攻击4:KoreK斩击攻击
攻击5:碎片攻击
攻击6:咖啡拿铁攻击
攻击 7:面向客户端的碎片攻击
攻击8:WPA迁移模式
攻击9:注射测试

2、用法
对于除取消身份验证和虚假身份验证之外的所有攻击,您可以使用以下筛选器来限制将向特定攻击显示哪些数据包。最常用的过滤器选项是"-b",用于选择特定的接入点。对于典型用法,"-b"是唯一使用的用法。
攻击可以从两个源获取要重播的数据包。第一个是来自无线网卡的数据包的实时流。第二个来自 pcap 文件。标准 Pcap 格式,被大多数商业和开源流量捕获和分析工具所认可。从文件中读取是 aireplay-ng 的一个经常被忽视的功能。这允许您从其他捕获会话读取数据包。请记住,各种攻击会生成 pcap 文件以便于重复使用。

3、10种不同的攻击模式
UsageAttack 0: Deauthentication(取消身份验证)此攻击将取消关联数据包发送到当前与特定接入点关联的一个或多个客户端。出于多种原因,可以取消关联客户端:
§ 正在恢复隐藏的 ESSID。这是一个未广播的 ESSID。另一个术语是"隐身"。
§ 通过强制客户端重新进行身份验证来捕获 WPA/WPA2 握手
§ 生成 ARP 请求(Windows 客户端有时会在断开连接时刷新其 ARP 缓存)
当然,如果没有关联的无线客户端或虚假身份验证,则此攻击是完全无用的。

 Attack 1: Fake authentication(虚假身份验证)假身份验证攻击允许您执行两种类型的 WEP 身份验证(开放系统和共享密钥)以及与接入点 (AP) 关联。仅当您在各种aireplay-ng攻击中需要关联的 MAC 地址并且当前没有关联的客户端时,这才有用。应该注意的是,虚假身份验证攻击不会生成任何ARP数据包。虚假身份验证不能用于对 WPA/WPA2 接入点进行身份验证/关联

 Attack 2: Interactive packet replay(交互式数据包重放)此攻击允许您选择要重播(注入)的特定数据包。攻击可以从两个源获取要重播的数据包。第一个是来自无线网卡的数据包的实时流。第二个来自 pcap 文件。标准 Pcap 格式(数据包 CAPture,与 libpcap 库http://www.tcpdump.org相关联)被大多数商业和开源流量捕获和分析工具所认可。从文件中读取是 aireplay-ng 的一个经常被忽视的功能。这允许您从其他捕获会话读取数据包,或者经常,各种攻击会生成pcap文件以便于重用。

 Attack 3: ARP request replay attack(ARP 请求重放攻击)经典的ARP请求重放攻击是生成新的初始化向量(IV)的最有效方法,并且工作非常可靠。程序侦听 ARP 数据包,然后将其重新传输回接入点。反过来,这会导致接入点使用新的 IV 重复 ARP 数据包。该程序一遍又一遍地重新传输相同的 ARP 数据包。但是,接入点重复的每个 ARP 数据包都有一个新的 IV。正是所有这些新的IV确定WEP密钥。

 Attack 4: KoreK chopchop attack此攻击成功后,可以在不知道密钥的情况下解密 WEP 数据包。它甚至可以对抗动态 WEP。此攻击不会恢复WEP密钥本身,而只是揭示了明文。但是,某些接入点不容易受到此攻击。有些起初可能看起来很脆弱,但实际上丢弃的数据包短于60字节。如果接入点丢弃的数据包短于 42 字节,aireplay 会尝试猜测剩余的缺失数据,只要标头是可预测的。如果捕获了 IP 数据包,则在猜测标头的缺失部分后,还会检查标头的校验和是否正确。此攻击至少需要一个 WEP 数据包。
 Attack 5: Fragmentation attack(碎片攻击)此攻击成功后,可以获得 1500 字节的 PRGA(伪随机生成算法)。此攻击不会恢复 WEP 密钥本身,而只是获取 PRGA。然后,PRGA可用于生成具有package-ng的数据包,这些数据包又用于各种注入攻击。它需要从接入点接收至少一个数据包才能发起攻击
 Attack 6: Cafe-latte attack(咖啡拿铁攻击)Cafe Latte 攻击允许从客户端系统获取 WEP 密钥。简而言之,这是通过从客户端捕获ARP数据包,对其进行操作然后将其发送回客户端来完成的。客户端反过来生成数据包,这些数据包可以通过airodump-ng 捕获。随后aircrack-ng可用于确定WEP密钥。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值