RFID 安全之某学校水卡破解
本文只作技术研究之用,请勿用于非法用途,否则后果自负。
如今网络上能找到 RFID 安全类的信息非常的少,原因我就不说了,大家也明白。大家如果要研究 RFID 安全可以去 RadioWar或者 Freebuf多看看相关的文章,我在后面也会放出一些相关的资料供大家下载研究,资料大多数是外语资料,所以说外语一定要学好!
用 NFC 手机上安装的 MCT(Mifare Classic Tool) 查看,水卡的确是 Mifare Classic 1k 类型的。
此次破解用到的工具有:电脑一台,ACR122U-A9 港版一台,带 NFC 功能的手机一台,水卡一张。
在进行破解工作之前,我们要为电脑搭建相应的环境,大家需要在电脑上安装 .NET Farmwork 4 以及 Java,请自行上网下载安装,后面用到的软件依赖这两个运行库。
安装完运行库之后就需要安装 ACR122U 的驱动了(驱动下载(百度云) ,SDK 下载(百度云) ),为了方便后续的开发,我将 SDK 也一并安装。
安装完驱动和 SDK 之后,把 ACR122U 连接电脑,设备就能正常工作了。把我们的水卡放上去,ACR122U 的蜂鸣器就会响并且 LED 的颜色也会改变。
在此之前我已经尝试过用 MCT 自带的常见的密钥去访问水卡,发现有部分扇区使用的不是默认密钥,被加密了,对于这种不是所有扇区加密的卡,我们可以采用验证漏洞把其他扇区密码破解出来。
验证漏洞可利用的程序是 mfoc,mfoc 在 Windows 上的版本叫 mfocgui,但 mfocgui 对于刚刚接触 RFID 安全的同学来说有点麻烦,所以这次直接采用M1 卡服务程序(其实就是简化版的mfocgui)(内容涉及违法,已经按相关部门的规定撤下)。
打开之后,程序界面非常简洁,只有一个按钮,就是开始破解。在读卡器列表那我已经见到我的 ACR122U 了,所以直接按开始破解就可以。然后接下来就等待程序自己破解密钥。
不用很久,就看到所有扇区都被打勾了,破解成功了。
破解成功后根目录就生成了这张卡的 dump 文件了,大小是 1 Kb,整张卡就被读取出来了。
但 mfoc 原本是运行在 Linux 环境下的,移植到 Windows 下的 mfocgui 生成的 Dump 文件是并不能直接使用的,还需要一个修复工具 fixdump(下载fixdump),将 1 kb 的 Dump文件修复成 4 Kb 的 Dump 文件才行。
fixdump 是命令行操作,并且必须安装了 .NET Farmwork 4 运行库才可以使用,为了方便命令操作,我们将 Dump 文件拷贝到fixdump 的目录里,打开 cmd 进行修复。命令很简单,直接 fixdump file.dump
就可以,生成的文件会直接覆盖源文件。
修复完成后,用 UltraEdit 或者 WinHex 之类的十六进制编辑器打开,就可以看到 Dump 文件的数据了。
看到上图我用方框框着的数据了吗?这就是卡扇区的控制段,其中前 6 字节和后 6 字节的 FFFFFFFFFFFF 就是这个扇区的密码,中间的 FF078069 就是控制位,还不清楚 M1 卡的结构的可以去看看这篇介绍 M1 卡结构 文章。
知道密码之后,我将密码导入 MCT 中,开始读取卡片的数据了。紧接着就可以开始改写,具体可以看一下 S50 卡的官方文档。
Content Hidden.You Need To Login.
将数据写入到卡里,现在就是去机器实践的时候了。
破解大完满结束,总耗时 5 小时。
如果有什么问题欢迎留言或者邮件咨询和交流。
解决方案:
将卡片全部更换成 CPU 卡,CPU 卡可以模拟 M1 卡结构,完全代替 M1 卡,安全性也比逻辑加密的 M1 卡更安全。
采用一卡一密系统,一卡一密可以免去升级硬件的麻烦,最大程度保护 IC 卡系统。
采用滚动码系统,增加效验,加大破解成本。
大神,我的水卡和你的是一个牌子的,请问余额的数据是在哪个扇区,哪个块?
楼主,怎么用otg连接acr122u在手机上读写卡呢?
自己写App,官网有SDK,写过一次,可用性比较低
楼主,可以把app发给我吗?表示对应用开发不熟,。。。。[email protected]
那个读卡器用其他类型行不行的?
fixdump一直闪退啊,没有别的方法或者有工具代替
其实我一般都是用nfcgui来的 它可以一键变为4K 还可以查看密码
不是双击打开的,你要先进dos命令行。然后进入fixdump的目录,最后用fixdump 盘符路径要修改的文件名去修复。
如果你不会dos命令,建议就放弃吧。这真不是你玩的
1202070000000000000000000000001B0000020700004633FFFFB9CC000000050000020700004633FFFFB9CC00000005
求大神这组数据是怎么校验的,为啥改了4633和对应的b9cc不行呢?
和你的卡一模一样,可以发个keys文件给我吗? [email protected]
你好,我的和你的卡一样的,可以发个keys文件来吗 谢谢了
大师,我今年就毕业了,所以不想买读卡器,您能不能把你解出来的key发给我,我用手机改一下,mct能读出来1到13层,14和15读不出来,我看我的卡跟你发的图7和8层扇区一模一样,可能密码也一样呢,能帮个忙么,感激不尽
别人的密码 没什么有的 除非就是非常简单的密码像FFFFFFFFFFFF 之类的 一般都是要靠读写器来读入数据之后用M1卡服务程序破解的
亲爱的博主 我试着用电脑上的”PCSC Mifare 操作软件“对M1卡进行读写操作,当我点击了〈初始化〉以后再点击〈连接Mifare卡〉文本框里出现 读取失败 ,我想问下这是什么原因呢?非常谢谢!
卡片不是标准卡就有可能出现这种情况
很好奇博主是被哪个部门约谈了 再有就是博主的不怕因为淘宝店再被查水表吗?
请问我在破解M1卡的时候点击开始破解,刚开始可以,过了几秒钟提示无法连接NFC读卡器 这该怎么办?
博主能否给一下ACR122U的购买地址?还有软件。谢谢
另外,如果不用带有NFC的手机可不可以完成破解?
请问改完的ddomp文件要怎么用电脑写进卡里呢?非常困扰,望大大解答。谢谢
你好博主,我想要知道这篇文章中提到 将密码导入MCT中,是否必须要用到手机的MCT,电脑用122U可不可以修改数据,因为我的手机有NFC但是芯片不支持M1卡的协议。
亲爱的博主你好 ,我的ACS CCID driver 点击安装的时候提示不支持平台,我想问一下这个ccid 安装不上会有什么影响啊?非常谢谢您的帮助!来自Raisy.
可以
破解程序提示,计算机丢失msvcp100.dll,尝试重新安装神马的,我下载了这个dll文件,放到系统文件夹里了,没有得到解决啊??
装.net框架
您好,请问破解不完全,有一个扇区始终无法破解,其余的都打钩了,会是什么原因引起的呢?
有可能是CPU卡兼容卡,所以就破解不了
CPU兼容卡是怎么回事?只有某个或某种cpu可以读取是么?
CPU兼容卡就是CPU卡但是建立成S50卡的结构兼容使用
请问修改数据的话是通过手机端吗?同一类型卡片是否破解一次扇区密码就行了?这个密码对其他同种卡片通用还是每一张卡都得破解一次密码?谢谢!
电脑就好,看情况,一般同个地方的卡的密码都是一样的
真的感觉博主很屌,高一小朋友。。。
good
厉害
为什么我的手机使用MCT识别水卡上面写着NOT A MIFARE CLASSIC TAG但是下面有GENERIC INFO的数据,其中的TAG TYPE AND MANUFACTURER显示是MIFARE CLASSIC 1K, NXP那么这张卡到底是不是符合要求的呢?下面没有像作者图里的第二栏MIFARE CLASSIC INFO
读取试试就好