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