数码之家

 找回密码
 立即注册
搜索
查看: 81230|回复: 49

[手机] 使用ProxMark3破解顽固加密电梯卡并模拟至NFC手机全过程

    [复制链接]
发表于 2019-12-22 14:42:59 | 显示全部楼层 |阅读模式
现在需要刷卡的地方越来越多,每个人身上都带着数张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.keys
std.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好像会进入一个乏味、漫长、甚至掉线死机的状态。估计是和卡的反破解功能有关
(这里要提一下,PM3的硬件经常会自己就死机了,或者仍在操作,但它并没有任何反应,需要使用者去猜,去摸清它脾气,然后插拔重启软件……)
好像是某种型号的还是新卡会把漏洞堵上,无法破解



当这两个方法都没法解出全部密钥的时候,就需要付出更大的代价——去到刷卡机处进行现场嗅探(代价二)


这里以【现场有卡嗅探】为例
将PM3连接至笔记本电脑后,打开PM3 GUI,点击“现场有卡嗅探”,PM3 client会进入嗅探状态,等待信号
此时将PM3尽可能的靠近刷卡机,但PM3与刷卡机之间要留点位置以便待会插入卡刷卡,建议两人操作


准备好之后,刷卡,此时PM3 client会出现一堆嗅探到的信息
我们不要管信息是什么,PM3 GUI正式版会直接进行计算(这也是我推荐这个版本的原因)
然后,密钥就会显示在相应的区域,如下图,9扇区keyA位置,红色的字体



这样我们就拿到了之前两种方法都解不开的密钥(第9扇区的keyA)
这一代价挺大的,首先这种行为你很可能会被盯上,然后物业八成……十成不允许你这样做吧


还有另一种不那么显眼的方式——【有卡离线嗅探】
这个我没有具体试过,这里不再展开


然后我们提着电脑回到室内,记录下嗅探到的密钥,根据之前说过的“知一密解全密”的方法
点击“知一密解全密”,将密钥输入、选择相应的扇区、ABkey,然后点确定
软件就会根据这一密钥,解开加密扇区的内容,如下图:



这就是和刷卡机通讯的内容和密钥,我们将完整的数据保存dump备份
然后,原数据不能动的,我试过删除密钥保留内容,结果不行,刷卡机不认
这个保存下来的dump文件,可以用来做卡的克隆


那么重点是,加密的内容,怎么写入手机?
由于内容加密,克隆出来的卡也是加密的,你只是知道了密钥和数据,手机并不支持模拟加密卡


这个时候可以参考上文中提到的引申阅读的破解后写卡方法


也可以这么做:

1. 首先手机上(小米钱包里),新建一张空白卡
方法是:小米钱包——小米门卡——右下角+号——自定义空白卡——输入小米账户密码——等待添加完成



2. 添加完成之后,调出刷卡界面
(如果之前没有设置双击Home键调出刷卡界面,此时可以使用某些方式唤醒,比如贴近刷卡机,然后点击右上角的小齿轮,打开“桌面键双击支付模式”)
此时手机会有振动提示“请靠近读卡器”



3. 现在将手机的NFC区域靠近PM3的高频天线区域,开始写手机的空白卡,如图1

PM3 GUI中确保打开了之前保存的dump文件,然后点击“克隆到FUID”
这时候将开始写卡,一般来说,手机不支持重写0扇区0块的厂商信息,所以第一行写入必定是写入失败
这个错误可以忽略,写入完毕后,应该是63成功,1失败,如下图:



表明dump中的信息已经写入了手机调出的空白卡中,这时候可以拿着手机到刷卡机上去测试了
(刷卡时,刷卡界面一定要选刚才的那张卡)


如果偶尔会有几行数据写入失败,那么可能是读写操作受到了干扰,需要远离周围的电路、金属物体、其他卡片等再试
如果一直都是写入失败,那么可能手机不具备全功能NFC功能,加密卡就没法往里写了,放弃吧
如果刷卡系统需要验证0扇区0块的厂商信息,那么也放弃吧


本文仅仅是提供了破解的一个思路,对于全加密的卡,也可以使用现场嗅探的方式来解开密钥
或者使用其他设备,比如“变色龙”来进行破解,方法不计其数。

破解加密卡是什么性质的行为希望大家都清楚,本文的目的在于技术交流学习,本文涉及到的智能卡、密钥等仅用于设备研发调试。严禁利用本帖学习到的内容从事非法牟利等违法犯罪活动(特别是包括但不仅限于水卡饭卡停车卡的修改)。否则造成的一切后果由事主负责,本人及网站不为其承担任何责任。


