记一次破解校园门禁的经验和所学

先介绍下背景,楼主是一名普通双非院校的大学生,有幸分宿舍分到全校档次较高的那几栋 :partying_face:,有独立卫浴、上床下桌以及智能门锁。门锁是刷一卡通录入的,进出都需要刷卡,较为不便,于是便萌生了用手机模拟NFC的想法。

楼主所用手机为小米11,也更新到了澎湃OS,但反复尝试录入一卡通后,发现门锁并不会响应,百思不得其解 :face_with_monocle:。于是花了一点功夫详细学习了一些关于门禁卡的知识,最终解决了这个问题 :sunglasses:,也顺便在此总结经验分享给佬友。

常见卡类型

目前我们接触到的门禁卡、电梯卡、水卡等等,基本上可以分为两大类,ID卡与IC卡。

ID卡与IC卡的区别

ID卡全称「Identification Card」,即「身份识别卡」,容量有限,故只能存储卡号,理论上也不可重复擦写,且安全性很差,现在淘宝就可以买到可以更改卡号的白卡。目前已经不是主流方案,下文也不做介绍。因为卡自身无存储的原因,卡片持有者的权限、功能完全依赖于联网系统,优势在于卡和读卡器便宜。此外ID卡多使用低频通讯(125Khz)。

IC卡全称「Integrated Circuit Card」,即「集成电路卡」,带存储器,数据可以分区,可以加密。IC卡所记录内容可反复擦写,甚至带微处理器CPU,即所谓的CPU卡。由于卡自身可以记录卡号、用户资料、权限、消费余额等信息,故可脱离联网系统。多使用高频(13.56MHz)。

如何分辨ID卡与IC卡

IC卡主要类型

:one: M0卡(Mifare UltraLight 卡):高频低成本卡,出厂固化 UID,可存储修改数据(例:地铁卡,公交卡),等同于M1卡的精简版,容量和功能都大打折扣。

:two: M1卡(MIFARE Classic 卡):别称有Mifare Standard,Mifare S50,Mifare S70,MF1等,也是最普遍、出货量最大的一种(例:学生卡,饭卡,门禁卡)。

:rocket: :rocket: :rocket: 判断是M0卡还是M1卡,可以通过SAK值。

:three: CPU卡:顾名思义,内置微处理器和随机数发生器,搭载COS片上操作系统,广泛用于金融领域,比如常见的银行卡。同时随着M1卡漏洞层出不穷,CPU卡也会逐步取代成为未来。对于咱们来说不算得好消息,因为破解CPU卡犹如天方夜谭,顶多通过复制UID到手环或者白卡里面,使用部分门禁功能。

:four: CPU模拟卡:CPU模拟卡由CPU部分7K以及M1部分1K组成。

CPU模拟卡目前只能破解其中M1部分,CPU区域数据目前依旧是没有破解的可能,其M1部分破解出来以后,如果扇区内有数据,可以尝试将数据写入到UID卡中,然后测试UID卡是否可以使用电梯,根据目前的情况来说90%的CPU模拟卡数据复制到UID中无法使用电梯,仅仅能打开门禁。

这种情况就说明,这张CPU模拟卡一定有CPU的交互,可能有M1部分的交互。早期部分小区破解了CPU模拟卡以后,可以复制到UID进行使用,其原因是因为物业没有启用CPU部分,将CPU模拟卡当M1卡使用,另一种是早期电梯不会同时检测CPU交互和M1交互,检测到M1部分有交互电梯就可以运行。

:rocket: :rocket: :rocket: 以上四种为正规卡,下面出现的都是用于破解复制的非正规卡。

:one: UID卡(Mifare UID Chinese magic card):国人发明,国外称「中国魔术卡」,0扇区可以随意修改,达到模拟原卡的能力,但现在许多读卡系统可以通过检测是否回应后门指令,来屏蔽它,即「UID防火墙系统」。

:two: CUID卡:是UID卡的升级版,区别在于UID卡是通过指令修改0扇区,CUID使用的是常规密码验证的方法写0扇区,不响应后门指令(magic指令),故不会被检测出。

:three: FUID卡:同样是对UID卡的升级,但是相较于CUID只能写一次,FUID卡写完自动固化UID所在分区,就等同M1卡,但是一旦写错卡就彻底报废。

