实际测试视频
先放测试视频:
起因
公司现在换上了门禁卡,之前小区物业也发放了门禁卡新办一张要额外收费20元,每次出门身上都是好几张卡配合一大串钥匙
某天手机和钥匙放在一个裤兜内,听见手机一直震动并且有提示音,拿出来一看。
这怎么触发的?我兜里有NFC卡?原来是这个?
身为懒癌晚期的我,能不能模拟了门禁卡,少带几张卡呢?
准备工作
在万能的互联网上搜索一下,想要通过手机模拟加密过的门禁卡,需要以下几个步骤:
小区物业发的钥匙扣卡属于IC卡,读取原卡数据信息需要一个NFC设备,先购买一个入门级设备进行测试和学习,购买于淘宝,关键词搜索PN532
准备阶段
这次实验,用到的设备有:
小米MIX2手机一台、老爷笔记本一台、PN532一台、小区门禁卡一张、公司门禁卡一张、实验用空白卡一张
在进行实验之前,下载好相应的软件[1],并在电脑上安装好PN532的驱动
如果有另一台NFC设备,可以尝试用两台手机互相模拟,省一张空白卡
Tips:如何简单判断门禁卡是否支持模拟?
如果手头有带有NFC功能的安卓手机,下载Mifare Classic Tools[2]软件,安装打开后,直接将门禁卡贴至手机NFC区域,会读取出门禁卡的类型
SAK:08这种类型的卡一般都可正常模拟
正式开工解密门禁卡
通过MifareOneTool[3]这个工具,将原卡内加密信息读取出来并保存为加密卡.dump,如图,提示01、08扇区保存有密钥
开始解密就可以去睡一觉了,老爷机解密了半个多小时。媳妇我可以换电脑吗?
生成未加密卡
使用M1卡分析助手[4],打开读取出来的原卡加密信息,另存为加密卡.txt文件,将0扇区的卡编号复制出来
同样将原来保存好的空白卡.dump(所有扇区数据为空)另存为空白卡.txt文件
再将空白卡.txt文件的扇区0,用加密卡.txt文件的扇区0信息替换后,另存为空白卡(修改后).dump
再通过MifareOneTool将空白卡(修改后).dump的信息,写入事先准备好的实验用空白卡中(最好选择UFUID卡,这样如果不手动锁定,可以无限次刷写0扇区数据)
使用手机模拟未加密卡
这时,我们再拿写好的实验用空白卡放在手机上模拟一下试试
哎呦,不错哦,现在模拟成功了
将原卡密钥注入到手机模拟卡中
最后,只要使用MifareOneTool这款软件将原卡密钥重新写入手机模拟的虚拟卡中即可
先将加密卡.dump加载为密钥,在选择加密卡.dump后写入普通卡,写入过程中手机会自动唤醒出刚才模拟的虚拟卡
Tips:为什么这次只写入了63/64个块?
因为刚才在手机模拟实验用空白卡的过程中,虚拟卡的0扇区0区块的信息用来保存被模拟卡的UID和厂商信息了,无法再覆写
总结
大功告成啦~!附上手机虚拟卡与原门禁卡内数据对比,只有发卡厂商不一致,其余信息完全一致
实际测试视频可以参考文章开头,本方法仅限学习研究用,仅适用于S50/M1(SAK:08)这一种IC卡,恕不提供涉及金额卡的模拟及破解[5]。
咄妈:你在我心中就是这样的,明明可以靠颜值吃饭,偏偏要靠才华
咄爸:我不是这样的吧,有点浮夸了
咄妈:你再BB,我他妈的就不画了!!!
行8行8,咄妈说得对,你最大~~~
References
题图&文中插图:咄妈画的