使用Aircrack-NG测试WIFI密码

0、正文之前的巴拉巴拉        

        我之前的文章发过类似的笔记,当时简单测试过,没有详细记录。现在仔细的学习和记录一下。正好手头有相关的工具,一并记录一下。

        首先介绍一下aircrack-ng,下文内容很多来自官网介绍。

Aircrack-ngicon-default.png?t=N7T8https://www.aircrack-ng.org/

         Aircrack-ng是一套评估WiFi网络安全的完整工具。它关注WiFi不同的安全领域:

        监控:捕获数据包并将数据导出为文本文件,供第三方工具进一步处理

        攻击方式:重放攻击、去认证攻击、伪造接入点攻击、数据包注入攻击等

        测试:检查WiFi网卡和驱动能力(捕获和注入)

        渗透:WEPWPA PSK (WPA 12)

        所有的工具都是命令行,允许丰富的脚本。很多GUI也利用了这个特性。Aircrack-ng主要适用于Linux,也适用于WindowsmacOSFreeBSDOpenBSDNetBSD,以及Solaris等等。

        Aircrack-ng是个套件,包含了以下这些工具,在测试wifi密码时通常会用到其中几个。

  • airbase-ng -- 旨在攻击客户端而非接入点(AP)本身的多用途工具。
  • aircrack-ng -- 802.11 WEP和WPA/WPA2-PSK密钥测试程序。
  • airdecap-ng -- 旨在攻击客户端而非接入点(AP)本身的多用途工具。
  • airdecloak-ng -- 删除WEP伪装™ 从数据包捕获文件。
  • 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 -- 创建可用于注入的各种类型的加密数据包。

        在开始之前我也简单把官网上有关事项都列出来,不是为了增加难度,是为了扩展知识面,减小我们思维局限性。

        aircrack-ng官方网站给出内容看,无线网卡的兼容性、功能、平台方面差异比较大所以建议了解一下。

        第一是只是想侦听无线网络流量,还是同时侦听和注入数据包。

        第二是aircrack-ng运行在操作系统上,Windows平台上兼容性较差(而且某些网卡只支持侦听,不支持注入)

        第三是确定使用哪种接口的网卡(PCIPCMCIAUSB 等)

        这里关键的一部就是有支持的wifi网卡。怎样确定网卡支持,或者应该买什么样的网卡,简单的办法是到网上交易平台搜索kali linux 混杂模式  wifi等关键字,应该有商家测试好了在售卖。

       如果想搞明白就看下面内容:

       确定当前无线网卡包含的芯片组。“芯片组”是网卡上的电子设备,允许卡运行无线。并非所有芯片组都受 aircrack-ng 支持。即使支持芯片组,某些功能也可能无法正常工作。

        一张无线网卡会涉及2个厂家,第一个是网卡生产厂家,第二个是芯片组厂家,芯片组才是决定是否支持Aircrack-ng的重要因素。好多网卡生产厂家都不太愿意公开自己网卡上的芯片信息。甚至部分厂家的同一型号的不同版本会使用不同的芯片组。

确定网卡芯片组

  • 在互联网上搜索“<您的卡型号>芯片组“<您的卡型号> linux”。很多时候,您可以找到有关您的卡使用的芯片组和/或其他人的体验的参考。
  • 您还可以查看Windows驱动程序文件名,它通常是要使用的芯片组或驱动程序的名称。
  • 查看卡制造商页面。有时他们会说他们使用的芯片组。
  • 在某些卡(例如PCI)上,您可以物理上看到无线芯片。寻找品牌,如Atheros,德州仪器等。芯片组编号也经常被观察到。
  • 查看 lsusb -vv 输出以了解说明、USB ID 和使用的内核模块。如果卡是内置的,则对 lspci -vv 执行相同的操作。

比如我的网卡

        lsusb -vv 

en:users:drivers [Linux Wireless]icon-default.png?t=N7T8https://wireless.wiki.kernel.org/en/users/drivers

可以到这里查看网卡和驱动是否支持

        官网说关键是芯片,但是列出来却是驱动,这也可以理解,因为无法统计网卡厂家或芯片厂家的商业行为。所以驱动和芯片的对应关系我们需要确认一下。

        比如想要使用USB网卡,找到了RT2800usb这个驱动,点开后可以看到相对应的网卡芯片。然后再找对应系列的网卡。

Driver for Ralink/MediaTek USB devices RT2770, RT2870, RT3070 RT3071, RT3072, RT3572.

这样就类出来相关的网卡芯片,可以针对性的购买。以上内容说我的理解,我也没有条件去具体测试其他的网卡支持情况。

  

