你有看见我弄丢了的那只喵吗

破解某财任意接触式卡片小记

BIGGER SLY 3142℃ 0评论

本文方法笔者在13年业已掌握,但拘于社会危害过高,拒绝公布细节。现在为了推动社会特别是银行、服务业从射频卡向相对更安全的芯片卡过度,特地公布技术细节。

射频IC卡种类繁多,标准也繁多,这些不在介绍范围内,但是以下攻击介绍的原理类似,下面不特别说明就是指的M1 S50卡,这也是目前广泛使用的,并且大家做测试时最常见的IC卡。但是其他卡片也是可以被PM3神器所破解,就我个人而言,在本地99.9%的接触卡都是可以被攻克的。

常见的破解方法:

IC 卡 (S50) 分为16个扇区(0-15),每个扇区又分为4个区域块(0-63), 每个扇区都有独立的一对密码keyA和keyB(先记着独立两个字,后面要思考问题)负责控制对每个扇区数据的读写操作,keyA和keyB分布在每个扇区的第四块中,第0扇区的第一个数据块,存储着IC卡的UID号(想成身份证号),其他扇区可以存储其他的数据,如钱等数据。

一般IC卡的UID是唯一的也是写死的不能更改,其他块的数据是可以更改的,所以也就有了普通IC空白卡以及UID可写空白卡(可以认为是不遵守规范的商家制作的)。

IC卡密码破解的几种方法:

1)  使用默认的密码攻击

2)  nested authentication 攻击(大家常说的验证漏洞攻击)

3)  darkside攻击

4)  正常验证过程获得key

5)  另一个方面

以上为方法论,现在来实际操作。

硬件:acr112u读写器一台

软件:mfocgui acr112u驱动 copycard的软件 winhex fixdump

操作很简单,所以危害不被重视是不太好的。

先上一张的图

20135201413346840442

卡放上去会嘟一下,USB插上笔记本后,安装好驱动。没有百度之。

本次受害者是母校的洗衣卡,记得当时改的记录是FF FE 最大值655.34

7523ba12cf8642f9e0b4b2069b95090a_b

 

而之所以不是FF FF是因为差校验,这个稍后讲。

IMG_20150330_232918

现在只能用钥匙扣来做演示了。

将洗衣卡放上后连接成功后直接用mfocgui 连接之

记得要选打钩dump to file 选择桌面就好

QQ拼音截图未命名

 

密钥一共两组每组八个,共十六个,但是一般对称分布。

按照设计原理来说是无法破解的,但是。。。设计人员很傻比的用了默认key。

我们点了read data 成功读出14个密钥,(图暂时没找到)但是还没有傻逼到那种程度,修改了两对默认KEY 看来那个程序猿还是吃了不少香蕉的。两对无法读出,而因为密钥不匹配时不可以进行读取消息的,此时读卡器处于红灯状态。

这就算这张卡给我们设的第一道屏障。

我们来回顾我们上文的破解方式,不是还有一个M1卡致命确定我们没有利用呢,就是已知密码的扇区间和未知密码扇区间通信时可以不被打断,那么我们继续让mfocgui来发挥作用,采用nested authentication攻击,虽然时间比较长,我记得水卡我是破了二十分钟,喝了一杯咖啡加vodka。。。。

QQ拼音截图未命名

 

dump的源文件是以时间命名,我们打开到winhex来看看是什么样子

1

 

可以看到是1KB的数据,我用红框标明就是这张洗衣卡的UID就像每张卡的身份证,后面链接的都是16进制代码。但是拿到卡上的数据还是不可以直接写入新卡,需要fix填充,这算是设置的第二道屏障为了节约时间,我就不用手动填充,直接用fixdump一下。如图用cmd打开fixdump

3

然后直接用copycard 一个写入白卡就好,这就算复制一张同样的卡。但是我的目的不仅仅于此,我还希望研究清楚卡的数据校验加密,也就是熟话说为了防止他人修改数据该加入的校验。也就是这张卡的核心:第三道屏障。

但实际上也还是比较简单,虽然验算草稿就花了一张A4的纸。但是某财的内加密方式找到了,卡分为两批,一种我命名为和校验一种为差校验,也就是讲个位十位和小数点后两位看成两组16进制数,也就是当我修改数据的时候,我的修改值也就是两者之差活或和必须要和校验桩相等,否则学校洗衣卡就报错。比如说我以上文的68.14 如果是和校验桩就应该是82 如果是差那么就是54 兑换成16进制写入即可。

写完了之后,和上一段一样,fix 后 write,非常简单

基本上洗澡卡 水卡都是一个尿性。最后说一段小插曲,在对某财饭卡破解的时候,本事想测试加100,结果。。。。结果就扣了我一百……果断怒斥后勤科,什么破玩意儿O(∩_∩)O哈哈~ 果断给我补了一百。。。。我好他喵的机智

最后总结一下,这种在1990年到2010年认为是私钥的各种近场卡片现在开始沦为公钥,无论是磁条卡 射频卡 都是一个尿性,其实我个人建议是这样,升级到芯片卡,或者联网数据库。这样可以稍微提高些难度。另外需要点名的是南昌卡片真垃圾,做的那么烂被破解了怪我咯。不过有点意思的是一张公交卡采用了异频策略,普通读卡器是不支持的,不过就用PM3来硬钢一下

T2XBfWXqJXXXXXXXXX_!!817724908

不过我先等他们普及先,我的关于芯片卡破解方式 以及联网数据的绕过就不说啦,小心被警察叔叔请去喝茶就不好了。

以上。

(PS:本文仅在致力于网络安全宣传,如用作非法用途,则与本人无关)

作者简介:

16岁仿OSASK自制操作系统

17岁某省NOIP一等

18岁自建论坛日活500

19岁半月取得CCNA认证

 

 

 

转载请注明:灯塔水母 » 破解某财任意接触式卡片小记

喜欢 (2)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址