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 小时。

如果有什么问题欢迎留言或者邮件咨询和交流。

解决方案:

  1. 将卡片全部更换成 CPU 卡,CPU 卡可以模拟 M1 卡结构,完全代替 M1 卡,安全性也比逻辑加密的 M1 卡更安全。

  2. 采用一卡一密系统,一卡一密可以免去升级硬件的麻烦,最大程度保护 IC 卡系统。

  3. 采用滚动码系统,增加效验,加大破解成本。

Tags: 破解, RFID, ACR122U, 极客, IC卡, Mifare, M1, S50, 黑客, 水卡, 热水卡

490 Comments

  1. 李小萌 李小萌

    楼主可不可以发个M1的密码文件包

  2. 谟夜 谟夜

    大神,我的水卡和你的是一个牌子的,请问余额的数据是在哪个扇区,哪个块?

  3. hot哀 hot哀

    楼主,怎么用otg连接acr122u在手机上读写卡呢?

    1. 自己写App,官网有SDK,写过一次,可用性比较低

      1. hot哀 hot哀

        楼主,可以把app发给我吗?表示对应用开发不熟,。。。。[email protected]

  4. 8956 8956

    那个读卡器用其他类型行不行的?

  5. zhi zhi

    fixdump一直闪退啊,没有别的方法或者有工具代替

    1. chen chen

      其实我一般都是用nfcgui来的 它可以一键变为4K 还可以查看密码

    2. 雷锋 雷锋

      不是双击打开的,你要先进dos命令行。然后进入fixdump的目录,最后用fixdump 盘符路径要修改的文件名去修复。

      如果你不会dos命令,建议就放弃吧。这真不是你玩的

  6. JayZ JayZ

    1202070000000000000000000000001B0000020700004633FFFFB9CC000000050000020700004633FFFFB9CC00000005
    求大神这组数据是怎么校验的,为啥改了4633和对应的b9cc不行呢?

  7. 林

    和你的卡一模一样,可以发个keys文件给我吗? [email protected]

    1. 林仔 林仔

      你好,我的和你的卡一样的,可以发个keys文件来吗 谢谢了

  8. Elxat Elxat

    大师,我今年就毕业了,所以不想买读卡器,您能不能把你解出来的key发给我,我用手机改一下,mct能读出来1到13层,14和15读不出来,我看我的卡跟你发的图7和8层扇区一模一样,可能密码也一样呢,能帮个忙么,感激不尽

    1. chen chen

      别人的密码 没什么有的 除非就是非常简单的密码像FFFFFFFFFFFF 之类的 一般都是要靠读写器来读入数据之后用M1卡服务程序破解的

  9. Raisy Raisy

    亲爱的博主 我试着用电脑上的”PCSC Mifare 操作软件“对M1卡进行读写操作,当我点击了〈初始化〉以后再点击〈连接Mifare卡〉文本框里出现 读取失败 ,我想问下这是什么原因呢?非常谢谢!

    1. 卡片不是标准卡就有可能出现这种情况

  10. toosimple toosimple

    很好奇博主是被哪个部门约谈了 再有就是博主的不怕因为淘宝店再被查水表吗?

  11. jack jack

    请问我在破解M1卡的时候点击开始破解,刚开始可以,过了几秒钟提示无法连接NFC读卡器 这该怎么办?

  12. Ks Ks

    博主能否给一下ACR122U的购买地址?还有软件。谢谢
    另外,如果不用带有NFC的手机可不可以完成破解?

  13. 乔杰 乔杰

    请问改完的ddomp文件要怎么用电脑写进卡里呢?非常困扰,望大大解答。谢谢

  14. 你好博主,我想要知道这篇文章中提到 将密码导入MCT中,是否必须要用到手机的MCT,电脑用122U可不可以修改数据,因为我的手机有NFC但是芯片不支持M1卡的协议。

    1. Raisy Raisy

      亲爱的博主你好 ,我的ACS CCID driver 点击安装的时候提示不支持平台,我想问一下这个ccid 安装不上会有什么影响啊?非常谢谢您的帮助!来自Raisy.

    2. 可以

  15. 嗜血 嗜血

    破解程序提示,计算机丢失msvcp100.dll,尝试重新安装神马的,我下载了这个dll文件,放到系统文件夹里了,没有得到解决啊??

  16. simon1982 simon1982

    您好,请问破解不完全,有一个扇区始终无法破解,其余的都打钩了,会是什么原因引起的呢?

    1. 有可能是CPU卡兼容卡,所以就破解不了

      1. PTMaster PTMaster

        CPU兼容卡是怎么回事?只有某个或某种cpu可以读取是么?

        1. CPU兼容卡就是CPU卡但是建立成S50卡的结构兼容使用

  17. 闪亮闪亮 闪亮闪亮

    请问修改数据的话是通过手机端吗?同一类型卡片是否破解一次扇区密码就行了?这个密码对其他同种卡片通用还是每一张卡都得破解一次密码?谢谢!

    1. 电脑就好,看情况,一般同个地方的卡的密码都是一样的

  18. ALEX yuan ALEX yuan

    真的感觉博主很屌,高一小朋友。。。

  19. lovewin2k lovewin2k

    good

  20. KING KING

    厉害

Write a new comment