1、正文开始

      1.1 环境准备

        首先列一下自己的环境:

        1、一张被aircrack-ng套件支持的网卡,我的是Linksys WUSB54GC。

         是我在咸鱼上花费35元rmb买的。

        2、kali linux,这个我用的虚拟机,方便、高效、给力。

        3、有AP,也有客户端。我的是办公室环境,我知道密码,我可以把密码写入破解字典当中。 

       1.2 开启侦听

        把网卡插入到主机,虚拟机会弹出连接提示。(如果没有弹出请检查虚拟机服务和USB外设连接情况)

         这时候运行iwconfig,会列出系统的网卡,哪些可以支持802.11。

        这时候看到wlan0是无线网卡,Mode:Managed,就是一般模式,当处于侦听模式时会显示:Monitor。也可以使用airmon-ng命令查看:

         使用airmon-ng start wlan0命令使网卡处于监听模式。

        我们可以看到提示有2个进程影响这个操作,运行airmon-ng check kill命令之后再开启监听模式。  不过估计这是新版的套件,所以自动执行了。以前我记得需要手动执行。

        这时候iwconfig,发现wlan0网卡消失了,变成了wlan0mon,模式变成了:Monitor。

        网上说没有变为wlan0mon的也不是说网卡不支持监听,没有变wlan0mon,下一步的时候直接这样操作就可以,命令这样写:airodump-ng wlan0。我没有遇到也没有测试。

        扫描当下的无线信号。

#airodump-ng wlan0mon

默认不加参数的话会扫描所有信道,所有ssid。我们要找信号比较强的,有客户端连接的这个SSID,比如上图的54:0D:F9:0F:D4:E8,其中一个客户端F8:89:D2:59:87:CD。

下一步就是开始抓包,抓取握手包,就是等待新的终端连上来第一次握手的包。

#airodump-ng -c 1 --bssid 54:0D:F9:0F:D4:E8 -w cap1 wlan0mon

-c后面跟1使信道号,bssid后面跟AP的地址,-w后面跟抓包文件名,这里用cap1,wlan0mon使侦听网卡。运行以后会看到正在抓包的状态。这个窗口不关闭,持续抓。

这时候就是等待抓到握手包,如果没有新的客户端上线就需要等待。aircrack-ng套件这么强大,肯定不用傻傻等下去。有另外一个工具可以用,那就是aireplay-ng。aireplay-ng是用来注入和重放的工具。利用这个工具在客户端和AP之间注入,导致客户端和AP中断和重连。

#aireplay-ng -0 20 -a 54:0D:F9:0F:D4:E8 -c F8:89:D2:59:87:CD wlan0mon

-a后面跟bssid,这里是54:0D:F9:0F:D4:E8,-c后面跟客户端MAC,这里是F8:89:D2:59:87:CD

-0后面跟发送注入包数量,不易太多,多了就会让正常终端网络异常时间过长,引起警觉。

我实际测试一下设置5-10就可以了。

终端ping的话会有1-2个丢包,不会让终端注意到。

而且我第一次抓的时候没有经验,也不知道抓到没有,其实可以查看刚才抓包界面,显示WPA handshake就是抓到包。

这是后就可以停止刚才抓包窗口。对应目录下会生成cap1-01开头的文件名。

1.3 跑包测试

这时候我们已经抓到客户端和AP握手包了,需要用到可以使用aircrack-ng和一个wifi密码的字典。

我从网上下载了一个常用字典:

#aircrack-ng   -w  字典路径  握手包路径

#aircrack-ng -w /home/test/dic /hom/testr/cap1-04.cap

01,02,03,抓的包都是没有握手包的。

类似这种。

因为我知道WiFi 密码,所以把密码放到字典文件中,很快就对比出来了。

提示KEY FOUND! 

2、总结

        以上可以看到使用aircrack-ng测试无线密码安全性的步骤。这个过程kali linux或者其他操作系统要求、无线网卡要求和字典的要求,缺一不可。至于更复杂的wifi的握手过程、广播包、arp请求等技术细节我也没有仔细研究过。

        记得当初第一次用是测试WEP密码。由于WEP存在漏洞,所以只需要前2步就可以,也就是说注入攻击,拦截握手包,直接就可以解出密码,不需要跑字典。本来想还原一下过程,无奈支持WEP协议的AP都没有,手机也不支持。所以不能复现。

        aircrack-ng能做的不仅如此,有个专业的名词叫:EVIL TWIN AP,就是邪恶的AP。在公共场合使用aircrack-ng设置一个公开的WIFI热点,比如在麦当劳旁边就设置麦当劳,这样可以做中间人攻击,拦截用户的网络流量截取敏感信息。

        以上只是个人学习测试,请勿用于非法用途。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆驼1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值