hacktricks/radio-hacking/pentesting-rfid.md

108 lines
9.1 KiB
Markdown
Raw Normal View History

# RFID 渗透测试
2022-04-28 16:01:33 +00:00
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> - <a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
* 您在**网络安全公司**工作吗?想要在 HackTricks 中看到您的**公司广告**?或者想要访问**PEASS 的最新版本或下载 HackTricks 的 PDF**?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 探索[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) **Discord 群组**](https://discord.gg/hRep4RUj7f) 或 **电报群组** 或在 **Twitter** **🐦**[**@carlospolopm**](https://twitter.com/hacktricks_live)** 上** **关注**我。
* 通过向 [**hacktricks 仓库**](https://github.com/carlospolop/hacktricks) 和 [**hacktricks-cloud 仓库**](https://github.com/carlospolop/hacktricks-cloud) 提交 PR 来**分享**您的**黑客技巧**。
2022-04-28 16:01:33 +00:00
</details>
## 介绍
2022-02-28 09:13:08 +00:00
**射频识别RFID**是最流行的短距离射频解决方案。通常用于存储和传输标识实体的信息。
2022-02-28 09:13:08 +00:00
RFID 标签可以依赖**自己的电源(主动)**,如嵌入式电池,或从读取天线接收的射频波中**感应的电流(被动)**来获得电源。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
### 类别
2022-02-28 09:13:08 +00:00
EPCglobal 将 RFID 标签分为六个类别。每个类别中的标签具有前一个类别中列出的所有功能,使其向后兼容。
2022-02-28 09:13:08 +00:00
* **Class 0** 标签是在**UHF**频段中运行的**被动**标签。供应商在生产工厂**预编程**它们。因此,您**无法更改**存储在其内存中的信息。
* **Class 1** 标签也可以在**HF**频段中运行。此外,它们只能在生产后**写入一次**。许多 Class 1 标签还可以处理它们接收到的命令的**循环冗余检查**CRC。CRC 是用于错误检测的命令末尾的几个额外字节。
* **Class 2** 标签可以**多次写入**。
* **Class 3** 标签可以包含**嵌入式传感器**,可以记录环境参数,如当前温度或标签的运动。这些标签是**半被动**的,因为虽然它们**有**嵌入式电源,如集成**电池**,但它们**无法**与其他标签或读取器**发起**无线**通信**。
* **Class 4** 标签可以与同一类别的其他标签发起通信,使它们成为**主动标签**。
* **Class 5** 标签可以为其他标签提供**电源**并与所有先前的标签**类**通信。Class 5 标签可以充当**RFID 读取器**。
2022-02-28 09:13:08 +00:00
### 存储在 RFID 标签中的信息
2022-02-28 09:13:08 +00:00
RFID 标签的内存通常存储四种数据:**标识数据**,用于**识别**标签附加的**实体**(此数据包括用户定义的字段,如银行账户);**补充数据**,提供有关实体的**进一步** **详细信息****控制数据**,用于标签的内部**配置**;标签的**制造商数据**,其中包含标签的唯一标识符(**UID**)和有关标签的**生产**、**类型**和**供应商**的详细信息。您会在所有商用标签中找到前两种数据;最后两种数据可能会根据标签的供应商而有所不同。
2022-02-28 09:13:08 +00:00
ISO 标准指定了应用族标识符(**AFI**)值,这是指示标签所属对象**类型**的代码。另一个同样重要的寄存器,也由 ISO 指定,是数据存储格式标识符(**DSFID**),它定义了用户数据的**逻辑组织**。
2022-02-28 09:13:08 +00:00
大多数 RFID **安全控制**都具有**限制**对每个用户存储块和包含 AFI 和 DSFID 值的特殊寄存器的**读取**或**写入**操作的机制。这些**锁定机制**使用存储在控制内存中的数据,并具有供应商预配置的**默认密码**,但允许标签所有者**配置自定义密码**。
2022-02-28 09:13:08 +00:00
### 低频和高频标签比较
2022-02-28 09:13:08 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
2022-02-28 09:13:08 +00:00
## 低频 RFID 标签125kHz
2022-02-28 09:13:08 +00:00
**低频标签**通常用于**不需要高安全性**的系统:建筑物访问、对讲钥匙、健身会员卡等。由于其较高的范围,它们在付费停车场中使用方便:驾驶员无需将卡片靠近读卡器,因为它可以从较远处触发。与此同时,低频标签非常简单,数据传输速率低。因此,对于保持余额和加密等复杂的双向数据传输是不可能的。低频标签仅传输其简短的 ID没有任何身份验证手段。
2022-02-28 09:13:08 +00:00
这些设备依赖**被动** **RFID** 技术,在**30 kHz 到 300 kHz**范围内运行,尽管更常用的是 125 kHz 到 134 kHz
2022-02-28 09:13:08 +00:00
* **长距离** — 较低的频率意味着更长的范围。有一些 EM-Marin 和 HID 读卡器,可以在长达一米的距离内工作。这些通常用于停车场。
* **原始协议** — 由于数据传输速率低,这些标签只能传输其简短的 ID。在大多数情况下数据未经身份验证也没有任何保护措施。一旦卡片在读卡器的范围内它就开始传输其 ID。
* **低安全性** — 这些卡片可以轻松复制,甚至可以从别人口袋中读取,因为协议的简单性。
2022-02-28 09:13:08 +00:00
**常见的 125 kHz 协议:**
2022-02-28 09:13:08 +00:00
* **EM-Marin** — EM4100、EM4102。CIS 中最流行的协议。由于其简单性和稳定性,可以从大约一米处读取。
* **HID Prox II** — HID Global 推出的低频协议。这个协议在西方国家更受欢迎。这个协议更复杂,该协议的卡片和读卡器相对昂贵。
* **Indala** — 由 Motorola 推出的非常古老的低频协议,后来被 HID 收购。与前两者相比,您不太可能在野外遇到它,因为它正在退出使用。
实际上,还有许多低频协议。但它们都在物理层上使用相同的调制,并且可以被认为在某种程度上是上述列出的协议的变体。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
### 攻击
2022-02-28 09:13:08 +00:00
您可以使用 **Flipper Zero** **攻击这些标签**
2022-02-28 09:13:08 +00:00
2022-12-24 11:52:08 +00:00
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
2022-02-28 09:13:08 +00:00
## 高频 RFID 标签13.56 MHz
2022-02-28 09:13:08 +00:00
**高频标签**用于更复杂的读卡器-标签交互,当您需要加密、大规模双向数据传输、身份验证等时。\
通常用于银行卡、公共交通和其他安全通行证。
2022-02-28 09:13:08 +00:00
**高频 13.56 MHz 标签是一组标准和协议**。它们通常被称为[NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/),但这并不总是正确的。在物理和逻辑层上使用的基本协议集是 ISO 14443。高级协议以及替代标准如 ISO 19092都是基于它的。许多人将这项技术称为**近场通信NFC**,这是指在 13.56 MHz 频率上运行的设备的术语。
2022-02-28 09:13:08 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
2022-02-28 09:13:08 +00:00
简单来说NFC 的架构如下:传输协议由制作卡片的公司选择,并基于低级 ISO 14443 实现。例如NXP 发明了自己的高级传输协议,称为 Mifare。但在较低级别上Mifare 卡基于 ISO 14443-A 标准。
2022-02-28 09:13:08 +00:00
Flipper 可以与低级 ISO 14443 协议、以及 Mifare Ultralight 数据传输协议和银行卡中使用的 EMV 进行交互。我们正在努力添加对 Mifare Classic 和 NFC NDEF 的支持。对构成 NFC 的协议和标准进行深入了解值得单独一篇文章,我们计划稍后发布。
2022-02-28 09:13:08 +00:00
所有基于 ISO 14443-A 标准的高频卡都有一个唯一的芯片 ID。它充当卡片的序列号类似于网络卡的 MAC 地址。**通常UID 为 4 或 7 字节长**,但很少会**达到 10 个字节**。UID 不是秘密,很容易读取,**有时甚至印在卡片上**。
2022-02-28 09:13:08 +00:00
许多访问控制系统依赖 UID 进行**身份验证和授权**。有时,即使 RFID 标签**支持加密**,也会发生这种情况。这种**滥用**将它们降至与**125 kHz 卡**相同的**安全性**水平。虚拟卡(如 Apple Pay使用动态 UID以便手机所有者不会使用其支付应用程序开门。
2022-02-28 09:13:08 +00:00
* **短距离** — 高频卡专门设计为必须靠近读卡器。这也有助于保护卡片免受未经授权的交互。我们设法实现的最大读取范围约为 15 厘米,这是通过定制的高范围读卡器实现的。
* **高级协议** — 高达 424 kbps 的数据传输速度允许具有完整双向数据传输的复杂协议。这反过来**允许加密**、数据传输等。
* **高安全性** — 高频非接触式卡片在安全性方面不逊于智能卡。有些卡片支持像 AES 这样的加密强算法,并实现了非对称加密。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
### 攻击
2022-02-28 09:13:08 +00:00
您可以使用 **Flipper Zero** **攻击这些标签**
2022-02-28 09:13:08 +00:00
2022-12-24 11:52:08 +00:00
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
2022-05-01 16:32:23 +00:00
或使用 **proxmark**
2022-05-01 16:32:23 +00:00
2022-12-24 11:52:08 +00:00
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
{% endcontent-ref %}
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
## 参考资料
2022-04-28 16:01:33 +00:00
2022-12-24 11:52:08 +00:00
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)