NFC卡复制和修改

admin 2023年2月9日09:24:03评论763 views字数 3446阅读11分29秒阅读模式

01




为什么要研究NFC卡





现在市面上很多的手表、手环和手机都具有NFC的功能。上周我也购买了个智能手表,心想既然手表有NFC功能,就想着把小区的门禁卡放到手表中,以后出入就不需要带门禁卡了,出门又能少拿一样东西。结果悲剧发生了:

NFC卡复制和修改

经过一番折腾,终于把小区门禁卡成功写入手表了,以后出门不用带卡了,现在就把我模拟门禁卡的方法写给大家。


02




背景介绍





首先我们先了解一下我们平常使用的门禁卡,目前nfc门禁卡大致可分为IC卡与ID卡,ID卡不可写入,且固定编号;IC卡可以擦写,且固定编号。这里笔者的卡可以被物业改写梯控信息,显然是IC卡。既然是IC卡,那么我们就可以复制,改写内容。


NFC是什么?

NFC是Near Field Communication的缩写,译为近场传输。“近场传输”又可理解为是一种近距离(10cm内)的高频无线通信技术,能够与其他设备进行通信,实现电子设备间的数据交换。


NFC有什么功能?

NFC设备可以用作非接触式智能卡、智能卡的读写器终端以及设备对设备的数据传输链路。其应用广泛,目前最常用的实用功能为为读取(从海报上的智能标签读取网址)、移动支付(简单的付款功能)、设备连接(文件传输)等。


NFC的应用场景

1.门禁使用:小区、车库、水卡等。

2.交通卡使用:公交、地铁等。

3.数据传输: 把两个带有NFC功能的电子设备相连接,然后进行点对点的数据传输即可,支持图片、视频、音乐、通讯录等内容传输。

4.信息浏览:当你想了解一些信息时,只需把手机靠近想了解的物品就可以知道。如当手机贴近银行卡时,就可以知道银行卡的基本信息和交易记录。

5.移动支付:银行卡,苹果支付等。


Mifare卡

Mifare卡是一个很大的称呼,其下有多个产品分支,粗略分一下,大致有Mifare Classic系列,MifareUltralight系列和Mifare Desfire系列,其中,Mifare Classic系列有1K和4K两种内存大小的产品,,所提到的Mifare,均指Mifare Classic 1K/4K,1K/4K表示内存区域大小,Mifare Classic 1K又称M1卡。


Mifare Classic卡有四种不同的容量:

320字节,也被称作MINI卡,S20卡

1k字节,也被称为S50卡,最常见的型号

2k字节

4k字节,也被称为S70卡

如果自己不清楚卡类型,可尝试选择1k卡,这是最常见的型号。


我们小区的卡,是M1卡,所以我们这篇文章主要介绍M1卡。


M1卡的格式介绍

Mifare S50和Mifare S70又常被称为Mifare Standard、Mifare Classic、MF1,是遵守ISO14443A标准的卡片中应用最为广泛、影响力最大的的一员。而Mifare S70的容量是S50的4倍,S50的容量是1K字节,S70的容量为4K字节。读写器对卡片的操作时序和操作命令,二者完全一致。

    Mifare S50和Mifare S70的每张卡片都有一个4字节的全球唯一序列号,卡上数据保存期为10年,可改写10万次,读无限次。一般的应用中,不用考虑卡片是否会被读坏写坏的问题,当然暴力硬损坏除外。

     Mifare S50和Mifare S70的区别主要有两个方面。一是读写器对卡片发出请求命令,二者应答返回的卡类型(ATQA)字节不同。Mifare S50的卡类型(ATQA)是0004H,Mifare S70的卡类型(ATQA)是0002H。另一个区别就是二者的容量和内存结构不同。

     Mifare S50把1K字节的容量分为16个扇区(Sector0-Sector15),每个扇区包括4个数据块(Block0-Block3,我们也将16个扇区的64个块按绝对地址编号为0~63),每个数据块包含16个字节(Byte0-Byte15),64*16=1024。

NFC卡复制和修改

每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0扇区)的第一段(0段),也称为厂商段,其中前4个字节(就是前8位,两位一个字节)是卡的UID,第5个字节是卡UID的校验位,剩下的是厂商数据。

NFC卡复制和修改

每个扇区都有一组独立的密码及访问控制,放在每个扇区的最后一个Block,这个Block又被称为区尾块,S50是每个扇区的Block3。

每个扇区的区尾块为控制块,包括了6字节密码A、4字节存取控制、6字节密码B。

NFC卡复制和修改

新卡的出厂密码一般是密码A为A0A1A2A3A4A5,密码B为B0B1B2B3B4B5,或者密码A和密码B都是FFFFFFFFFFFF。

