-
-
[原创]NFC中继攻击分享
-
发表于:
2021-7-6 11:03
21074
-
前段时间不是写过一篇重放攻击绕过手环蓝牙认证的文章嘛,在这里《手环BLE蓝牙认证绕过,可实现远程控制》。有读者问了这样一个问题:蓝牙能遭受到攻击,那同样是无限通信的NFC呢?
我是这样回答的:NFC可以通过中继攻击来获取数据信息,而如何在不直接接触的情况下,实现NFC卡与读卡器的数据交互,需要重点研究一下。因为与重放攻击不同,中继攻击在攻击者获取数据信息的同时,必须保证与终端设备的通信。
#01 NFC的原理
NFC(近场通信,Near Field Communication),又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输。
与前文利用的蓝牙技术相比,NFC使用更加方便,成本更低,能耗更低,建立连接的速度也更快,只需0.1秒。但是NFC的使用距离比蓝牙要短得多,有的只有10CM,传输速率也比蓝牙低许多。
#02 中继攻击原理
假设准备1个NFC卡, 1个服务器, 1个读卡终端,2个具备NFC功能的设备①、②。将这2个设备与服务端连接在同一wifi,保持通信。设备①作为读卡器靠近NFC卡,设备②作为仿真卡靠近读卡终端。
NFC中继攻击流程图
建立NFC卡与读卡终端的通信隧道。通过数据的传输,完成NFC卡与读卡终端的数据交互。
理论上,任何使用RFID的设备都可能遭受类似的中继攻击。目前,我们的公交卡、银行卡、门禁卡、身份证等卡片都应用了相关技术。而且,越来越多的智能汽车也在利用 RFID 射频识别技术,来实现近距离开锁及一键启动。
接下来模拟一下银行卡的NFC攻击过程。
准备设备
1.两部带有 NFC 芯片的 Android 手机作为设备①和设备②,运行 Android 4.4+ (API-Level 19+),并安装NFCGate APP。
2.设备②需要支持 HCE(主机卡仿真),并且HCE设备需要 root 并安装并启用Xposed。
3.NFCGate服务端。代理两部手机之间的通信。
4.待读取信息的银行卡若干。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)