WifiForge – 课堂无线网络渗透测试工具
作者:William Oldert // BHIS实习生
BHIS曾面临一个问题:需要为学生提供一个安全的WiFi黑客学习环境。最初的解决方案使用互连的物理网络设备和计算机来生成所需信号,但多套设备的成本和运输成为难题。
我们发现Mininet程序可以创建交互式虚拟网络,并开始探索其在实验室和教学材料中的应用。一个项目随之启动,聘请实习生团队研究测试其极限,最终成果就是WifiForge。
什么是WifiForge?
WifiForge是基于开源项目Mininet-Wifi构建的程序(Mininet-Wifi是支持无线网络的Mininet分支)。它自动设置执行多种攻击所需的网络和工具,所有功能都封装在Docker容器中。WifiForge无需物理硬件,只需安装Docker并执行几条命令即可运行。
项目GitHub页面链接:点击此处
免责声明/注意事项
- 强烈建议在Docker容器中运行WifiForge,但也可在基础机器上运行
- 在基础机器上安装Mininet-Wifi可能导致依赖性问题
- 建议在Ubuntu 14.04及以上版本或最新Kali系统上运行(Mininet建于2017年,当时Ubuntu 14.04是最前沿的)
- WifiForge安装脚本可能干扰正常操作系统使用,建议使用全新安装、虚拟机或Docker容器
操作系统兼容性
WifiForge应可在任何使用Docker的Linux操作系统上运行。以下系统经过测试确认可用:
- Kali Linux
- Parrot OS
- Ubuntu
设置指南
以下是在Docker容器中设置所有必需组件的指南。项目GitHub上提供裸机安装和Docker镜像安装指南,但最简单的最佳方案如下:
Docker(推荐)
注意:如果本地已安装Mininet-Wifi,Dockerfile将失败
从发布版安装:
拉取Docker镜像并启动新容器:
|
|
在容器内启动控制器模拟AP:
|
|
运行WifiForge.py:
|
|
实验室与特色工具
WifiForge提供预构建实验室,涵盖多种主题和工具,包括但不限于:
- Eaphammer
- WPS网络
- Wifiphisher
- WEP网络
- 使用John破解Netntlm
- Airgeddon Dos
今天,我们通过WEP密钥破解实验室展示该程序的功能。
实验室:WEP密钥破解
设置阶段
首先从WifiForge菜单选择"WEP Network",等待最多30秒网络初始化完成。
启动后使用以下命令在攻击者、host1和host2上打开xterm会话:
|
|
WEP密钥破解
在攻击机器上,使用以下命令将接口切换到监控模式:
|
|
成功执行后输出如下:
使用airodump-ng开始搜索附近网络:
|
|
等待控制台出现流量显示:
记下BSSID和信道,然后用’Ctrl + c’终止进程。在下一个命令中使用这些信息:
|
|
命令运行时,目标网络的连接主机信息将显示:
在host1上运行以下命令后,记下host1-wlan0关联的IP地址:
|
|
IP地址在下图红框标出:
通过收集常规用户流量破解WEP密钥。在host1上使用以下命令模拟流量:
|
|
该命令开始在端口5001监听流量:
切换到host2终端,运行以下命令:
|
|
该命令开始向host1发送流量,输出类似下图:
等待发送约25,000个数据包(查看airmon控制台的Frames列)。达到该数量后,用’Ctrl + c’终止攻击机器上的airmon-ng会话,运行以下命令:
|
|
该命令开始尝试破解WEP密钥,成功解密类似下图:
结束语
希望本实验室能向读者展示WifiForge的实用性和它能实现的功能。我们开发这个程序是为了能够为课堂快速创建环境,而无需处理设置或幕后工作。不需要折腾硬件也是一大优势。所有这些都封装在紧凑的Docker容器中,意味着可移植性和扩展性都不是问题。
当然,WifiForge如愿以偿地解决了BHIS的问题。