一、前言
Wimonitor是Hacker Arsenal的一款优秀产品,提供了Web配置界面,可以节省渗透测试人员的精力,使他们免于配置繁琐的虚拟机、挂载支持监听模式的无线网卡等操作。这款产品使用起来非常方便,只需要将设备插入以太网口中,你就可以在任何操作系统上监听Wi-Fi流量。本质上它是一个tp-link TL-MR3020路由器,搭载了具有监听功能的自定义固件,可以将监听到的数据包发往主机(或Mac),以便操作者在主机上运行Wireshark分析数据包。
虽然我尚未购买这款产品,但自上市以来,我已经听过关于该产品的许多赞誉之词。然而,从欧盟购买所需的运费实在太高,希望厂商能够尽快从欧盟区直接发货。
与此同时,我有个好想法:为什么我们不在树莓派(Raspberry Pi)上实现类似功能?
树莓派可以运行包括Kali在内的许多操作系统,之前我在渗透测试中也经常用到树莓派。树莓派3B功能非常强大,足以胜任稳定的监听工作,只需要几个简单的步骤,我们就可以将它变成Wimonitor(当然,只是功能上相似)。
Hacker Arsenal的极客们已经造出了Wimonitor这个绝妙的产品,该产品是一个性能稳定的即插即用设备,提供固件维护支持。因此,如果你是Wi-Fi安全领域的初学者,或者你想要一个简单易用的监听工具,我建议你选择Wimonitor。
二、所需硬件
运行Windows系统的一台笔记本主机(本文所完成的测试及截图均在Windows 8.1上完成)。
树莓派3B、micro SD卡、电源适配器(USB 3.0电源应该足以驱动树莓派+无线网卡)。
以太网线,连接树莓派及笔记本。
支持监听模式的Wi-Fi网卡(如TL-WN722N v1)。
三、安装步骤
1、将RASPBIAN STRETCH LITE写入micro SD卡。这是个轻量级操作系统,本身就支持包括TL-WN722N在内许多网卡的监听模式。你可以参考此处了解写入该系统的具体步骤。
2、将Raspbian写入micro SD卡后,你需要在树莓派上启用SSH功能。具体方法是在micro SD卡上创建一个名为ssh的空白文件(注意:不需要文件扩展名)。
3、为了能让笔记本与树莓派通信,最简单的方法是通过以太网与树莓派共享笔记本的Wi-Fi。这样树莓派就能得到192.168.137.x的IP地址。具体步骤是,先转到网络连接(使用ncpa.cpl命令),在Wi-Fi适配器上点击右键,选择“属性”,在“共享”选项卡中,选择与树莓派连接的那个以太网适配器,点击确定即可。
4、准备将树莓派连接到笔记本主机。将micro SD卡插入树莓派插槽,Wi-Fi网卡插入USB接口,通过网线将笔记本主机及树莓派连接起来,启动电源。
5、树莓派启动后,会通过共享连接获得一个IP地址。想要探测树莓派的IP地址,最简单的一种方法就是在笔记本上运行nmap,探测192.168.137.1/24子网上的主机。
6、运行PuTTY,通过SSH方式接入树莓派。我们正在使用的Raspbian OS的默认用户名密码为pi/raspberry。
7、想要为树莓派设置静态IP地址的话,可以打开`/etc/dhcpcd.conf`文件,在文件尾部添加如下字段:
interface eth0
static ip_address=192.168.137.100/24
static routers=192.168.137.1
static domain_name_servers=192.168.137.1
8、我推荐使用基于密钥认证的SSH登录方式。打开PuTTYgen,生成密钥对。
9、在树莓派的主目录创建一个`.ssh`目录,在其中创建一个名为`authorized_keys`的文件。将PuTTYgen生成的公钥信息粘贴到`authorized_keys`文件中。记得保存PuTTYgen的私钥。重启树莓派上的SSH服务。此外,记得修改树莓派的默认密码。
10、默认情况下,Raspbian lite OS并没有集成用来监听的软件包,我们可以使用如下命令安装这些软件包:
sudo apt update
sudo apt install aircrack-ng tcpdump -y
11、测试无线网卡能否在树莓派上执行监听任务。
12、现在,我们已验证树莓派上能够正常进行监听,接下来我们可以通过SSH登录树莓派,运行tcpdump,将结果传回笔记本上正在运行的Wireshark。plink.exe是PuTTY.exe的命令行接口,可以在Windows上满足这些需求。为了便于操作,我将plink.exe以及PuTTYgen生成的私钥放在同一个文件夹中。如果这两个文件不在同一个目录,我们可以使用如下命令修改为正确的路径。
只需要如下一行语句即可:
plink.exe -ssh -i pi-monitor-ssh-key.ppk [email protected] “sudo tcpdump -ni wlan1mon -s 0 -w -” | “C:Program FilesWiresharkWireshark.exe” -k -i –
如果只需要在信道1上监听的话,我们可以运行如下命令:
sudo iwconfig wlan1mon channel 1
如你所见,借助树莓派,我们不需要做太多操作就能监听Wi-Fi数据包,监听结果也能导出到Windows或其他操作系统中,通过Wireshark进行查看。
四、后续使用步骤
上述步骤是一次性安装步骤。后续我们想继续监听时,只需将无线网卡插入树莓派,按下电源开关,运行如下命令即可使树莓派进入监听模式:plink.exe -ssh -i pi-monitor-ssh-key.ppk [email protected] “sudo airmon-ng start wlan1”
随后,启动Wireshark,开始监听。
plink.exe -ssh -i pi-monitor-ssh-key.ppk [email protected] “sudo tcpdump -ni wlan1mon -s 0 -w -” | “C:Program FilesWiresharkWireshark.exe” -k -i –
就是这么简单 :-)
五、总结
这种方案有如下几个优点:
1、无需使用庞大的虚拟机。只需要使用Windows上的Wireshark以及plink.exe就能监听Wi-Fi流量。我还没有在Linux或Mac OS上测试这种方案,我猜应该有将SSH输出结果推送到Wireshark的类似办法。
2、Wi-Fi监听成本低廉。如果你已经准备进入渗透测试领域或类似领域,你手头上应该备有一个树莓派以及无线网卡。
3、Wimonitor可能只能使用板载的Wi-Fi芯片,然而这种方案中,树莓派可以使用任何(或多个)支持监听模式的无线网卡。只需要使用USB集线器或者电池为树莓派及无线网卡提供电源即可。你可以考虑一下使用Yagi–Uda天线来配合树莓派的无线网卡。
4、安装起来非常简单。Raspbian以及Kali原生支持类似Alfa AWUS036NHA、TL-WN722N之类的无线网卡。前期工作准备就绪后,我们只需要将无线网卡插入树莓派,运行两条命令就可以抓包分析。
5、树莓派足以应付监听任务。在相对较为繁忙的Wi-Fi区域中,这种方案中树莓派总共只消耗了35 MB左右的内存。
当然也有如下缺点:
1、不像Wimonitor那样即插即用。我们需要做些初始设置(即两条命令)才能启动并运行这套装备。
2、没有Web界面能够更改配置。
3、目前仍不具备信道子集跳频功能。
希望本文对你有所帮助。