侦测卡 变色龙侦测卡 chameleon-Mini(迷你变色龙) (三)
本章,讲Proxmark 3
写本文的原因,是读书笔记的收藏!在读《无线电安全攻防大揭秘》--360独角兽安全团队 出品
Page15 > 第2章 > 第2.3节 > 第2.3.1小节
0.这些技术和项目,都是开源的一定要去看官方文档。
1.顺便某宝上找实物,需要的自理,找了一遍,一间优质店。传送门:https://proxmark3.taobao.com/
2.使用教程,最好方式看官方文档。本应该做个官方文档的解决和实操笔记。
价格不菲,苦于没有硬件,只好网上看的,优质的文章暂且收下,待有硬件时参考下。
----------------------------------------分隔线------------------------
具体使用:
就看 北京育英中学 的 高中小朋友是怎么玩的,他应该购买了,ChameleonMini、Proxmark 3。
小伙子有钱,拿着硬件就开干,我苦于没有硬件,如果某位客官有硬件,然后有技术问题时。
可找我私聊,进行全程技术远程指导,顺便学习下实物的操作。
小伙子应该是把他们学校的某个供水公司的,打水卡给折腾了一翻。
2.下为上面链接的具体内容备份,失联用。
WARNING!!! 本文具有相当的攻击性以及复现性,仅供技术参考与教学用途研究,切勿用于非法用途,参考此文进行犯罪的相关人员与本人无关。
——免责声明。参考刑法修正案:构成非法提供控制计算机信息系统的程序、工具罪,两罪量刑都是三年以下有期徒刑或者拘役,并处或者单处罚金,情节严重的,处三年以上七年以下有期徒刑,并处罚金。非法获取计算机信息系统数据罪
最近,在上次针对学校内IC卡分析结束之后,我这次针对某公司IC卡的储值IC卡进行了一次数据的分析整理。
在M1卡的16个扇区内的某一个扇区内的字段中存储着IC卡内的信息,例如使用时间、使用次数、Money等信息,想要修改卡内的信息就要将卡片内的记录数据导出,每个扇区第一个字段的16个字节是扇区的秘钥对,我们要是想要导出数据就要通过穷举的方法测试出秘钥对,只有知道秘钥对后才可以导出卡片内文件
此公司 还是针对IC卡做了一些必要的加密来保证安全,但是同样存在着一些问题:比如没有针对全扇区加密导致Nested authentication漏洞容易被利用,其次KeyA和KeyB中,KeyA的设置过于简单,容易被暴力破解。
设备:Proxmark 3
一、获取数据
上手过程按照国际惯例先扫了扫默认密码区,结果发现密码区防护做的相当的好,每个M1卡都有一个唯一的序列号,我们称为“UID”,是32位的,也就是4个字节。
注:其中每个data 数据区为一个“块”。这样我们可以计算一下:16b* 4(块)*16(扇区)=1024B 就是1K。
第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化锁死,不可更改。原来在实验室见过一个厂商代码没有锁死的M1 被我玩了好久。。。。。
在全扇区加密时,通常用前三个“块”(0,1,2号块)存放数据,用最后一个”块“(3号块)存放密码。
其中密码分为A密码和B密码:前6个字节存放A密码,中间4字节为控制字段,后6字节存放B密码。
图片4.png
· M1卡是典型的高频卡,工作频率为13.56MHz,一般调频(FM)收音机接收的广播频率在87MHz到108MHz之间。而我们常说的路由器工作在2.4GHZ中。这个时候注意一个小科普,很多人分不清5G路由和5GLTE。导致很多人认为5G路由就是5G通讯技术的路由,这里进行一个更正 .一般路由是工作在2.4GHZ 频段下面的通讯信号,而所谓的5G路由是工作频率在5.8GHZ下的路由器。而5GLTE指的是第五代通讯技术,而逆向工程最好的方法就是了解他的基础结构,我们来看一下M1卡的工作通讯机制
言归正传,来看看M1卡的通讯通信速率:106KBPS,也就是说可以在10毫秒的时间内完成读写内容。
工作半径:100mm。大约在100mm以内的距离,可以使用读卡器对m1卡进行操作(一般写距离小于读距离)。
在使用proxmark3对M1卡进行破解时 ,我先用了默认密码扫描,结果发现卡的安全是很好的,没有默认密码
于是使用了有卡嗅探,网上很多人都在用proxmark3去暴力破解或者RPNG漏洞利用,对于proxmark3来说真的是大材小用。Proxmark3可以通过抓取卡与读卡器之间的通讯来解开相应的密码
破解中间我们可以看下M1卡的通讯工作流程图以更加好的了解工作原理:
图片12.png
这一过程比较简单,受益于Proxmark3的强大功能,通过PRNG和其他扇区的默认密码,很快就得出了全部扇区的数据,其中只有5扇区有数据存在。
ATQA : 00 04
UID : 01 02 03 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
第五扇区:
B9 27 00 00 46 D8 FF FF B9 27 00 00 14 EB 14 EB
B9 27 00 00 46 D8 FF FF B9 27 00 00 14 EB 14 EB
52 27 00 5A AA 16 01 00 32 27 00 00 14 EB 14 EB
32 21 80 12 34 56 FF 07 80 69 70 50 02 02 21 60
此时金额为101元
二、数据分析
这一般是最漫长的步骤,同样也是最烧脑的步骤。
这里我拿着水卡进行了多次消费,分别记录下每次的金额信息并进行对比
通过对比我们发现,在第五扇区标记处发生了变化,这里一开始还对我造成了误导。因为如果只看上图,仅仅计算标红的数字是不能得出结果的,经过多次实验,我发现第二位应该有所不同。
如果把这两位一起看,那么结果自然就出来了。
这张卡的金额是98.30元。我们将十六进制的66 26 取倒序再转换为10进制,正好就得到了以分为单位的价格值,而中间的99D9正是6626按位取反后的结果(校验位)。
三、测试
我们尝试改变一下卡内金额,将66 26改为 AF 99(十进制:39343),也就是393.43元。
测试成功
四、总结
经过这次分析,我们发现一些现在仍在广泛使用的IC卡 Mifare经典芯片(简称MI芯片) 存在着不小的安全隐患,同样在密码的设置上一些公司并没有深思熟虑。
2009年,工业和信息部发布了《关于做好应对部分IC卡出现严重安全漏洞工作的通知》,要求各地各机关和部门开展对IC卡使用情况的调查及应对工作。主要应用于IC卡系统的MI芯片的安全算法已遭到破解!目前全国170个城市的约 1.4亿张应用此技术的IC卡也都将面临巨大的安全隐患。
对此的解决方案也有很多种,最好的就是更换CPU卡,此类卡片目前还没有破解方法。并且可以不把卡片内作为金额的存储区,而是存储在远程服务器,M1卡只存储卡号,这样就避免了金额被篡改的风险。
在此提醒各位想要对IC卡动手的朋友:勿贪图小利,勿非法使用,遵守法律法规