:four: UFUID卡:FUID的再升级版,可以手动固化(锁卡),此外同时具有上述一切优点。

:five: GUID卡:专门应对滚动数据的复制卡。

:crazy_face: :crazy_face: 此外淘宝还售卖一些冷门的类型卡,比方KUID卡、SUID卡、NUIC卡等等,虽然介绍很牛逼,但是几乎没看过有教程提到。

:banana: :banana: 其实这些卡还可以分为接触式与非接触式(感应式),区别在于是否露出金属触点,如下图:

:apple: :apple: 对于非接触卡,内部环卡一周有金属线圈,如果卡断了,就无法读卡了。但像银行卡,兼具芯片与线圈,粘起来还是可以用ATM来取钱的,只是无法刷卡付款。

IC卡破解的原理

标准 Mifare 1 卡的 EEPROM 被划分为 16 个扇区(Sectors),其中每个扇区由 4 个数据块(Blocks)组成,每个数据拥有 16 个字节(Bytes):

这里只介绍与我们复制门禁相关的0扇区,其中存放着卡号与厂商信息,卡号异或值可以通过前8位卡号计算得到:

所有扇区的第3块都存放两个密钥,keyA和keyB,默认值为12个F或0,转换为二进制为48个1或者0。中间为控制码,默认值为 FF078069 ,即只读取验证A密码,常见还有 08778F69,即A密码可见可读,B密码不可见可写。对于M1卡的读写都需要A密码或B密码。于M1卡的结构及读取权限特点,M1卡又可以分为非加密半加密全加密三种类型。不过这已经不重要了,M1卡的加密逻辑早已被公开,所以所有的M1加密卡都可以被破解。

破解门禁主要就是复制0扇区的内容,下面开始正式动手。

一、查卡类型

这里可以下载APP:Mifare Classic Tool,亦可用下文所提专业设备。如图,SAK值为28,属于CPU模拟卡,也是楼主所在学校一卡通的类型。这种卡有两个数据存储区,CPU区和M1区。SAK08则是普通M1卡;SAK20是纯CPU卡,无解 :rofl: :rofl:

二、解卡内容

准备的硬件有 Type-C 数据线、电脑、手机、PCR532 或者 PM3(Proxmark3)等读卡器设备,这些在 PDD 或者某宝搜索关键词就可以购得,花样繁多,选个便宜的即可,当然有需求也可以上变色龙、熊猫PN2这些高级货。

这里楼主以 PCR532 配套软件(下载地址)为例,将读卡器连接到笔记本后,打开软件:arrow_right:选择端口:arrow_right:安装驱动:arrow_right:开始解卡。

:fire: :fire: :fire: 端口不清楚的可以在「设备管理器」中查看:)

image

读得数据后将CUID卡贴或者水滴卡放置于NFC感应区,「一键写卡」就行了,没有任何难度。

在手机端的操作(借用酷友的图):

首先安装并且打开PCR532软件,然后手机连接PCR532设备,连接顺序是手机插OTG转接头,然后通过数据线连接到PCR532设备,第一次连接会提示认证设备,认证后,软件会发现设备,点击选择设备连接,连接成功来到功能界面。

点击“一键读写”功能后,会弹出这个窗口“OTG转串口”,点击弹出的窗口,这里提示设备“初始化成功”就表示连接成功,设备可以正常使用。

点击之后,它会询问“是否编辑数据”,因为我是直接复制门禁卡,所以不需要编辑,点击“否”,接下来把cuid卡换上去,点击“一键写卡”功能。

最后提示“64 of 64”,“-----结束-----”就代表写卡完成,卡片已经复制好了。

三、写卡数据

读到这里,大家可能会问,楼主的宿舍门锁只检查0扇区,为什么不直接用手机自带NFC呢?确实,室友的华为、VIVO机型都可以直接复制,但小米不行。原因在于0区块后16位的厂商码,一般门禁系统不校验这里,但是楼主学校恰恰加了这么一道坎。 :triumph: :triumph: :triumph:

通过Google查阅,也有前人遇到相同问题,以下来自 V2EX 的解释:

也看到有说最新的小米14已经支持写入厂商代码,做到完美复制,但是楼主木有。。。

于是楼主做了一些变通,使用CUID卡贴附在手机背面,也算取巧了。。。 :woozy_face:

:star_struck: :star_struck: :star_struck: CUID卡贴一张成本也就在 ¥1.5 ~ 2.0 之间,支持定制图案,效果也不错。建议尽量选直径大一些的,线圈越大识别灵敏度越高。

四、进阶玩法

:one: 用小米手环模拟CUID卡中的数据,也就是将CUID白卡作为一个「中转/空壳」,避免手环自身出于 “安全” 原因 只提供模拟非加密门禁卡的功能(就是全卡都是默认密码FFFFFFFF) ,实现手环刷门禁。

:two: 利用NFC戒指实现刷门禁、刷电梯,类似原理,如图:

五、扩展阅读

:one: iPhone 手机实现 NFC 刷门禁:

最后,iPhone 也可以尝试到物业写卡。不过由于物业的态度各不相同(有的物业工作人员不是不愿意给你加,而是他本来就不会),不太推荐这种方式。操作成功后就能像刷交通卡一样,用手机刷门禁解锁以及按电梯。 具体操作方式是,钱包里创建一张交通卡,然后带着这张卡去物业,让物业把这张卡读写进门禁管理系统(没错,是把你的卡添加到系统而不是让系统给你写卡)。 iPhone 交通卡添加到物业的管理系统这一步,其实就是把你的卡信息添加进去,只读取、不修改。

:two: 门禁卡延期、破解电梯卡滚动码、改楼层号等:

梯控、IC卡滚动码防复制原理和破解

滚动码的破解方法

指路该领域的某专业论坛,52梯控论坛 :clap: :clap: :clap:

结束语

哈哈哈哈哈哈哈,终于码完了 :melting_face:,很开心 :sunglasses:。其实本文里真正动手操作的步骤没多少,只是楼主想借此机会学一些新东西,毕竟生命的意义就在于折腾不止呀 :innocent:。在此向文中引用的部分的作者致谢,是站在你们的肩膀上我才能写出这篇心得,同时受限于硬件条件,本文也引用了不少其他教程中的图片,也同时向作者们表达谢意 :saluting_face:。附上一部分参考文章链接,如有纰漏还请见谅,也请佬友对本文不吝赐教、指正错误 :hearts:

参考链接:

RFID第一期——各种IC卡和ID卡详解
门禁卡有什么可折腾的 - 到手机、卡包、手环
IC卡、ID卡、CPU卡、RFID和NFC的区别
NFC、 RFID还有 IC、 ID卡这些都是什么(科普向)中
CPU模拟卡简单介绍
[原创]记一次分析CPU卡的经过
如何只用手机将饭卡/水卡等卡片模拟进手环/手机呢

356 个赞

太强了!! 不过佬你可千万别沾那些跟金额相关的破解 不开玩笑 同学校破解了水卡有去派出所的….

14 个赞

确实找到了这方面的文章,但是谁敢拿自己前途去赌呢 ?:scream: :scream: :scream:

10 个赞

好文,收藏了!
我的是18位卡号那种,手机复制不了,没有读卡器,只好在tb上用卡号复制了一张,也是贴在手机后面 :joy:

6 个赞

感谢教程,暂时用不上,先mark

3 个赞

不错 :+1:学习学习,万一公司倒闭了我就开卡店

3 个赞

好东西,怪不得我的小米解不了宿舍门禁:disappointed_relieved:

4 个赞

强得可怕

兴趣是最好的老师

6 个赞

真的很详细 点赞:+1:

3 个赞

可入驻精华神帖

1 个赞

可惜我们的门禁是cpu卡

谢谢总结,写这种长文是真考验耐心 :tieba_025:

关于零扇区,我记得有人发现新的小米手环有办法修改,记不太清了有兴趣可以 b 站搜搜看

2 个赞

感谢大佬分享

楼主码字辛苦了,我也学习到了一些知识

感谢大佬分享

4 个赞

感谢佬的分享

有用,准备把公司的卡也搞一下

厉害啊!学习一下

感谢分享(^:pray:^)佬友太强了

2 个赞