本文只作技术交流分享研究之用,请勿用于非法用途,否则后果自负。
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,应该是在进行验证漏洞攻击。放了一个晚上,最后啥也没出来
3.PN532
就是这个可爱想X精致小巧的模块
PL-2303的RX对PN532的TX,TX对RX
既然是小白,那就先试试用傻瓜软件破解
一直在尝试...和ACR122的软件一样
最后弹窗提示失败
于是试试看mfoc和mfcuk
Card is not vulnerable to nested attack
于是也失败了......
不甘心啊,毕竟也投入了一百多块呢,深受沉没成本之害的我开始试着了解传说中的pm3
4.Proxmark3
看到tb介绍图上的软件有专门给4k卡破解的页面,嗯,真香
入手了pm3和变色龙一体的版本,多买个设备多一点希望hhhhh
联系卖家注册他的软件,不过这个用户放在别的电脑上就没法登录了,不懂为什么一个用户只能给一台电脑使用
读取到卡片当然是先试试一键破解啦
第一步很快把各个默认密匙扫出来,接下来开始验证漏洞攻击
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扇区是和洗澡水卡有很大关系了
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卡破解中最刺激有意思的一项(#滑稽)
水卡数据分析