# 常见RFID卡片介绍、破解思路 及 Proxmark3简介 

By [ulyc](https://paragraph.com/@ulyc) · 2021-11-30

---

> 我们大多数人至少都要工作三十年，这三十年里还会有很多东西要学。所以不用太在意之前学了什么，更重要的是看你还能学会什么。无论之前学过什么，将来都要再学新东西。无论之前学的是什么，将来也都会有用。艺无止境，功不唐捐。
> 
> ​ —— tombkeeper

RFID卡片
------

### 前言

这篇只是最近学习RFID技术的一个笔记，请勿用于非法用途。

### 简介

**射频识别**（英语：**R**adio **F**requency **ID**entification，[缩写](https://zh.wikipedia.org/wiki/%E7%B8%AE%E5%AF%AB)：**RFID**）是一种[无线](https://zh.wikipedia.org/wiki/%E7%84%A1%E7%B7%9A)[通信技术](https://zh.wikipedia.org/wiki/%E9%80%9A%E4%BF%A1%E6%8A%80%E6%9C%AF)，可以通过[无线电](https://zh.wikipedia.org/wiki/%E6%97%A0%E7%BA%BF%E7%94%B5)信号识别特定目标并读写相关数据，而无需识别系统与特定目标之间建立[机械](https://zh.wikipedia.org/wiki/%E6%9C%BA%E6%A2%B0)或者[光学](https://zh.wikipedia.org/wiki/%E5%85%89%E5%AD%A6)接触。

常用的ETC，门禁卡，手机的NFC功能，二代身份证，电子护照，动物识别标签等都是应用了RFID技术。

### 常见卡片分类

![RFID卡.png](https://storage.googleapis.com/papyrus_images/4989521f6ad612c520303858c5848b923433b1e8289916f50487e264be5ff536.png)

RFID卡.png

介绍各种IC卡片的文章浩如烟海，不过大部分只介绍了低频的id卡以及符合ISO-14443A 标准的mifare系列卡。

因为搬家之后，坑爹物业只给一张门禁卡，于是Nerd之血熊熊燃烧, 花了几百大洋买了个Proxmark3，当然要好好研究下RFID技术啦，也不会仅止步于常见几种卡片的探索。

其实只看上面的脑图基本上就对RFID各种卡有个大致印象了，下面是对一些好玩的卡的详细介绍，无耐心可跳过。

#### 低频

##### ID卡

ID卡是我们的俗称，内部芯片的全名叫做EM4100或EM41XX ，频率是125kHz。每张卡出厂就有独一无二的ID号，不可改写。没有任何加密，只要知道卡号就可以模拟。

特殊的还有250K、375K、500K频率的ID卡，原版proxmark3不支持这种卡的读写，祖国魔改版有些支持。

##### T5577卡

T5577 卡是一种可以写入数据可以加密的低频卡。最特别之处是，写入ID号可以变身成为ID卡，写入HID号可以变身HID卡，写入Indala卡号，可以变身Indala卡。

T5577一共有8个块，每个块只能存8位数。第0块是用来设置卡片类型和调制方式的，决定了卡片是ID卡还是HID卡，如果随意修改会导致读不到卡。最后一个块，在没有加密时是数据区，加密后，其数据就变成了密码。

国内这卡主要是用来模拟ID卡用的。

#### 高频 -14443A

##### M1 S50卡

目前最常见的高频卡，也是我们口中俗称的IC卡。M1卡科储存的数据大小为8k，分为16个扇区，每个扇区分4个块，每个块为16个字节，以块为存取单位。**每个扇区都有独立的一组密码及访问控制**，每张卡有唯一的一个32位的序列号。每个扇区的0,1,2块为数据块，用来存储数据，第3块为控制块，包括了密A、存取控制、密码B 每张卡的第0扇区的第0块用来春芳厂商代码，不可更改。

![M1卡数据结构.png](https://storage.googleapis.com/papyrus_images/389a80c0b243e45586af811072d92a582703b9dc22d1511a4d5eaab6196bbf0d.png)

M1卡数据结构.png

中间4字节控制字是管理密码权限，用来设置A密码和B密码的功能。默认不修改的时候，可以用A密码读写所有数据。A密码不可读出，B密码可以用A密码读出。**密码不一定可以读取，由控制字决定。**

这个卡又分 **非加密卡** 、**半加密卡** 和 **全加密卡**。

非加密卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF。

而加密卡中，其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF，部分扇区加密的卡称半加密卡，所有扇区都加密的卡称全加密卡。

##### M1 UID卡

全称l Mifare UID Chinese magic card（中国魔术卡），简称UID卡。

M1 UID卡是针对M1 S50卡特制的变种卡，用起来和M1 S50完全一样，只是多了一个功能，就是0扇区块的数据可以随意修改。因此UID号也可以随意修改，厂家信息也可以随意修改。UID卡修改0扇区0块数据是靠指令进入工厂模式，可以直接对全卡任何数据编辑，不需要密码即可读写卡，同时不怕写坏卡，即使写错0块，写坏扇区控制字，也可以随时修复回来，不影响后续使用。

##### CUID卡

CUID卡是针对UID卡做的优化。CUID卡可以重复修改0块，但是它和UID卡的区别是，UID卡是通过**指令**修改0块，CUID使用的是常规密码验证的方法写0块（写错了之后重写需要清卡），其他扇区和标准M1卡相同。缺点是，还是有可能会被检测出来，而且如果不小心写错了UID号的校验位导致无法读卡，没办法修复只能报废。

##### FUID卡

FUID卡是针对UID卡做的优化。新的读卡系统，通过检测卡片对特殊指令的回应，可以检测出UID卡，因此可以来拒绝UID卡的访问，来达到屏蔽复制卡的功能。**FUID可以修改0块，但只可以修改一次**，写错也没办法更改，也不能重复利用。修改后和M1卡完全一样，很难被屏蔽检测。

##### CFUID卡

​ 鉴于FUID卡写错的成本太高，又发展出了这种卡。 CFUID卡 0扇区固化前可随意修改（相当于UID卡），固化（锁卡）后就跟M1卡完全一样。

##### 侦测卡：

可用122等设备写入id号然后用来读取并记录设备发出的密码信息，用于侦测密码，但其功能鸡肋，前有pm3离线侦测，后有变色龙模拟加侦测，现在基本淘汰。

##### EMV卡

EMV规范是由Europay、Mastercard、Visa三大信用卡国际组织联合制定的IC（智能）卡金融支付应用标准，非接触传输协议方面也是遵循的14443A标注，是一种**CPU芯片卡**。

目前基于EMV卡的非接触式支付的实现有三个：VISA的payWave，MasterCard的PayPass以及银联的闪付QuickPass。目前从外观来看，银联发行的卡面有芯片的IC卡均支持闪付，部分银行支持VISA的payWave。

#### 高频 -14443B

跟ISO 14443 -Type A 标准 的不同主要在于**载波的调制深度及位的编码方式**。TYPE A采用**开关键控(On-Off keying)的**Manchester编码，TYPE B采用**NRZ-L**的**BPSK编码**。

TYPE B与TYPE A相比，具有**传输能量不中断、速率更高、抗干扰能力强**的优点。RFID的核心是防冲突技术，这也是和接触式IC卡的主要区别。ISO14443-3规定了TYPEA和TYPE B的防冲突机制。二者防冲突机制的原理不同，前者是**基于位冲突检测协议**，而TYPE B**通信系列命令序列完成防冲突。**

目前的二代身份证，社保卡，护照都是基于此标准，研究这个标准最初是为了能读出身份证信息或者护照，其中曲折下一篇文章再说。

Proxmark3的14b部分有对 ST Microelectronics 公司的 SRI512卡 和SRIX4K卡 的特别支持。

#### NFC标签

目前有五种，分别基于14a, 14b，Felica ，ISO/IEC 15693 标准, 详见上面脑图。

### 高频卡 低频卡区分方法

直接淘宝复制来的，比较直观：

![1.png](https://storage.googleapis.com/papyrus_images/3d37e48b8d0ebfa2a9e4abc3a7fd21d159cd4f097e6444b3d97f7e6036f577d7.png)

1.png

![2.png](https://storage.googleapis.com/papyrus_images/4616682121e5f37e72170dbe46ea4aebbd5b305fdf6787bfaf829ed1b9ffbd08.png)

2.png

### 门禁卡破解思路

ID卡使用手持机或者proxmark3等设备直接读出卡号即可模拟，最是无脑，CPU卡建议直接放弃。

所以这里的门禁卡单质 Mafira系列。

#### IC卡加密方式

要知道怎么破解，先要知道他们是怎么加密。

目前常见的加密方式有这几种：

![IC卡加密方式.png](https://storage.googleapis.com/papyrus_images/36104d8f89b6991fce42e5968a6d88f772d95274761ce02898cce23cd885cf76.png)

IC卡加密方式.png

##### 1.固定加密（校验码）：

彼时来自东方的神秘技术 ：中国魔术卡 尚未降世，就算复制出来原卡数据，每张IC的ID也是不一样的，厂家只需要校验UID跟校验位匹配不匹配就可以防复制卡了。

这种只需要UID卡复制其UID以及校验位即可完美破解。

##### 2.一卡一密：

这种加密方式只是把校验码，改成了密码。刷卡机读卡是根据卡号算出这张卡独一无二的密码，然后再用密码访问/修改金额 。

运用UID卡复制，也可简单解决。

##### 3.全加密：

即IC卡16扇区均加入密码，一般是一个卡商用同一密码，密码破解可通过 侦测卡或pm3离线侦测，密码已知后，写入普通卡或UID卡，即可实现复制。

后来又出现了一种 一卡一密+ 全加密的卡，不过在PM3及UID卡面前不过是土鸡瓦狗而已。

##### 4.动态码加密：

每次刷卡后，卡内数据都会变化。

这种比较麻烦，可以分几种情况：

1.  有些系统比较简单，每次刷新后某个数据加一，或者加固定数字，这种很容易**发现规律**和破解。
    
2.  有些卡数据刷新后没有什么规律，明显用了某种算法，这种有能力的可以多刷几次，尝试**逆向算法**，不过难度比较大，
    
3.  通过更改控制位或者修改卡内某些地方的数据来**压制卡内数据的滚动**，这是利用了早期某些厂家的读头不会校验计算后的数据是否写入成功的漏洞。
    
4.  一些系统识别到卡里数据是从未滚动过的初始值后，就不会再做任何校验，认为这是张新卡。这种只要记录下初始数据，复制卡每次刷卡后 **重置数据**即可。 (刚了解到还有一种GTU卡（gtu、guid、gid、gpu，处女卡）, 可以锁定滚动码，让读卡器写卡失败卡)
    
5.  一些系统识别到卡里数据是初始值后，还会进行校验，这时候我们可以使用同厂家同型号同版本的发卡器，通过修改发卡器发卡规则使得规则与物业的发卡规则相同来**发卡**。但是破解发卡规则同样很难，同时梯控厂家也不会向个人单独销售配套发卡器。
    
6.  社工大法：通过保洁阿姨、保安大哥或者特别的技法获取 **全通卡**，就是给内部员工用的“万能钥匙”，这种卡一般不做加密，搞到之后复制一张基本就OK了。
    

**注意事项**：复制卡不确定是否是滚动码时， 复制后第一次刷卡原则上请刷原卡，不然数据滚动之后，原卡可能作废 。 卡与原卡仅一张有效

##### 5.防复制加密：

用UID卡复制成功以后去现场刷卡没任何反应 或 就可以使用一次以后就给设备破环了拷贝卡的问题。

也存在几种情况，目前最常用的：

1.  校验magic指令，UID卡会响应magic指令，所以防火墙只要发现有magic指令的响应直接ban掉改卡，于是CUID卡应运而生。
    
2.  防火墙尝试修改卡的0扇区，修改成功则说明是CUID卡，ban掉。 这种用FUID或者CFUID复制即可。
    

##### 6.复合卡加密：

利用ID或IC设备复制成功以后就可以开启其中一个地方，其他地方不可以同时开启。一般是IC+ID的结构，需要同时复制高频低频两个芯片。

##### 7.CPU芯片加密：

这种分析数据时全是零， 可能目标卡是CPU卡模拟的M1卡 或是 修改了控制位的数据把卡号隐藏起来。 这种可以最多可以做到复制UID，模拟刷个门禁啥的，涉及金额的就别想了。

#### 一般流程

流程图如下：

![image.png](https://storage.googleapis.com/papyrus_images/9d32673fb04976fe59d983a363d88e1faddb70b235977813f14ba3118c8c35e6.png)

image.png

Proxmark3
---------

### 前言

之前想买个proxmark3 玩，但是发现淘宝卖家基本都是自吹自擂，对自己是PM3哪个版本都遮遮掩掩，语焉不详。 谷歌到的中文资料也比较少，大多是互相复制粘贴的资料，没人仔细介绍过PM3都有哪些版本，于是有了写这篇的动力，希望能使新手对proxmark3有个直观了解。

### 简介

Proxmark3是由_Jonathan Westhues_为了他的硕士论文设计开发的开源硬件，其主要用途是实现RFID卡片 的嗅探、读取破解以及克隆等等操作。

提到RFID， 就不得不提Proxmark3，PM3 属于这个领域的大杀器，基本相当于kali之于安全，node之于前端。它可以嗅探、模拟以及读取多种不同种类型的RFID，同时它还有一个[官方社区](http://www.proxmark.org/forum/index.php)，这里有不少同样的爱好者在里面学习交流。

Proxmark，确切来说是prox（接近的），mark（标签），翻译过来的意思就是“不用接触，靠近就能刷的卡片”。

### 版本

#### Proxmark2

Proxmark是没有1的 ，Proxmark3 前身是Proxmark2。

Proxmark2版本是因为_Jonathan Wesrhues_ 为了复制Verichip才应运而生的。 而Proxmark2的前身就是一个便携式的Verichips，该硬件可以读取并且重放Verichip的ID，如果利用天线去靠近Verichip，那样子设备就可以永远的保留ID在芯片里面，实际上Jonathan Westhues只是采用逆向工程把Verichip的频率和调制模式进行捕抓，从而进行回放操作。

#### Proxmark3 原版

img

原型机，长这样，开源硬件，电路板github有，已经过时了，不是商业产品，不卖。

其他版本都是基于此版的原理做的改板。

#### Proxmark3 RDV2

这个版本算是Proxmark3第一次商业化的版本，研发团队是_Elechouse_（深圳一家硬件厂商） 。 RDV2 即是 Revision Two（重制版2 )。

Proxmark3 RDV2 修改和更新了Proxmark3所有主要的硬件组件，包括微控制器，FPGA和闪存。

但是，最重要的变化是天线的设计和实现。 Proxmark 3的笨重，笨拙和未调谐的天线已替换为紧凑的，预先调谐的HF和LF天线，使用标准的SMA接口代替以前使用的USB-Hirose电缆。

这个版本预装了可拆的低频和高频天线，也是首个“ALL-IN-ONE”的版本。但是天线性能存在已知问题，并且会被继电器故障影响。

有些论坛说的血贵的就是这个版本，之前貌似上千，现在五六百左右吧。

##### 技术规格

*   **CPU** AT91SAM7S512
    
*   **Storage** 512Kb SPI flash
    
*   **Interface** 4x mode LEDs, 1x button.
    
*   **Battery** 独立外接电源
    
*   **天线**
    
    *   **LF** 预装，可拆
        
    *   **HF** 预装，可拆
        

![rdv2.png](https://storage.googleapis.com/papyrus_images/08ce2948811d3c14337ac493d83c6a5982a97d3d5504b950eb90c68ebe984ec3.png)

rdv2.png

#### Proxmark3 EASY

同样是 _Elechouse_团队的作品，是Proxmark3 RDV2 的阉割版，主要为了迎合中国市场在某宝卖的。

基本上某宝卖的都是基于这个版本或Proxmark3 RDV2 的魔改版。

比RDV2阉割了CPU、内存,还有外接电池。

##### 技术规格

*   **CPU** AT91SAM7S256
    
*   **Storage** 256Kb SPI flash
    
*   **Interface** 4x mode LEDs, 1x button.
    
*   **天线**
    
    *   **LF** 需自行组装
        
    *   **HF** 一体，不可拆
        

长这样：

Proxmark3 EASY

#### Proxmark 3 EVO

Proxmark 3 EVO(Evolution，进化版)，是**Elechouse** 开发的最后一个Proxmark 3版本，更加的小型化，用了ABS 的材质，加了点灯，适配了安卓平台。

##### 技术规格

*   **CPU** AT91SAM7S512
    
*   **Storage** External 2MBits / 512Kb SPI flash
    
*   **Interface** 1x RGB LED, 1x button.
    
*   **电源** 外接独立电池
    
*   天线
    
    *   **LF** 预装，一体
        
    *   **HF** 预装，一体
        

这个版本国内见的不多，优化也有限，长这样：

Proxmark 3 EVO

#### Proxmark3 RDV4

Proxmark3 RDV4是目前Proxmark3 平台 最新的版本，由 _RRG_团队开发，就是开官方论坛和固件很受欢迎的_iceman_ 所在的团队 。 不过价格比较贵，基础版要一千五左右，所有外设买齐得好几千，需要海淘。

##### 版本特色

*   更小的体积 54 x 87 x 10mm （EVO是60 x 90 x 12mm）
    
*   支持了 SIM/Smart 卡的嗅探和读取
    
*   可扩展框架：
    
    *   可热插拔的中长距离天线
        
    *   增加了 蓝牙 和 wifi 模式
        

##### 技术规格

*   **CPU** SAM7S512
    
*   **Storage** External 2MBits / 256Kb SPI flash
    
*   **Interface** 4x power LEDs, 4x mode LEDs, 1x button.
    
*   天线
    
    *   **LF** (125KHz): 70mm @ 65V
        
    *   **HF** (13.56MHz): 88mm @ 44V
        

![](https://storage.googleapis.com/papyrus_images/f003426d471aedfc8761a2b73f2edc94919f8f4766379ed204e1a08e594f4ffc.jpg)

#### Proxmark3 各种祖国版

商家鼓吹什么3.0、4.0、5.0，终极 版本，其实各种版本基本都是Proxmark3 RDV2 或者easy 魔改的，选购时关注下cpu版本和内存 线圈和做工即可。

不过有时候会看到各种颜色，颜色只是印刷电路板用的阻焊剂（阻焊漆）不一样，油墨颜色不一样，不会影响实际功能和质量。

常见的电路板颜色有绿色、红色、蓝色、黑色。详细信息可以自行百度。原来的pm3是黑色的，看上去高端一些。现在新出了蓝色的，没别的原因，就是为了降低成本。虽然不影响质量，但是绿色、红色、蓝色的油墨用得比较多，量大价格就低。

不要听一些商家瞎吹做了什么升级，保证元器件没有任何改动。商家鼓吹蓝色是升级款，只是为了掩盖他的真实原因是为了降低成本，外加一波营销。

![](https://storage.googleapis.com/papyrus_images/8b6978e4481daa83ff41ab62ae1835260baecdb5c77496f02d6d0418eb1171d3.png)

说是最新自主研发5.0系统，其实就是RDV2的魔改版，他家利用隔板的空间，集成了变色龙，还在隔板上装了显示屏、按钮，类似手持机的功能，可以不开电脑复制ID卡。

特色是中文GUI客户端一直在优化，适合小白使用。

#### 变色龙 Mini ,ChameleonMini

在网购PM3时，经常可以看到有PM3变色龙一体机卖，当时询问js ,他们也是语焉不详 。所以这里再单独介绍下变色龙是个啥。

变色龙 [ChameleonMini](https://github.com/emsec/ChameleonMini) 是一款可编程的 NFC 安全分析工具的开源硬件项目，可模拟各种ic卡、侦测密码，可同时储存六组卡片数据随时可以手动切换，体积跟普通卡差不多方便携带。

ChameleonMini 常见的有两个版本 **ChameleonMini Rev.E** 与 **ChameleonMini Rev.G** 其中 Rev.G 是最新升级的版本，自带电池供电。

说白了，变色龙就是一张先进的侦测卡，不具备读写功能，需要配合其他读写设备使用。 PM3的现场嗅探功能其实比较弱，集成了变色龙之后就补齐了这个短板。

### 使用

中文GUI主要是对43a的IC卡和 低频ID做的支持，对其他协议的卡片都没有支持。

熟悉基本操作之后，想要探索PM3的魅力还是推荐使用 命令行， 命令行教程汉化可以看RadioWar的wiki [RadioWar:Proxmark3命令帮助](http://wiki.radiowar.org/Proxmark3%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C)，其他教程也非常的多，可以自行查找。

打开方法是进入软件安装目录：

    ./prommark3.exe   com4   # com号会变，根据自己实际情况调整
    

参考链接
----

\[1\]. [Porxmark 官网](https://proxmark.com/proxmark-3-hardware)

\[2\]. [智能卡破解入门二三事](https://4hou.win/wordpress/?paged=13&cat=17)

\[3\]. [Proxmark3 Easy破解门禁卡学习过程](https://lzy-wi.github.io/2018/07/26/proxmark3/)

\[4\]. [低成本安全硬件 RFID on PN532](https://cloud.tencent.com/developer/article/1043152)

\[5\]. [非接触IC卡主要产品简介](https://ulyc.github.io/2020/01/18/%E5%B8%B8%E8%A7%81RFID%E5%8D%A1%E7%89%87%E4%BB%8B%E7%BB%8D-%E7%A0%B4%E8%A7%A3%E6%80%9D%E8%B7%AF-%E5%8F%8A-Proxmark3%E7%AE%80%E4%BB%8B/%5Bhttp://read.pudn.com/downloads121/ebook/513161/%E5%90%84%E4%BA%A7%E5%93%81.pdf%5D\(http://read.pudn.com/downloads121/ebook/513161/%E5%90%84%E4%BA%A7%E5%93%81.pdf\))

\[6\]. [STMicroelectronics 芯片卡](http://www.card1688.com/smart_card/STMicroelectronics_chip_card.html)

\[7\]. [iCLASS说明文件](https://wenku.baidu.com/view/597156eee009581b6bd9eb3e.html)

\[8\].[\[NFC Forum标签平台四种标签类型详细介绍\]](http://www.nfchome.org/nfc-forum-type1-type2-type3-type4.html)

\[9\]. [初识CPU卡、SAM卡/CPU卡简介、SAM卡简介 【转】](https://www.cnblogs.com/sky-heaven/p/4704895.html)

\[10\]. [手把手教 如何模拟IC加密卡](https://zhuanlan.zhihu.com/p/81384126)

\[11\]. [IC卡加密解密方式](https://www.guhei.net/post/jb1108)

\[12\].[除了支付/刷卡还能干嘛？三分钟教你玩转RFID](http://rdcqii.hundsun.com/portal/article/642.mhtml)

\[13\].[使用HackCube-Special分析滚动码信号](https://www.freebuf.com/vuls/192356.html)

\[14\]. [Proxmark3（PM3）硬件简单拆解与介绍](https://www.wasyoung.com/2019/11/30/337/)

\[15\].[梯控、IC卡滚动码防复制原理和破解](https://www.wasyoung.com/2019/11/30/337/)

\[16\]. [简单讨论滚动码技术](http://www.ickezhan.com/bbs/forum.php?mod=viewthread&tid=41)

\[17\]. [RadioWar:Proxmark3命令帮助](http://wiki.radiowar.org/Proxmark3%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C)

\[18\]. [来自空中的威胁](https://www.cert.org.cn/upload/cncertcc06/0330/ct1/5.060330-YuYang-ThreatsFromAir.pdf)

\[19\]. 《非接触IC卡原理与应用》\[电子工业出版社 2006-09-01\]

* * *

---

*Originally published on [ulyc](https://paragraph.com/@ulyc/rfid-proxmark3)*
