Proxmark3 常见问题整理

最近看见各个讨论群内各种和Proxmark3有关的问题比较多,所以专门写一篇有关问题的整理以备日后参考。

什么是Proxmark3

Proxmark3是谁设计的

如果从源头上来说,Proxmark3(PM3)是由Jonathan Westhues,一名剑桥的RFID研究员所设计的一种专门用于RFID Tag读写的设备。最开始的时候它大致是这个样子:

这是我能找到的最早版本的PM3的图了。可能不是真正的第一版,但是设计上差的不会很多。早期的PM3是一个真正意义上的开源开发板,可以自己按照给出的图纸打板焊接制作。可以看到比较早的DEF CON等会议视频上使用的就是这种开发板加上亚克力的壳子。其他的版本大多是由各个开发方自行改进设计的版本,在功能,性能上不尽相同。

Proxmark3是用来做什么的

简单来说,PM3是一款用于RFID研究的工具,有些类似协议分析器的存在。它是基于FPGA和ARM处理器共同运行的设计,只要重写FPGA和ARM的固件,加上客户端的驱动,可以与RFID卡进行几乎任何形式的交互。这与市面上的一般读卡器不同,它们是封装好的设计,没有开放底层的功能。同时大部分读卡器在硬件上不支持很多功能,而PM3的硬件设计允许它能够实现几乎所有的RFID功能。类比于其他方面的设备,就好比是Ubertooth One和蓝牙收发模块,SDR和普通电台之间的区别。

Proxmark3能用来干什么

能用来做几乎所有与RDIF相关的研究,例如与RFID卡交互,进行攻击,读写卡片,模拟卡片,嗅探等等都可以。后来的各种PM3版本虽然不一定完全开源,但是绝大部分的固件和客户端是开源的。有着强大的社区支持,PM3的功能在不断强化。即使现在有一些目前不支持的功能,也可以预见,随着开发进度也会很快加上。只要是对应版本的硬件能够支持的功能,都总有一天会加入。从另一个角度看,使用这款设备的时候还能够参与固件和客户端的开发,能够为RFID方面的研究出一些力。

市面上有各种奇怪的东西,哪些才是正版的

严格来说PM3没有正版这一概念,因为有不同的开发商在做。即使是国内仿制的抄板,也有相当大的通行量,所以很难界定哪些才是“正常版本”。但是有一个基本原则,就是它只能叫Proxmark3,具体版本叫什么有比较多,但是所谓的PM3.5,PM4,PM5绝对不是正常版本,不是数字越大就越新,没有带版本后缀的(比如就叫PM3,什么具体版本也没有)如果不是上面说的原版,就是仿冒品。

Proxmark3和XXX有什么不同

各种版本的Proxmark3有什么不同

上文提过PM3有各种不同的版本,具体有这些版本:

Proxmark3

就是文章最开始放出的图。现在很多地方还在销售这个版本,因为总的来说,这个版本没有什么问题,各种使用都很正常,适合开发,价格也比较合理。更详细的资料可以在这里找到。这个版本的板子上没有板载天线,相应地,有一个天线连接器,可以使用任何能插上去的天线。所以大部分用的都是自己根据需要做的天线,例如这样:

同时,这一版本要求必须有上位机(电脑或安卓APP)的控制,与上位机使用标准HID协议交互。软硬件均完全开源,GitHub仓库在这里

ProxmarkPro

这是Proxmark3的一个变种,由Rysc Corp发行。如下:

可以看到它有一个显示屏,和专用的天线套组。它不能与上位机连接,本身是一个独立的设备,有电池和存储卡。因为没有上位机的控制,本身的功能比较有限,但是能够独立使用,所以适合现实情况下的用途。同时应该是各个版本中,不进行额外改造(比如自己加放大电路)的情况下读写距离最远的了。它的硬件没有开源,软件开源。具体的设备在这里可以了解。

Proxmark3 RDV2

PM3 RDV2是由Elechouse发行的版本,是第一个针对PM3硬件进行了重大升级的版本,如下:

可以看到,整个设备由多块PCB组成,同时带有已经调试好的天线组,通过SMA接口连接。设备整体加上天线也比较小,很适合携带。原版PM3上FPGA资源和Flash都比较小,在PM3 RDV2种也有扩展,而且增加了LED和电池的插槽。基本上说,PM3 RDV2已经是对原版PM3各方面改进之后的产品。

需要注意的是,国内存在RDV2的抄板,射频部分质量比较差,容易出现读写问题,但是正规RDV2没有这个问题。国内似乎没有或是非常少有RDV2的正规代理。

Proxmark3 Easy

这可能是在国内最常见的版本了。但是很遗憾,国内销售的大部分是由国内生产的仿冒版,真正的PM3 Easy代理反而竞争不过低成本的抄板。如下:

原本是Elechouse发行的RDV2的廉价版本,删掉了射频中继和放大器,去掉了电池槽,并且用了更低成本的处理器。这就直接导致了有一部分RDV2能够实现的功能,例如针对Mifare卡的Hard nested攻击,在PM3 Easy上是无法实现的。它的特点是售价低,特别是国内的抄板,应该是PM3系列里面最低的了。但是国产抄板和RDV2的抄板有类似的问题,所以功能进一步降低。

国内有一部分设备是在PM3 Easy的基础上,重画了一块Chameleon Mini的板子并且和PM3 Easy加在了一起,即“PM3 Chameleon一体机”。这种设备比较少见,我也没有实际用过,身边的人也没有用过,无法针对性能进行评价。

Proxmark3 Evolution

依然是Elechouse发行的版本:

