aircrack-ng,WiFi安全评估工具

aircrack-ng,WiFi安全评估工具

阅读原文

建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《aircrack-ng,WiFi安全评估工具》

介绍

Aircrack-ng is a complete suite of tools to assess WiFi network security.
       Aircrack-ng 是一套完整的工具套件,用于评估 WiFi 网络安全性。

It focuses on different areas of WiFi security:
它专注于 WiFi 安全性的不同领域:

  • Monitoring: Packet capture and export of data to text files for further processing by third party tools
    监控:数据包捕获并导出到文本文件供第三方工具进一步处理

  • Attacking: Replay attacks, deauthentication, fake access points and others via packet injection
    攻击:通过数据包注入进行重放攻击、去认证攻击、虚假接入点攻击等

  • Testing: Checking WiFi cards and driver capabilities (capture and injection)
    测试:检查 WiFi 网卡和驱动程序的功能(捕获和注入)

  • Cracking: WEP and WPA PSK (WPA 1 and 2)
    破解:WEP 和 WPA PSK(WPA 1 和 WPA 2)

All tools are command line which allows for heavy scripting. A lot of GUIs have taken advantage of this feature. It works primarily on Linux but also Windows, macOS, FreeBSD, OpenBSD, NetBSD, as well as Solaris and even eComStation 2.
    所有工具均为命令行工具,这使得大量脚本编写成为可能。许多图形用户界面已经利用了这一特性。它主要在 Linux 上运行,但也适用于 Windows、macOS、FreeBSD、OpenBSD、NetBSD,甚至 Solaris 和 eComStation 2。

警告

本文仅供参考,仅用于合法渗透测试,禁止在未经他人许可下,强行破解WiFi密码,否则后果自负,本人不承担任何责任。

官网

Aircrack-ng

github网址

aircrack-ng/aircrack-ng: WiFi security auditing tools suite

安装

虽然aircrack-ng支持Windows和Linux,但是有些功能仅支持Linux,而且Windows系统上安装aircrack-ng比较麻烦,建议在Linux系统上安装使用aircrack-ng

Linux

建议之间安装kali Linux系统,其内置aircrack-ng,而且从官方文档上我发现kali Linux系统上的aircrack-ng是最新版本的:

image.png

安装kali Linux系统比较简单,本文不再赘述

aircrack-ng支持破解哪些类型的WiFi密码?

支持WEP and WPA PSK (WPA 1 and 2),不支持WPA3,当前,WPA3几乎是无法被破解的。

需要注意的是,aircrack-ng只能破解简单密码,复杂密码是无法破解的。

对于WPA,只支持PSK认证方法

教程

利用aircrack-ng破解WPA1和WPA2加密的WiFi密码

官方文档:cracking_wpa [Aircrack-ng] --- cracking_wpa [Aircrack-ng]

本小节演示整个破解用WPA2加密的WiFi密码过程

先决条件验证(Injection test  注入测试)

参考资料:https://www.aircrack-ng.org/doku.php?id=injection_test

首先要确保用于破解或攻击的电脑有无线网卡,而且无线网卡需要支持监控模式(monitor mode)

注入测试确定你的网卡是否能够成功注入并确定到接入点(AP)的回显响应时间。如果你有两张无线网卡,它还可以确定哪些具体的注入测试可以成功执行。

下行命令可以查看当前主机有哪些无线网卡:

airmon-ng

image.png

简单注入测试:

aireplay-ng -9 wlan0
#-9指的是进行注入测试,wlan0是主机上的无线网卡名

如果看到了“Injection is working”,说明无线网卡支持注入(Injection)

image.png

将无线网卡启动到监控模式

首先要kill掉影响airmon-ng命令执行的进程,用下行命令即可一次性kill掉这些干扰进程

airmon-ng check kill

image.png

然后将无线网卡wlan0启动到监控模式

airmon-ng start wlan0

运行上面的命令后,会自动创建一个新的interface,名为wlan0mon

image.png

iwconfig命令查询无线网卡是否处于monitor mode

iwconfig

如下图红色箭头所示,显示monitor,说明其已经处于monitor mode

image.png

iwlist命令可以查询无线网卡支持哪些channel(频道),以及当前处于哪个channel

iwlist wlan0 channel

image.png

扫描周围的所有WiFi,获取基本信息

运行下行命令即可扫描周围的所有热点信息,输出的信息比较丰富

airodump wlan0mon

可以看到,能查询到周围环境的所有WiFi的比较详细的信息。

小提示:按s键可以根据行标题排序,如按两次s键即可根据PWR(WiFi信号强度)排序。按空格键可以切换输出,因为输出是不断变化的,有时候想看某个WiFi的信息会不方便,此时按空格键就会暂停输出,再次按空格键就又恢复输出了。

image.pngimage.png

对上图中几个关键的点做简要说明:

BSSID:指的是WiFi的mac地址

PWR:指的是WiFi信号强度,越接近0,表示信号越强

CH:指的是channel

ENC:指的是加密方法

AUTH:指的是认证方法

ESSID:指的是WiFi名称,有些显示的是length,这说明WiFi被隐藏了

STATION指的是连接到相应WiFi的无线客户端mac地址

启动 airodump-ng 收集认证握手信息

The purpose of this step is to run airodump-ng to capture the 4-way authentication handshake for the AP we are interested in.

此步骤的目的是运行 airodump-ng 来捕获我们感兴趣的 AP 的 4 方认证握手。

