借助树莓派模拟监听WIFI
作者:爱编程的小金毛球球 日期:2021年4月22日
前言
树莓派可以运行包括Kali在内的许多操作系统,Kali操作系统最主要应用于渗透测试方面,当然在树莓派自带的系统中,也可以完成渗透测试的部分功能。
树莓派4B功能非常强大,足以胜任稳定的监听工作。监听到的数据包发往主机(或Mac),以便操作者主机上运行Wireshark(网络封包分析软件)分析数据包。
所需硬件
运行Windows系统的一台笔记本主机(本文所完成的测试及截图均在Windows 10上完成)。
树莓派4B、micro SD卡、电源适配器
以太网线(用于连接树莓派及笔记本)
支持监听模式的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服务。此外,记得修改树莓派的默认密码。
mkdir .ssh
cd .ssh/
vi authorized_keys
sudo service ssh restart
10、默认情况下,Raspbian lite OS并没有集成用来监听的软件包,我们可以使用如下命令安装这些软件包:
sudo apt update
sudo apt install aircrack-ng tcpdump -y
11、测试无线网卡能否在树莓派上执行监听任务。
sudo airmon-ng start wlan1
sudo tcpdump -i wlan1mon
12、现在,我们已验证树莓派上能够正常进行监听,接下来我们可以通过SSH登录树莓派,运行tcpdump,将结果传回笔记本上正在运行的Wireshark。plink.exe是PuTTY.exe的命令行接口,可以在Windows上满足这些需求。为了便于操作,我将plink.exe以及PuTTYgen生成的私钥放在同一个文件夹中。如果这两个文件不在同一个目录,我们可以使用如下命令修改为正确的路径。
只需要如下一行语句即可:
plink.exe -batch -ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.45 "sudo tcpdump -ni wlan1mon -s 0 -w -" | "D:\Wireshark\Wireshark.exe " -k -i –
如果只需要在信道1上监听的话,我们可以运行如下命令:
sudo iwconfig wlan1mon channel 1
如你所见,借助树莓派,我们不需要做太多操作就能监听Wi-Fi数据包,监听结果也能导出到Windows或其他操作系统中,通过Wireshark进行查看。
后续使用步骤
上述步骤是一次性安装步骤。后续我们想继续监听时,只需将无线网卡插入树莓派,按下电源开关,运行如下命令即可使树莓派进入监听模式:
plink.exe -batch -ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.45 "sudo airmon-ng start wlan1"
随后,启动Wireshark,开始监听。
plink.exe -batch -ssh -i pi-monitor-ssh-key.ppk pi@192.168.137.45 "sudo tcpdump -ni wlan1mon -s 0 -w -" | "D: \Wireshark\Wireshark.exe" -k -i -