内置天线,没有内置电池,有一个外壳,其他基本参数与RDV2基本相同。最大的特点是变小了很多,更容易携带。但是很遗憾地,因为各种原因几乎没有卖出去多少,现在已经停产。

Proxmark3 RDV4

目前最强大,功能最完善的PM3版本。由RFID Research Group(RRG)发布:

RDV4有完整的套件,包括可替换天线,电池和蓝牙模块,还有内置的SIM卡读取模块。同时体积非常小,是最小的PM3版本。处理器换成了SAM7S512而不是其他使用的SAM7S256,性能更高,支持的攻击形式也更多。板载2Mb/256Kb SPI Flash,允许存放更多的数据。RDV4可以运行在冰人固件基础上开发的新的RRG固件(依然是由Iceman加入开发),功能也更强大,虽然在这篇文章写成的时候RRG固件的代码并不稳定,但是依然是功能最全面的版本。

在RDV4发售一段时间之后,2019年7月左右因为硬件原因,发售的版本改成了RDV4.01。硬件方面变化不大,只是改进了电源电路降低噪声,换成了镀金FPC连接器,并且在天线系统上作出了改进,是纯性能方面的提升。

RDV4在国内完全不发售,按理来说也不应该有代购和二手在国内出售。除了特殊渠道之外,只能在国外购买RDV4。现在国内已经有授权代理。

Proxmark3与ACR122U(PN532)有什么不同

首先说明一下,ACR122U内部的芯片就是PN532,所以本质上ACR122U和随便哪个基于PN532的设备在功能极限上是一样的,只是因为设计原因一部分性能参数不一样。

那么开始详细介绍。ACR122U只是一个读卡器,而PM3是专门为RFID分析而设计的设备。所以相比之下除了性能和ACR122U必须用上位机控制等等具体实现之外,有一些专门为攻击开发的功能ACR122U是无法实现的。例如,ACR122U不能用于模拟卡,不能写扇区,不能嗅探卡和卡机之间的通信。除此之外,ACR122U被设计来只能用于和13.56MHz卡通信,所以低频卡是无法通信的。而ACR122U其他攻击的性能也受限制。

Proxmark3与Chameleon Mini有什么不同

两个设备不是一个目的。Chameleon Mini是为嗅探和模拟而设计的,而PM3的使用范围更广。所以,Chameleon Mini在模拟方面表现得更优秀(能装载8张卡的数据,一键切换,能模拟多种卡,能响应大部分指令),在嗅探方面也做得很好(一键复制卡,无卡嗅探)。但是,从硬件角度来说,这些功能PM3也是可以实现的,只是目前固件和客户端的代码还不完善,虽然能够实现,但是性能比较受限。

选择哪一款设备比较好

真的需要Proxmark3吗

首先需要明确的是自己是否真的需要PM3。PM3是非常强大的研究工具,如果买回来只是为了破解一次什么卡,破解完就放在一边吃灰,比较不建议选。首先PM3并不便宜,比较类似你花了200买了一个手电钻打开了别人的纸巾盒拿走了一包纸。其次需要的功能不一定真的只有PM3才能完成,很多的其他设备或许也可以。所以我自己做了一个简单的自测表,如下。

PM3/Chameleon Mini/ACR122U购买自测表

  1. 我是买来玩玩,炫耀一下还是真有用?
    • 买来玩玩:不建议买
    • 收集需要:已经晚了,众筹版在几年前已经结束购买,可以考虑二手
    • 真的有用:往下看
  2. 我现在熟悉RFID或准备研究RFID吗?
    • 都不是:第3条
    • 现在不熟悉,但是以后想继续:第4条
    • 已经有一定经验并且打算深入研究:第4条和第5条
  3. 我要买来做什么?
    • 只是很少量的读取未加密卡/未全加密的M1卡或者只是写UID(普通门禁卡等等):买ACR122U就够了,预算不够可以买很便宜的PN532读卡器
    • 在上一条基础上需要写卡:PM3 Easy
    • 批量读写卡:去找专门的公司咨询产品,PM3是研究工具不是量产工具
    • 尝试破解不常见的卡并且不太在乎成本:PM3 RDV2
  4. 以后要做哪方面的RFID研究?
    • 集中于13.56MHz/125kHz卡,ISO14443协议并且主要是实验室环境:PM3 RDV2
    • 偏频卡/超高频卡:尝试寻找对应的工具,PM3不能用于这些频率
    • 集中于13.56MHz/125kHz卡并且需要实地测试:如果是普通的测试,可以带大量设备的话,依然是PM3 RDV2。如果需要便携,建议购买PM3 RDV4。
    • 需要操作ISO15693/ISO18092等卡:如果不需要高性能的话PM3 RDV2可以实现,对性能有要求建议PM3 RDV4
    • 需要操作ISO7816卡(接触式卡):PM3 RDV4
  5. 有什么额外需要?
    • 安全测试或实际攻击用:PM3 RDV4
    • 能够接受/修复代码少量bug并且需要更隐蔽地使用:PM3 RDV4 + BlueShark Addon
    • 需要实际攻击使用并且需要高速/大量模拟和嗅探:PM3 RDV4 + Chameleon Mini/Tiny

总结

上面的表应该已经比较详细了,可以注意到我一直没有推荐PRO,EVO(停产了没法推荐)以及PM3 + Chameleon Mini一体机的版本。不推荐PRO是因为它只能独立使用,不能连接客户端,在研究中性价比偏低;而国产一体机版本没有经过实际测试,贸然连接两个射频电路的稳定性和性能还不得而知。

怎么购买Proxmark3

Proxmark3在国内有一部分授权代理,其中一部分驻扎在淘宝。但是因为比较难以区别的原因,在这里不给出。有一些常见的国外代理和销售商: