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上运行WifiForge(当Mininet在2017年构建时,Ubuntu 14.04是最前沿的)。
WifiForge安装脚本可能会干扰正常操作系统使用;建议使用全新安装、虚拟机或 preferably Docker容器。
操作系统兼容性
WifiForge应该在使用Docker的任何Linux操作系统上工作。以下操作系统已经过测试并确认可以工作。
- Kali Linux
- Parrot OS
- Ubuntu
设置指南
以下是设置包含所有必需组件的Docker容器的指南。我们有安装到裸机操作系统或从Docker镜像安装的指南。这些说明可以在项目的GitHub上找到。然而,最好和最简单的选项如下所述。
Docker(推荐)
注意:如果Mininet-Wifi已本地安装,Dockerfile将失败
从发布版本安装
从Dockerhub拉取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’终止进程。在下一个命令中使用此BSSID和通道。
|
|
当上述命令运行时,连接到目标网络的主机信息将如下所示。
在host1上,运行以下命令后,注意与host1-wlan0关联的IP地址。
|
|
IP地址可以在下面的屏幕截图中以红色突出显示。
WEP密钥将通过收集常规用户流量来破解。为了模拟此流量,在host1上使用以下命令。
|
|
上述命令将开始在端口5001上监听流量,如下所示。
切换到host2的终端。运行以下命令。
|
|
上述命令将开始向host1发送流量。输出将类似于下面的图像。
等待直到发送了大约25,000个数据包(参见airmon控制台中的Frames列)。当达到此数字时,使用‘Ctrl + c’终止攻击机器上的airmon-ng会话,并运行以下命令。
|
|
上述命令将开始尝试破解WEP密钥。成功解密将类似于下面的屏幕截图。
结束语
希望这个实验室能帮助向读者展示WifiForge的实用性,并展示它可以用来完成什么。能够为课程快速启动一个环境,而无需处理设置或任何幕后工作,是我们构建这个程序的原因。不必摆弄硬件也是一个很大的优点。所有这些都在一个紧凑的Docker容器中,意味着可移植性和扩展性也不是问题。
当然,WifiForge,如预期的那样,轻松解决了BHIS的问题。