谢谢观赏!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 8家元 +115 收起 理由
沙漠臭屁虫 + 20
newnet1234 + 20 鼠年吉祥/新春快乐
吾见刚正 + 2 優秀文章
chenzoutie + 1 謝謝分享
aacyxjz + 12
azzajazz + 20 好文
亲爱的混蛋 + 20
拿糖糖换媳妇 + 20 原創內容

查看全部打赏

发表于 2019-12-22 16:08:40 | 显示全部楼层
这个收藏了,我也有这机器,只会复制卡而已,但是不能变成手机。。。
回复 支持 反对

使用道具 举报

发表于 2019-12-22 22:11:56 | 显示全部楼层
收藏,好文章多学一些知识
回复 支持 反对

使用道具 举报

发表于 2019-12-22 22:14:57 | 显示全部楼层
PN532也可以,嗅探就只能用变色龙了
回复 支持 反对

使用道具 举报

发表于 2019-12-22 23:26:53 来自手机浏览器 | 显示全部楼层
我楼下卡没有全加密,不过读数据时候是0扇和14扇两个扇区数据一起读,其他全部是f。。。。所以手机的0扇不给修改也没办法搞。模拟也说加密卡
回复 支持 0 反对 0

使用道具 举报

发表于 2019-12-23 07:48:32 来自手机浏览器 | 显示全部楼层
本帖最后由 aacyxjz 于 2019-12-23 07:56 编辑

想复制小区的门禁卡来着,结果是iC卡,手里的读卡器只能复制iD卡。放弃

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2019-12-23 19:27:03 | 显示全部楼层
我也有这玩意,不能写入0扇区没啥用卵用啊,学校读卡器都认UID啊
回复 支持 1 反对 1

使用道具 举报

 楼主| 发表于 2019-12-23 20:50:23 | 显示全部楼层
言志宁心love 发表于 2019-12-23 19:27
我也有这玩意,不能写入0扇区没啥用卵用啊,学校读卡器都认UID啊

不能写入0扇区是因为手机模拟出来的空白卡不支持
是不能写【手机的0扇区】
空白实体卡是可以写的
回复 支持 反对

使用道具 举报

发表于 2019-12-23 20:53:24 | 显示全部楼层
john_chuck 发表于 2019-12-23 20:50
不能写入0扇区是因为手机模拟出来的空白卡不支持
是不能写【手机的0扇区】
空白实体卡是可以写的 ...

对啊,小米6不能写入0扇区第一行,小米9整个0扇区都不能写入。目前就是搞了个钥匙扣来刷门禁
回复 支持 反对

使用道具 举报

发表于 2019-12-23 22:15:14 来自手机浏览器 | 显示全部楼层
胖子的mcu不一样也版本不一样
回复 支持 反对

使用道具 举报

发表于 2019-12-24 08:30:42 | 显示全部楼层
思路提供的好,上次闲鱼看到个pm3很便宜,想了想也没啥用途,工具太良好了,内心贪欲会起,控制不好走向不归路
回复 支持 反对

使用道具 举报

发表于 2019-12-25 13:21:28 | 显示全部楼层
厉害了 。谢谢
回复 支持 反对

使用道具 举报

发表于 2019-12-26 00:04:54 | 显示全部楼层
这个的用处也有合法的地方的,比如现在大家身上的卡很多,带起来不方便,如果能模拟到手机里就方便多了
回复 支持 反对

使用道具 举报

发表于 2019-12-26 16:08:54 | 显示全部楼层
aacyxjz 发表于 2019-12-23 07:48
想复制小区的门禁卡来着,结果是iC卡,手里的读卡器只能复制iD卡。放弃

我手里有个机器!说不定可以搞 呢?我们以前的小区门禁卡被我克隆过
回复 支持 反对

使用道具 举报

发表于 2019-12-26 22:02:24 | 显示全部楼层
一般IC卡买个PN532就不是全加密的一般可以使用了,30多包邮不算贵,
如果是ID直接买个ID卡复制器不用电脑的就两个5号电池也就三十不到

都可以买个手机的背后卡贴,放到手机背后就可以了,不占地方方便
回复 支持 反对

使用道具 举报

发表于 2019-12-27 21:37:29 | 显示全部楼层
华为荣耀20和荣耀20pro,可以选择只模拟卡号,成功用手机NFC模拟卡号之后,再用pm3将1~15扇区写进手机NFC模拟的虚拟卡,即可。

荣耀5NFC版手环,升级现在版本的ROM之后,也可以如此操作。

以上,模拟FUID卡,成功。

打赏

参与人数 1家元 +2 收起 理由
maidoo + 2 精彩回帖

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2019-12-28 01:00:11 来自手机浏览器 | 显示全部楼层
顶起 收藏备用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-6 06:04 , Processed in 0.171601 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表