Proxmark3:开源 RFID 工具箱
一、Proxmark3 简介
Proxmark3 是一个开源的 高精度 RFID 研究工具,支持对 13.56 MHz 频段 的 RFID 标签进行读取、模拟和逆向分析。它可以破解多种 RFID 协议(如 ISO 14443-A/B、Felicia、Mifare Classic 等),广泛用于安全研究、渗透测试、门禁系统破解及物联网设备调试。
核心功能:
- 标签读取:提取 UID、加密数据、内存内容
- 标签模拟:伪装成合法 RFID 卡片(如门禁卡、信用卡)
- 协议分析:逆向工程未知 RFID 协议
- 信号调试:实时查看射频信号波形
- 脚本扩展:通过 Python 或 Lua 编写自动化脚本
二、硬件与软件要求
1. 硬件准备
组件 | 说明 |
---|---|
Proxmark3 主板 | 支持 USB 2.0/3.0 或蓝牙连接 |
天线 | 推荐使用 Yagi 或近场线圈天线 |
NFC 标签 | 用于测试和调试(如 Mifare 1K) |
2. 软件环境
- 操作系统:Linux (Debian/Ubuntu)、Windows、macOS
- 依赖库:libusb、Python 3.6+、GNU Radio(可选)
- 推荐工具:Wireshark(用于信号分析)、Ghidra(逆向协议)
三、安装与配置
1. 软件安装
Linux (Debian/Ubuntu)
# 安装依赖库
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev python3-pip python3-gnupg
# 下载 Proxmark3 固件
git clone https://github.com/Proxmark/proxmark3.git
cd proxmark3
# 编译并安装
make
sudo make install
Windows
- 下载预编译二进制包:https://github.com/Proxmark/proxmark3/releases
- 安装驱动程序(如 Zadig)
- 运行
proxmark3_win.exe
macOS
brew install proxmark3
2. 硬件连接
- USB 连接:插入 Proxmark3 主板,终端执行
proxmark3 -d
查看设备状态 - 蓝牙连接:启用蓝牙配对模式(需先烧录蓝牙固件)
四、基础使用指南
1. 标签读取
示例:读取 Mifare Classic 1K 标签
# 进入交互模式
proxmark3 -r
# 选择标签类型
select tag mifare_classic
# 扫描标签
s # 按下扫描键或自动触发)
输出示例:
Reading MIFARE CLASSIC 1K tag...
UID: 4A3B1C2D
Sector 0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
2. 标签模拟
示例:克隆门禁卡
# 读取原始卡片数据
proxmark3 -r -s mifare_desfire -f card_data.csv
# 导入到 Proxmark3 并生成模拟卡
proxmark3 -s mifare_desfire -m clone_card.csv
使用手机 NFC 模拟:
- 将 Proxmark3 连接至手机(需 OTG 支持)
- 执行
proxmark3 -s mifare_desfire -n
启动模拟器
3. 协议逆向
示例:分析自定义 RFID 协议
-
抓包记录:
proxmark3 -r -d -o protocol_capture.log
-
使用 Wireshark 分析:
- 过滤
13.56 MHz
射频信号 - 反推协议帧结构(如同步头、数据段、CRC)
- 过滤
五、高级配置
1. 硬件调优
修改射频参数(需 root 权限):
# 设置波特率(单位:kHz)
proxmark3 -s 105288 # 512KBaud
# 调整天线匹配电阻
sudo sh -c "echo 50 > /sys/class/gpio/gpio22/value"
2. 脚本扩展
Python 脚本示例(自动破解 Mifare Classic):
from proxmark3 import Proxmark3
pm = Proxmark3()
pm.connect()
def brute_force_sector(sector):
for key in range(0xFFFF):
pm.mifare_classic_auth(sector, key)
if pm.read_sector(sector):
print(f"Found key {key} in sector {sector}")
brute_force_sector(0)
3. 信号分析
使用 GNU Radio 捕获射频信号:
- 安装
gr-proxmark3
插件 - 设计 GRC 流图(触发模式 + FFT 分析)
六、安全与法律风险
- 授权要求:未经授权不得扫描他人 RFID 标签(如门禁系统、信用卡)
- 反制措施:部分门禁系统会检测 Proxmark3 的信号特征
- 法律风险:非法使用可能导致刑事指控
七、典型应用场景
-
门禁系统渗透测试
- 克隆员工门禁卡
- 分析门锁通信协议
-
支付系统破解
- 破解 Mifare Classic 信用卡模拟
- 分析 EMV 协议
-
物联网设备调试
- 读取智能家居设备的 RFID 标签
- 验证 NFC 支付功能
八、学习资源
- 官方文档:https://proxmark3.readthedocs.io
- 社区论坛:https://github.com/Proxmark/proxmark3/discussions
- 逆向教程:《The Proxmark3 Handbook》(作者:Chris Paget)
结语
Proxmark3 是 RFID 安全研究的利器,但其强大功能也伴随着法律和技术风险。建议仅在合法授权范围内使用,并配合专业的安全审计流程。对于初学者,建议从读取测试标签开始,逐步深入协议分析和工具开发。