This article was last updated on <span id="expire-date"></span> days ago, the information described in the article may be outdated.
在 之前的一篇文章中 说过会发一篇关于在 TP-Link WN722N V3 版本的无线网卡上使用 aircrack 等工具的教程,今天来填一下坑。
aircrack 和 reaver 是无线渗透中的两个常用的工具包:而因为需要对指定的信道进行侦听获取全部的数据报,我们需要一块支持 monitor mode
的网卡。所以经过选择,我购买了这块 TP-Link WN722N USB 无线网卡。
但是这块网卡太坑爹了:TP-Link WR722N 这块网卡一共有过三个版本:V1-V3,而在 Linux 上可以正常使用 monitor mode
的版本只有 V1,这三块网卡在购买时不仔细看时很难看出区别(仅仅在外包装右下角的一个小标签上写有版本号)
所以当你像我一样由于各种原因购买了 V3 版本的 WN722N 网卡之后,如果仍然希望正常使用 monitor mode
,你需要对内置的 driver+reaver
进行一系列的改造;而如果你在 Google 上搜索,你是没有办法看到任何的有效信息来让你手里的这块网卡正常工作的。但是经过我的一系列摸索,终于找到一条改造之路。
准备
进行系统改造,你需要准备以下条件:
- 一块 TL-WN722N V3 网卡
- 经过更新,安装好
PCAP
组件和aircrack
套件的 Linux 系统
安装驱动
首先我们需要让手里的这块网卡有能够支持 monitor mode
版本的驱动,
- 下载驱动
git clone https://github.com/quickreflex/rtl8188eus
- 如果
Linux kernel version >= 5.20
,那么请修改驱动的源文件./os_dep/linux/os_intfs.c
第1099
行:
1 | -#if (LINUX_VERSION_CODE>=KERNEL_VERSION(4,19,0)) |
- 下来请使用使用
make && make install
安装驱动
至此,我们将修改后的驱动安装完毕,下来我们需要屏蔽系统内自带的驱动:
- 创建文件
/etc/modprobe.d realtek_blacklist.conf
,并在其中写入:
1 | blacklist r8188eu |
- 重新启动
shutdown -r now
重启之后我们就可以正常的对这块网卡启用 monitor mode
具体的方法会在下面进行说明(这里不能够使用 airmon-ng start
进行网卡初始化)
使用 aircrack 工具包
aircrack 工具包官方推荐使用 airmon-ng start
命令来对网卡进行初始化,这里的初始化主要是进行了以下几个步骤:
- 关闭系统自带的网络管理进程(他们可能会在我们抓数据时更改信道,导致莫名其妙的问题)
- 对指定的网卡启用
monitor mode
- 将网卡的
power_save
选项关闭,防止网卡自动休眠
但是出于_不知道为什么_的原因,我们使用 airmon-ng start
指令初始化网卡会失败,在这里经过测试我们需要使用 iw
指令来进行手动管理(也就是初始化网卡的指令):
1 | airmon-ng check kill |
这时候我们就可以正常的使用 aircrack 工具包,但是使用 reaver 还是有些许问题,我们需要进行一些修复。
修复 reaver 支持
在 GitHub 上的 reaver 的项目 issue 中看到这个版本的驱动和 reaver 的协作有些问题,会导致无法正常的获取到 pcap handle
,所以我们需要下载另一份 _reaver_,并且进行一些修改使得他们能够正常工作:
- 下载 reaver
git clone https://github.com/t6x/reaver-wps-fork-t6x
- 进入项目文件夹,修改源文件
./src/init.c
第144
行:
1 | -pcap_set_rfmon(handle, rfmon_active); |
- 停留在
src
文件夹内执行./configure
配置程序会检查依赖, 如有缺少请根据提示安装 - 安装修复过后的 reaver
make && make install
- 重新启动
shutdown -r now
之后你的 reaver 就可以正常工作了,你可以尝试 wash -i wlan0
命令来进行测试。
其他
因为每次重新启动之后都需要重新配置一遍网卡来进入 monitor mode
模式,我建议将上面初始化网卡的指令保存为一个文件,之后每次使用时运行一下即可: bash start.sh
这样会方便很多。
祝大家使用愉快。
Comments