使用ProxMark3破解顽固加密电梯卡并模拟至NFC手机全过程
吴杰浩
2022-07-23 10:04:21
共 1 个回答
赵浩博
现在需要刷卡的地方越来越多,每个人身上都带着数张RFID射频卡,对于出门只带手机一族来说,非常不方便,现在手机基本自带NFC功能,可以将很多公交卡和小区门禁卡都可以模拟复制到手机上,相当的便利,但是有部分加密卡是无法复制的,对于数码之家坛友来说,考验我们的时候到了。设备准备:1. 电脑一台2. ProxMark3(以下简称PM3)一个3. 待破解电梯卡一张4. 带有全功能NFC的手机一台(本文以小米MIX3为例)
购买ProxMark3的时候,卖家都会附送相应软件,有些软件是捆绑机器一起的,有些是收费的先声明,楼主和本文均不提供软件的共享等,请不要询问。首先需要先明确待破解的卡是飞利浦(恩智浦)的MF1 S50卡,即常说的M1卡、S50卡、Mifare 1K卡……其他卡片比如低频卡,手机NFC不支持,破解完成仅能复制而不能手机模拟,这里暂不讨论
Q:如何确定自己的卡是否能够模拟?A:直接使用手机读取并模拟(以MIUI系统为例,使用“小米钱包”),将卡靠近手机,如果手机有反应,那么恭喜,这是13.56MHz的高频卡,手机NFC支持。Q:如何确定自己的卡是否加密?A:直接使用软件进行卡的复制和模拟,以小米钱包为例,点击添加门卡,将卡放置于手机背面NFC区域,直接可以模拟的,为非加密卡,刷卡机仅需要验证明文信息。(我楼下门禁就是这样的,形同虚设)Q:如何确定自己的卡加密到何种程度(部分扇区加密、全扇区加密)A:可以在手机上安装使用MIFARE Classic Tool工具来读取卡信息,如果有显示“未找到keys(或者扇区损坏)”,则表示该扇区加密,如果全部都是……那么你很可怜,这是一张全加密卡,你需要付出较大代价才可以破解======正文======作为数码之家坛友、硬件工程师、电子技术爱好者,本着“人生在于折腾”的原则,这种事情怎么可能放过拿到电梯卡首先使用手机复制,提示加密卡,如下图:
使用MIFARE Classic Tool工具配合较为简单的字典进行,这些简单的字典通常都是内置,比如:extended-std.keysstd.keys(使用大小高达1M的超大容量字典破解时MIFARE Classic Tool工具会直接卡死)因为出厂默认密钥是FFFFFFFFFFFF,比如当有些人偷懒改为000000000000时,就可能可以用MIFARE Classic Tool工具破解出来。当然MIFARE Classic Tool工具是非常低级的,当密钥设定没有那么简单、密钥不存在于字典中时,它就一点办法都没有了。
比如这张电梯卡,因为第9扇区的keyA不存在于字典中,直接就红字读不出
这时候你要么求助于发卡部门,求求你了,不要加密了好不好,我不想带张卡,我想刷手机……求人不如求自己这时候就要付出点代价了需要用到类似PM3的工具了(售价闲鱼150~160,淘宝200左右,更高级的400~500,代价一)连接电脑安装驱动这些不再赘述,我们以PM3 GUI正式版为例(因为我发现这个版本挺好使),直接进入界面教学软件如下:
首先读卡,将卡放在PM3高频天线位置,点击“读卡类型”,就可以看到卡的信息,厂商,型号什么的不出意外,会有这么一行 TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
然后点击“一键解析”,Client会自动扫描卡。读取完卡16个扇区64个块的信息之后,会显示哪些扇区的密钥非默认密钥,然后软件会自动进行“知一密解全密”
即使用扇区0的默认密码FFFFFFFFFFFF进行Nested(NT)的过程如果漏洞可攻破,那么一次或者几次Nested后,读取时未找到的密钥就都出来了然后就可以看到整张卡的密钥和数据,比如读的另一张门禁/电梯卡(当初忘了截图了)如果漏洞不可攻破,比如我这张电梯卡,跑完一次Nested后,提示有密钥遗漏(9扇区密钥解不开),是否要再次进行Nested?
再次NT也是无果的,那么就要进入PRNG破解(需要用Proxmark3_EASY_GUI这个软件)PRNG破解也是利用漏洞……好吧跑一遍PRNG,但是这如果PRNG也不可攻破,PM3好像会进入一个乏味、漫长、甚至掉线死机的状态。估计是和卡的反破解功能有关。
关注数码之家网浏览更多精彩资讯、拆机图文DIY
技术交流请联系原作者
作者:john_chuck
本文来源:数码之家
阅读原文