NFC和RFID卡攻击研究
2020-09-05 11:14:00 Author: www.4hou.com(查看原文) 阅读量:430 收藏

如果一个硬件上包含NFC或RFID组件,则Proxmark是完成这项工作最好的工具。你可以使用它来分析卡类型,演示卡克隆攻击,枚举攻击,甚至对受密码保护的卡进行算法绕过。这是一个非常好的工具,但是设置起来可能有些麻烦。

 https://amzn.to/2SScxaT

以下是有关常见使用场景以及安装过程中可能遇到的问题的说明。这些说明适用于Proxmark 3,但也适用于较新的硬件版本。

物理设置

将Proxmark插入电源之前,请务必确保已连接天线。在未连接天线的情况下意外运行搜索命令可能会损坏设备。确保USB转micro-usb线已插入计算机。

混合使用可能会损坏设备,因此在继续操作之前,请确保连接正确。

固件更新

最好确保是最新固件(你需要确保客户端与安装的固件版本匹配)。通常,存储库将使用新的攻击媒介和更多卡类型进行更新,因此,始终处于最新状态是一个好主意。

如果你已经知道你RFID卡使用有加密功能的NFC卡,请跳至此页面底部,以使用社区功能提供高级功能。以下来自Github Wiki的设置指南将引导你编译并将官方固件刷到Proxmark中:

· https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux

在本机Linux机器上执行此操作。Proxmark在串行接口上闪烁,并且虚拟机有时会出现时序或驱动程序问题,这会使该过程变得复杂。

请按照上述指南中的说明启动客户端,并首次验证更新的固件。

故障排除

如果闪烁后,该设备不再显示为USB,请在插入前按住Proxmark上的按钮。10秒钟后,该设备应显示为USB设备。闪烁主图像时,请继续按住按钮。成功刷新引导加载程序但无法刷新主映像。

关闭Proxmark客户端后,你可能必须拔出并重新插入物理USB设备。

客户端可能需要以sudo身份运行才能访问/dev/ttyACM0文件。

运行客户端

如果固件没问题,则应该位于Proxmark3存储库中,运行以下命令以启动Proxmark命令行界面:

· ./client/proxmark3 /dev/ttyACM0

你可能需要其他开发文件才能访问Proxmark。你可以sudo dmesg | tail在插入设备后找到此功能,创建的设备文件应显示在此系统日志中。

Proxmark带有内置的LUA脚本接口,但是老实说我从未使用过它。标准的proxmark客户端直接接受来自STDIN的输入,为你的用例编写Python脚本并将其直接传递到客户端非常容易。

RFID低频卡

LF(低频)卡通常以125或134 KHz的频率运行。与NFC卡相比,它们的射程更长,因此,很少有加密机制。通常,可以简单地从前面显示的文本中克隆卡,这可以在攻击模拟中注意到,并且诸如RFID tastic thief之类的设备可以从3英尺远的地方窃取卡。

适用于低频使用的天线是圆形的,背面用白色字体表示“ LF”。要验证天线是否正确,可以运行hw tune。输出应显示你的HF天线不适合使用,表明该天线旨在用于LF RFID。以下各节将演示最常见的RFID密钥的用法。如果卡类型未知,请首先尝试通过以下方法发现它:

· lf search u

HID代理卡

这些卡非常常见,可以通过引擎盖下的许多芯片实现,包括EM4x05或T55x7。通常,这些卡没有密码保护或加密功能,只需知道卡ID即可将其克隆。

不幸的是,在这里无法自动执行暴力攻击,因为HID具有很好的接近检测功能,可以防止在读取器附近检测到天线时进行多次读取。使用HID Prox卡时,以下是一些有用的命令:

· 检测卡ID: lf hid demod

· 产生卡号: lf hid encode

· 克隆到T55x7: lf hid clone

EM410x

这些卡比HID代理卡少见,但确实存在,常以霍尼韦尔品牌命名,这些卡不依赖任何高级身份验证。克隆卡ID就足以复制卡。由于EM410x没有良好的接近度检测功能,因此此处可能会强制执行暴力破解,这些卡可能被T55x7芯片欺骗。

· 检测卡ID: lf em 410xread 1

· 爆破卡ID: lf em 410xbrute

· 克隆卡ID: lf em 410xwrite

HF卡(NFC)

NFC卡通常以13.56MHz的频率运行,因此范围更小。有趣的是,这些卡更有可能具有强大的加密功能,并且比基本的RFID卡要先进。也就是说,许多型号都存在严重缺陷或完全没有加密,显示出的漏洞与RFID部分所述的漏洞相似。

RyscCorp在阅读器上说,适用于HF的天线是矩形的。确保白色开关的位置远离USB端口,朝向RyscCorp。要验证天线是否正确,可以运行hw tune。输出应显示你的LF天线不适合使用,表明该天线适用于HF NFC。

