本文只作技术交流分享研究之用,请勿用于非法用途,否则后果自负。
0.开端
高中一次偶然原因,在网上看到IC卡的破解文章,发现看操作流程很简单,成本也不是很高。
但是用到的ACR122虽然一百多,但是高中那时候也不忍心花钱啊,再加上仔细观察高中饭卡的刷卡机后发现每台机器都接有两根线,果断放弃对联网卡的破解
于是这事就这么过去了.....
大学的校园卡正好集成了出门卡、饭卡、洗澡热水卡和开水卡的功能,热水卡只有一根电源线,理论上这玩意是不会通过电力线向服务器传输数据的,为啥不试着了解一下RFID呢?说干就干
1.前期成本
手机没有nfc功能,没法只用一个app就能做到简单的读卡(当然后来的事证明就算有也没用= =)
于是乎就在万能的tb买了一台ACR122,搜集资料过程中还看到了有人用到PN532,看着三十块钱一起也买了。据说PN532功能和ACR122几乎差不多,又有点后悔先买了ACR122.....
2.ACR122
首先试试ACR122,用win10自动安装的驱动破解会出现闪退还是什么的问题的,于是向卖家要了SDK装上进行第一次破解尝试
读卡发现是MIFARE Classic 4K卡,即S70卡
很快除了02扇区的A B key、08 09 10扇区的A key都打上勾了,应该是很快就匹配到密码了,然后开始闪方框破解
但是!下面一直在试可能的Key,应该是在进行验证漏洞攻击。放了一个晚上,最后啥也没出来
M1卡服务程序3.PN532
就是这个可爱想X精致小巧的模块
PL-2303的RX对PN532的TX,TX对RX
PN532和PL-2303既然是小白,那就先试试用傻瓜软件破解
一直在尝试...和ACR122的软件一样
最后弹窗提示失败
PN532工具于是试试看mfoc和mfcuk
mfocCard is not vulnerable to nested attack
于是也失败了......
不甘心啊,毕竟也投入了一百多块呢,深受沉没成本之害的我开始试着了解传说中的pm3
4.Proxmark3
看到tb介绍图上的软件有专门给4k卡破解的页面,嗯,真香
入手了pm3和变色龙一体的版本,多买个设备多一点希望hhhhh
Proxmark3联系卖家注册他的软件,不过这个用户放在别的电脑上就没法登录了,不懂为什么一个用户只能给一台电脑使用
读取到卡片当然是先试试一键破解啦
读IC卡类型第一步很快把各个默认密匙扫出来,接下来开始验证漏洞攻击
Tag isn't vulnerable to Nested Attack (PRNG is not predictable).
上面简单方法都失败了,程序会自动进行hardnested破解
等那个时间数字越来越小,嗯。。
竟然!破解出来了!
pm3有时会出现玄学问题,破解08扇区密码的时候一直在循环nand,于是重新接上再来一遍破解
数据读取成功5.第一次尝试复制卡片
先保存dump防崩,然后试着往买的S70卡里写入
写入失败无法写入???我还是特地买的正版S70卡啊
于是先补一补知识
M1卡菲利浦下属子公司恩智浦出品的芯片缩写,全称为NXP Mifare1系列,符合ISO14443A标准,有S50及S70等等,最常见的还是S50卡
M1 S50卡分为16个扇区,每个扇区分为4个块(块0-块3),共64块,编号为0-63。第0扇区的第0块用于存放厂商代码,已经固化无法更改。其余区的第0-2块用于存放数据,块3为控制块用于存放密码A、存取控制、密码B
正版Mifare1的0扇区0块是无法写入的 -_-||
而用来复制的M1卡分为UID,CUID,FUID,UFUID等等
·UID卡(GEN1) 所有区块可重复读写,用后门指令可更改ID
·CUID卡(GEN2) 所有区块可重复读写,用普通写指令可更改ID,但是不响应后门指令
·FUID卡(GEN3) 0区块仅可写入一次,使用普通写指令更改ID,锁定后无法更改
pm3读校园卡IC卡类型的时候有一条:
Answers to magic commands: NO
如果放上UID卡读取是这样的:
Answers to magic commands (GEN 1a): YES
有的读卡器可以根据UID响应后门指令的特性判断是不是复制卡,CUID在这一点上比UID更不容易被识别,而FUID锁定后就成了普通的M1卡,不会被反克隆识别到。
6.第二次尝试复制卡片
tb上有S70的CUID卡卖,但是先不急着买,试试能不能给S50卡写入一些数据
02扇区无法写入???为什么02扇区没法写入???难道学校还用了什么黑科技加密方法吗?
此时抱着试试看的心态去热水机上刷卡只能显示当前时间,没有任何反应,看来02扇区是和洗澡水卡有很大关系了
7.试试变色龙?
买都买了,不如试试。
将TAG1写入校园卡的dump模拟成校园卡,TAG2设好ID作为嗅探卡
变色龙界面去刷TAG1原本还能显示一下时间,后来完全没反应了
根据卖家给的一份资料中发现:各别读头瞬间验证两个以上的扇区,速度过快,变色龙反应不过来,会造成识别不到
再来看看TAG2有没有偷到一些有用的信息
2扇区读出的信息和pm3破解的密码、数据完全不同啊
13扇区明明破解出来是使用默认密码的空扇区 -_-||
8.第三次尝试复制卡片
拿着复制的半成品CUID卡顺路去楼下的开水机刷了一下,竟然出水了!
说明开水卡数据和2扇区无关,应该在8 9或10扇区内
并且将S70的前64块数据写入S50卡,是可以能正常使用的。
冷静下来大胆猜测一下
/以下仅为猜测 ↓
写入卡需要被写入卡的密码,即CUID白卡的密码(默认AB都为 FFFFFFFFFFFF)
而刚刚写入的时候是按照之前读取出来的校园卡密码写入的,02扇区的A B密码都不匹配,无法写入/
根据控制位FF078069,得出4个块的权限为0001
数据块012的权限为000,keyA或keyB都可读可写
块3为001,keyA任何时候不可读,可以通过AB写
参考资料:https://www.cnblogs.com/zhupengfei/p/8983666.html
校园卡的08 09 10扇区的B密码为FFFFFFFFFFFF,和CUID的B密码匹配,即使A密码不正确也可以写入
于是读取空白密码再一次试着往CUID卡写入,很顺利
写卡完成拿去刷卡,一切顺利地出水了
9.复制完成
感觉被自己蠢到了.....
A.下期
以复制为最终目的的都是向钱看的行为,我们不应满足于复制卡,分析数据的过程才是IC卡破解中最刺激有意思的一项(#滑稽)
网友评论