#下行命令对周围环境的所有WiFi、所有channel进行扫描并将获取到的数据( IVs ,包括捕获到的4方认证握手数据)写入当前目录,以psk作为文件名的前缀,文件格式为.cap
#我做实验时使用的是下行命令
airodump -w psk wlan0mon

#如果先要对某个特定WiFi、特定channel进行扫描并写入数据,可以用下行命令,其中-c参数指定channel(频道),--bssid指定WiFi的mac地址
airodump -c 11 --bssid 00:01:02:03:04:05 -w psk wlan0mon

输出如下

image.png

如果在屏幕上方当前日期时间后面出现了WPA handshake文字,说明相应的WiFi,已经捕获到了4方握手认证数据

如下图:

airodump命令是可以同时监听多个WiFi数据的,并且可以将捕获到的多个WiFi的4方握手认证数据写入cap文件的。

image.png

一直没有捕获到4方握手认证数据怎么办

如果你按照上文操作,可能会发现,一直没有捕获到4方握手认证数据,通常的原因是:

要捕获4方握手认证数据,必须在捕获过程中,有一台已经连接到相应热点(WiFi)的设备断开连接,然后重新连接,或者有一个新的设备(这个设备之前连接过也可以)接入了相应热点。

所以如果你一直没有捕获到4方认证数据,通常就是因为没有设备重连,或者没有新的设备连接WiFi。

解决方案有两个:

第一、一直等,直到有设备重连,或者新的设备连接了相应热点;

第二、利用aireplay命令向已经连接到相应热点的设备(术语叫wireless client,无线客户端)发送欺骗包,使其主动掉线,然后自动重连,如此便能捕获到4方握手认证数据了。下一小节会简要介绍操作步骤。

使用 aireplay-ng 让无线客户端重新连接热点(可选步骤)

这一步是可选的。如果你有耐心,可以等待 airodump-ng 在一个或多个客户端连接到 AP 时捕获到握手包。只有在你选择主动加快过程时才执行此步骤。另一个限制是必须有一个无线客户端当前与 AP 关联。如果没有无线客户端当前与 AP 关联,那么你必须耐心等待一个客户端连接到 AP 以便捕获握手包。不言而喻,如果后来出现了一个无线客户端而 airodump-ng 没有捕获到握手包,你可以回溯并执行此步骤。

额外说明:我在进行实验室,虽然成功发送了欺骗包,而且也有回应,但是我发现无线客户端并没有自动重连,官方文档上写着发起攻击的电脑要离被攻击的无线客户端足够近,而我做试验时,至少隔离一堵墙,可能跟这个有关。

#注意:一定要新建一个终端,不要把原来的捕获命令停止
#下行命令中,-0指的是deauthentication(即使相应无线客户端重新进行认证、重连),1指的是发送过去的欺骗包的数量
aireplay-ng -0 1 -a <替换为相应的WiFi mac地址> -c <替换为你要发送欺骗包的无线客户端mac地址> wlan0mon

如果成功让相应的无线客户端重连了,则应该里面就能捕获到4方握手认证数据了。

image.pngimage.png

使用 aircrack-ng 破解预共享密钥(pre-shared key,PSK)

一旦捕获到了4方握手认证数据,就可以开始破解WiFi密码了。

可以新建一个终端,之前的airodump命令可以停止,也可以继续捕获。破解过程可以在任意地点进行,不必在要破解的WiFi覆盖范围内。也无需联网,离线破解完全没有问题。

#注意:/usr/share/wordlists/rockyou.txt这个文件可能不存在,但这个目录中应该存在同名的压缩文件,可以先解压
#/usr/share/wordlists/rockyou.txt这个文件包含常见密码的集合(字典文件),很大,有一百多MB,包含了一千四百三十多万个密码。
#./psk*.cap指的是包含了4方握手认证数据的文件,这里我们用了通配符
aircrack-ng -w /usr/share/wordlists/rockyou.txt ./psk*.cap

image.png

因为之前对环境中所有的WiFi进行了捕获,但是破解时,必须要指定具体的WiFi名称或者WiFi的mac地址(bssid),所以运行上行命令后,会提示,要输入的WiFi的索引,如下图,我选择了159,因为只有很少的几个WiFi,我们捕获到了4方握手认证,第159个就是其中之一

image.png

现在开始破解了,如果密码比较简单,是可以破解的,如下图,成功破解了密码。

但是如果密码不在/usr/share/wordlists/rockyou.txt这个文件中,则无法破解,会提示key not found

image.pngimage.png

总结

整个过程其实还是比较简单的,只是很多WiFi密码是无法破解的,因为其实破解密码是根据字典一个一个比对的,字典中密码数量毕竟是有限的。

所以如果要防止别人破解密码,办法非常简单,就是设置非常复杂的无规律的密码,对于WPA2,最长可以设置63位密码,对于当前的计算机的能力,得几百年才能破解了。当然,如果以后真的开发出了量子计算机,那破解密码就是分分钟的事情了,因为可以一般生成随机密码,以便破解,将所有的密码组合都尝试一遍。

关于作者和DreamAI

https://docs.dingtalk.com/i/nodes/Amq4vjg890AlRbA6Td9ZvlpDJ3kdP0wQ?iframeQuery=utm_source=portal&utm_medium=portal_recent

关注微信公众号“AI发烧友”,获取更多IT开发运维实用工具与技巧,还有很多AI技术文档!

梦幻智能logo-01(无水印).png

posted @ 2025-07-08 14:12  iamtornado  阅读(393)  评论(0)    收藏  举报