PRNG漏洞,是国外的安全研究人员发现,Mifare Classic采用的是Crypto-1私有加密算法,器算法的特点就是对称式的密码算法或者说是私钥密码系统。其主要组成部分是伪随机数发生器(PRNG)、48位的线性反馈移位寄存器(LFSR)以及非线性函数。由于算法中的Filter函数的设计出现缺陷,导致变线性反馈移位寄存器的后8位数值就有可能得到所对应的Keystream。这个缺陷类似于802.11b WEP算法,不同的明文有极高的可能性呗相同的Keystream,是的整个加密算法出现了漏洞
找到有效密钥 ffffffffffff
b. 默认密码扫描Test Block Keys
c. 嗅探和d. 模拟都需要去现场,获取卡片或者天线 和读卡器之间通讯数据,分析数据得到密钥,比较麻烦笔者也未尝试,一般是前两种方法无法得到密钥的前提下才去现场嗅探
第三步:用已知扇区密钥求所有扇区密钥
利用嵌套认证MFOC漏洞,使用任何一个扇区的已知密钥(在第二步中获得)攻击,获取其它所有扇区的密钥,发送指令:
l hf mf nested 1 0 A FFFFFFFFFFFF t
其中“FFFFFFFFFFFF”是第二步中找到的有效密钥,“t”表示将找到的密钥导入仿真器内存中
res列全是 1 表示所有扇区密钥已找到
打印密钥,确认密钥已存入内存,发送指令:
hf mf ekeyprn
第四步:读出卡片所有数据
第三步中解密出的所有扇区密钥已保存在仿真器内存中
通过密钥将卡片数据读出,也保存在仿真器内存中,发送指令:
hf mf ecfill A 1
最后将仿真器内存中的卡片数据保存位文件TestData.eml,发送指令:
hf mf esave 1 TestData
打开TestData.eml文件,可以看到所有扇区的数据都成功读取
加密卡复制
加密卡解密得到密钥,所有扇区的数据也可以读取出来,有了数据就可以复制到新IC卡中,笔者所在小区物业办张新卡需要￥30,笔者表示不服,自己解密复制卡的成本就几块钱
将数据写入卡中有两种方法:用Proxmark3写卡 或者 用手机MCT应用写卡
Proxmark3写卡
写UID卡:
准备一张UID卡,读取卡