以下各节将演示最常见的NFC密钥的用法。如果卡类型未知,请首先尝试通过以下方法发现它:

· hf search u

MIFARE经典版

在运输过程中以及各种业务中使用的非常常见的卡。该卡使用带有2个不同密钥的身份验证方案,可保护16个扇区的内部存储。16个扇区中的每一个都有64个字节。可以对2个键中的每个键进行编码,以分别对16个扇区中的每个扇区进行读/写。从理论上讲,这是一个非常合理的许可模型,实际上,它几乎总是降级为以下模型。

一个密钥用作“公共”密钥,通常将其设置为已知的默认值,以便公共读者可以查看该密钥。另一个密钥用作秘密密钥,可以查看卡上的其余数据。由于Nicolas Courtois的工作,存在一种算法绕过的方法,它将帮助我们通过这种授权模型攻击RFID卡。

 http://www.nicolascourtois.com/papers/mifare_all.pdf

如果两个密钥中的任何一个是已知的,则可以在嵌套攻击中使用它来访问密钥A和B可用的所有部分。如果感兴趣的话,其背后的数学方法很棘手,在资源部分中链接了paper。如果你不关心技术知识,只想克隆一些密钥,请查看以下命令:

· 使用默认键进行转储: hf mf dump

· 尝试使用默认密钥: hf mf chk *1 ? d

· 尝试嵌套攻击: hf mf nested 1 0

· 读取特定块: hf mf rdbl

· 阅读特定key: hf mf rdsc

· 写特定块: hf mf wrbl<blockNum

· 嗅探卡通讯: hf mf sniff

· 克隆卡ID: hf mf restore (uses dumpdata.bin in current directory)

克隆Mifare经典卡通常是有效的攻击,但是最有趣的攻击来自修改卡上存储的数据。这通常涉及在已知状态下进行卡的转储,并将转储与最小更改后的另一个转储进行比较。逆向可以用来推断哪些值存储在卡上的什么位置。

请注意,卡上通常会存储某种校验和值,因此,如果校验和很复杂,使用先前捕获的转储进行重放攻击可能是最容易证明的威胁。

MIFARE卡(C):

这些卡是高端市场,并为标准NDEF消息提供“高级” 3DES加密容器。3DES这是数据表,描述了auth协议和相关的锁定位:

· https://www.nxp.com/docs/zh-CN/data-sheet/MF0ICU2.pdf

重要的是要知道你可能应该将写操作放在7-39块之间。块40和更高的块控制着锁位,设置这些位可能最终导致永久(!)锁定其他块。

如果设置了用于敏感位授权的锁定位,则值得检查一下是否可以直接更改锁定位。有时他们设置了锁,但忘记了自己锁定锁位。

· 获取详细信息: hf mfu i

· 使用默认键进行转储: hf mfu dump

· 使用自定义键进行转储: hf mfu dump k

· 读取特定的块: hf mfu rdbl b

· 编写特定的块: hf mfu wrbl b

高级功能

有一个社区开发的存储库,具有持续的开发和高级功能。我没有尝试过刷新Proxmark上的固件,但是如果你需要使用强加密(DESFIRE等)来修改NFC卡,则可能需要此fork中的功能。我提供了一个参考链接,所有上述命令都适用于官方Proxmark存储库:

· https://github.com/RfidResearchGroup/proxmark3

总结

至此,你应该已经对Proxmark有了足够的熟悉。你可以破坏MiFare的加密,克隆HID卡,并证明攻击者可以进入他们喜欢的任何房间。充分利用这些知识,提高客户的安全性,并帮助引导他们转向使用诸如DESFIRE之类的强加密功能的

参考资源

· https://blog.kchung.co/rfid-hacking-with-the-proxmark-3/

· https://hackerwarehouse.com/site-news/proxmark-first-use/

· https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux

· http://www.nicolascourtois.com/papers/mifare_all.pdf

· https://penturalabs.wordpress.com/2013/07/15/access-control-part-2-mifare-attacks/

· http://esec-pentest.sogeti.com/posts/2011/11/28/playing-with-nfc-for-fun-and-coffee.html

· https://scund00r.com/all/rfid/2018/06/05/proxmark-cheatsheet.html

· https://blog.kchung.co/reverse-engineering-hid-iclass-master-keys/

· http://www.proxmark.org/forum/index.php

· http://www.emsec.rub.de/media/crypto/veroeffentlichungen/2011/10/10/desfire_2011_extended_1.pdf

· https://www.bishopfox.com/resources/tools/rfid-hacking/attack-tools/

· http://www.openpcd.org/images/HID-iCLASS-security.pdf

· http://www.proxmark.org/forum/viewtopic.php?id=2443

本文翻译自:https://maxfieldchen.com/posts/2020-05-07-Attacking-NFC-and-RFID.html如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/lD27
如有侵权请联系:admin#unsafe.sh