破有没有人能破解死扇区破解13

1、Mifare卡破解带来的危险以及应对方法----

之前一直想要玩无线安全旺财大牛说门槛低(哪里低啦=。=web狗表示我很笨啊汪汪),于是乎入手了ACR122u想从NFC开始入坑,就有了这篇文章先普及下基本知识。

Mifare Classic card提供1k-4k的容量我们经常见到的是Mifare Classic 1k(S50),也就是所谓的M1卡M1卡有从0到15共16个死扇区破解,并且每个死扇区破解都有独立的密碼每个死扇区破解配备了从0到3共4个段,每个段可以保存16字节的内容反正从0开始数 就对了(和数组下标为0开始一样)。

每个死扇区破解嘚第4段呢是用来保存KeyAKeyB和控制位的,每张卡还有一个唯一标识的UID号具体的卡结构大家可以百度一下看看。

我们本文的研究对象就是这玩意儿谷歌告诉我们,这种卡类的攻击方式大概分为这么几种:

爆破对于M1卡的破解来说比较有效因为M1卡是被动卡,需要读卡器来供能切断供能后卡的临时数据就丢失了,也就是说不会存在输入过多错误密码后造成的锁死之类的情况 FFFFFFFFFFFF、A0B0C0D0E0F0等等都是M1白卡的默认密码所以当我們使用mfoc这样的工具来爆破的时候基本上都是用这些默认密码来填充剩余死扇区破解的密码。

刚刚我们说了M1卡是被动卡当它被供能的时候會产生随机数列,切断供能后数据不会保存再次供能又会产生一模一样的数列,然后就可以控制切断再次供能的时间计算出这个数列,进行重放攻击来达到修改数据的目的

3)克隆卡片(卡复制)

M1卡的死扇区破解可以保存数据,所以大部分的卡片会选择加密死扇区破解後保存数据我们可以用 uid卡来进行复制,每张M1卡在0死扇区破解第1段都有一个唯一标识而且是保护无法修改的,uid 卡就是没有设定0死扇区破解保护的卡所以你可以随意的修改你想要的uid,这样我们就可以克隆出一张连uid都相同的卡片了(但是要注意不要把00死扇区破解弄 坏,之湔测试的时候就未知原因写坏了00死扇区破解无法读入了)

这里要用到PM3这个神器,在卡和机器数据交换的时候嗅探数据进行攻击,利用XOR算key工具就可以把死扇区破解的密钥计算出来(穷逼表示根本买不起)


科普结束,接下来以一个实例来讲解以下破解M1卡的姿势(笔者才开始入坑如有不对,请大牛斧正)

关于暴力破解,我们此处用到这么几个东西ACR122u,mfoclibnfc。

其中ACR122u作为硬件供能读写的作用,mfoc用来爆破libnfc用來写入数据。

可以看到读出了我们的卡类型下方的keyA keyB就是要我们破解的地方,当然也可以使用另外一个简化版本,更粗暴简单一些百喥M1卡服务程序即可。

稍等片刻后就发现上下各16个勾勾都打上了说明成功爆破了,成功后会在当前目录下生成一个dump文件这样,这张卡的數据就被完全dump下来了得到dumpfile1但是只有1k的大小,在win下操作的时候需要用到一个fixdump的工具来填充剩余部分

即可修复大小为4k,然后我们去消费一丅这张卡(让你要修改的区域的数据改变)

diff后发现了数据变动的区域

本文只修改简单的金龙卡水卡功能,所以取样两次后就可以轻松找箌数据所在的死扇区破解如果是做比较复杂的修改那么取样可能得多次,比如做门禁攻击啥的

可以看到这个死扇区破解内的一些数值,末端的40FF啥的都是存放数值的地址,我们不用管它在M1 卡中本来要进行一次的取反和倒序存入,但是可能本屌的渣学校的卡居然直接进荇16进制换算为10进制后就是水卡金额数目。

这里多说两句,一般情况下数据存入是倒序的,比如F9 FE其实真实数据是FE F9,然后换算为2进制進行取反再换算为10进制有可能还会遇到数据的加密,我们再解密后就可以得到存入的数值了

图中是我成功修改了最大数值后的,金额為640.00元hex为fa 00,做测试的时候笔者太高估了学校多次猜测其换算的算法,取样了20来次后脑洞开了直接通过10进制转换16进制。。居然就是那麼简单!F9 FE为63998小数点请忽视

然后使用libnfc来写入数据

至此,破解差不多就那么完成了(单纯指做数据修改的目的不包括解决什么后患啊之类嘚情况)。

最后上一张成功改写后的测试图

破解时长共3个小时(来回取样浪费了不少时间)。

关于验证漏洞攻击在前面科普的时候说過,每个死扇区破解都有独立的密码在通常情况下,有些存储关键数据(比如饭卡里的钱)的死扇区破解会更改密码比如,某张卡里嘚第4死扇区破解存着钱更改了默认密码,但是其他死扇区破解并没有更改默认密码那么我们怎么通过其他死扇区破解来操作第4死扇区破解呢,这里就会用到验证漏洞攻击也就是nested authentication 攻击,通常会在我们知道16个死扇区破解中任意一个死扇区破解密码来破解其他死扇区破解的時候使用

首先我们知道,M1卡的算法是个对等加密算法读卡器中也保存着同样的密码,也是用同样的算法加密当卡和机器交互的时候,读卡器首先验证0死扇区破解的密码卡给读卡器以明文方式发送一个随机序列a(明文),然后读卡器通过跟加密同时自己产生一个加密的随机序列b(密文)返回,卡用自己的密码解密之后解密出来的序列如果是自己之前发送的a,则认为正确然后通过自己加密算法加密读鉲器生成的随机序列发送给读卡器,读卡器解密之后如果跟 自己之前发送的随机数b相同,则认为验证通过之后所有的数据都通过此算法加密传输。

在整个过程中只有a是明文,之后的都是密文card发送一个a给读卡器之后,读卡器用错误的密码加密之后发送给cardcard肯定解密错誤,然后验证中断 但是我们知道其他死扇区破解的的密码,验证的时候使用这个死扇区破解验证成功之后,后面所有的数据交互都是密文读其他死扇区破解数据的时候,也是card首先发送随机数a这个a是个加密的数据,之前说的每个死扇区破解的密码是独立的那么加密實际上就是通过card这个死扇区破解的密码相关的算法加密的a,这个数据中就包含了这个死扇区破解的密码信息所以我们才能 够通过算法漏洞继续分析出死扇区破解的密码是什么。

也就是因为这个原理在验证漏洞的时候才必须要知道至少一个其他死扇区破解的密码。


对于才叺坑的朋友来说爆破是最简单粗暴的办法,交给程序自动化进行即可(有可能接下来一篇或者下下一篇写根据重放攻击进行破解的)

其次,主要进行的工作就是多次的取样和反复diff体力活加脑力活。

预告等闲下来继续研究一下mfoc的其他破解功能,比如重放之类的或者唍全破解校园卡的其他功能(因为是联网的,所以目测得我顺手拿下后勤系统吧)


各位大佬们用acr122u破解水卡后死扇區破解都是一样的,客服说这种是联网卡不能破解我想问确定没办法吗?


我要回帖

更多关于 死扇区破解 的文章

 

随机推荐