密码A是永远也读不出来的,如果用户的数据块指定了验证密码A却忘了密码A,也就意味着这个数据块作废了,但本扇区其他数据块和其他扇区的数据块不受影响。


03




复制门卡





有了上面的这些知识,我们就可以对M1卡,进行复制和模拟了。


复制原理

M1卡在知道密码的情况下,数据总是可以读出来的。所以现在手表不能模拟卡的原因,主要是因为没有密码。只要我们要想办法把密码搞出来,就可以把卡内的数据读出来进行卡复制卡了。所以我们现在的首要目标是找到密码。

首先用MCT软件,对我们要模拟的卡,进行一下读取,发现很多扇区由于有密码所以数据无法读出。

NFC卡复制和修改


要用到的工具

MCT: 有名的M1卡读取软件,大家可以在各大商店上,自行下载。

PM3: 用来读取,破解M1密码的硬件设备。


如何得到卡中的密码

想要得到卡中的密码有2种方式:

1.利用漏洞,得出密码(值得窃喜的是,我现在的这张的卡是有漏洞的卡),所以,今天这篇文章,主要讲以这种方式来获取密码。

2.嗅探的方式,算出密码。


利用漏洞,获取卡中密码

M1卡的漏洞,主要有以下几种:

1.暴力破解

因为M1是被动卡,需要读卡器为之供能,一旦读卡器切断电源,卡中临时数据就会丢失,所以无论试错多少次密码都不会被锁定。我们可以用一些厂商默认弱密码,进行暴力破解。


2.重放攻击

重放攻击是基于M1卡的PRNG算法漏洞实现的。当读卡器读卡时就会产生随机序列,但卡本身不带电,所以每次断电后再重新连接,就会生成一模一样的序列,所以可能把这个序列算出来。只要控制好时间就能知道当卡获取能量后某一刻时间的随机序列,从而实现修改数据。


3.密钥窃听

利用工具Promark 3可以嗅探M1卡(即便是全加密卡)在和读卡器进行数据交换时的数据,然后利用XOR工具就能把扇区密钥算出来。


4.克隆卡片

因为M1卡加密扇区里面保存着各种数据,所以可以克隆一张带有同样数据的克隆卡。这就会用到一种叫UID卡的特殊M1模拟卡。前面说过,每张卡在0扇区的0块都会存放厂商代码,所以里面也保存了UID编号,是无法修改的。但是这种特殊的UID卡该区域没有设定保护,可以随意修改UID,因此可以制作一张与目标卡数据完全相同的克隆卡。


5.验证漏洞

当读卡器读卡的扇区时,卡会发一个随机序列给读卡器,读卡器收到序列后会利用自身算法加密该随机序列再反馈给卡,卡片接收后再用自己算法计算,如果结果一致就认为该读卡器是合法授权的,然后开始进行数据传输。这就产生了问题:当读卡器访问另一个扇区时,又会重复上述步骤,而此时卡片与读卡器之间的数据交换已被算法加密过,而这个算法又是由扇区密钥决定,因此就会导致这个密钥泄露。所以只要知道一个扇区的密钥,就能破解卡。


打开PM3利用漏洞对卡的密码进行破解。

NFC卡复制和修改

读出密码:

NFC卡复制和修改

有了密码,卡内的数据就可以读出来了。


模拟卡的流程

我们要用到的设备有4个:

1.门禁卡:能打开门的门禁卡。

2.NFC智能手表:最终要使用手表模拟NFC,来开门。

3.白卡:一张新卡,用来写入门禁卡的UID

4.PM3设备:破解密码和复制卡工具

以下是手表模拟门禁卡的流程:

NFC卡复制和修改


门禁卡续期

NFC卡复制和修改

通过对比卡上贴的有效时间:2016—2022年,可以发现这个地址就是卡有效期了。把截止日期,修改为2099年,那么这张门禁卡,就不会过期了。


应该如何保证门禁卡的安全?

1. 将M1卡换成CPU卡。

2. 禁止使用默认密码。

3. 禁止使用有漏洞的M1卡。


1

END

1

NFC卡复制和修改

往期精彩推荐

Flutter逆向初探

●密钥管理实践

RSA-CRT 故障注入攻击

PE文件签名信息检测

联想集团第五届网络安全周活动圆满结束!

●隐私保护知多少

横向联邦学习技术原理浅析

●Windows DLL劫持漏洞分析

●利用Firmadyne进行固件模拟

●构造溯源蜜罐——伪造MySQL服务端

CSL

NFC卡复制和修改

联想GIC全球安全实验室(中国)

[email protected]


原文始发于微信公众号(联想全球安全实验室):NFC卡复制和修改

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月9日09:24:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NFC卡复制和修改https://cn-sec.com/archives/1543570.html

发表评论

匿名网友 填写信息