前情提要
工作中常会用到单位的门禁卡,但是由于仅此一张,又是加密卡无法直接用手机复制,于是托大佬搞来了读卡器和变色龙(Chameleon Mini pm8)。
那就搞搞首要任务吧,复制复制这张加密卡!
啥都不会 先学理论
变色龙
变色龙侦测卡,也称为Chameleon Mini,是一个开源产品,其大小稍大于一般的信用卡。这款侦测卡的主要功能是模拟被动NFC设备和非接触式IC卡,充当有源NFC设备如RFID读取器,以及嗅探和登录通信。它可以完全复制许多商业非接触式智能卡包括UID卡在内的全部内容,因此常用于测试RFID和NFC设备在各种攻击环境下的安全性。
读卡器
这个就不用多说了,就是读卡号,写卡,格式化卡,改卡
各种相关的卡片
ID卡
ID卡没有算法,不可写入数据,其ID出厂一次性写入,应用人员只可读出卡号加以利用 ,ID卡容易复制,安全性较低。
IC卡
IC卡是智能卡的总称, IC卡带有存储器可读写,普通的IC卡也叫储存器卡、逻辑加密卡。IC卡数据的读取,写入均相应的密码认证, 数据可以分区,不同区用于不同的功能,可以有不同的密码保护。IC卡所记录内容可反复擦写,分为接触式和非接触式IC卡。
看着有点麻烦,再看看
CPU卡
没有下手的可能
算法
相关算法有很多,但是引起大佬注意的不多
滚动码
每次进行正确的刷卡行为都会改动卡片本身数据;倘若系统检测到卡片数据有误,做人的系统就会禁止这次行为;不做人的系统就会拉黑这张卡,也就是说除非联系管理员,否则就会得到一张废卡
这个是最大的威胁,开始我以为是是要接触读卡机就会改变数据,后来发现是只有和终端正确响应才能能够进行数据交互
挑战响应机制
有点复杂看不太懂
上手实操(相当简单)
- 读卡器读原卡号导入变色龙
- 变色龙解码拿到解密文件
- 导入解密文件开始解码
- 解码完得到dump文件
(以上可以复制完了,接下来是导入手机)
5. 手机复制卡号(由于机制保密问题,手机一旦识别到加密区就会自动停止复制,可能在root机型上可以复制,但未探究)
6. 然后将手机放在读卡器上导入dump文件进行m1写卡
出现的问题及反思
1. 变色龙的使用
变色龙的嗅探功能:
随便都可以进行嗅探,可以不用提前导入卡号,就可以得到设备的加密方式(字符串),但是返回解码的密码并不能够对原卡进行解码。本次样本中正确的密码应该是原卡卡号+加密方式(字符串)。
变色龙的模拟功能
需要导入dump文件,并且可以导入多达8个,可以模拟各种卡,并且可以对卡文件进行随意改动而不会影响硬件。
变色龙的随机卡号功能
random UID可以随机模拟卡号,按一下变一下
其他
然而事实上变色龙并不能取代读卡器的功能,也就是说变色龙不能够单独使用
2. 卡片
- 读卡后一声为低频卡(ID)
- 读卡后两声为高频卡(除了ID卡的其他卡)
- 大佬介绍存在一种卡读卡的时候完全没有反应
- UID卡手动改动0扇区卡号后读卡的时候也完全没反应,也就是说正常使用UID卡不能够手动改变0扇区,但是却可以导入dump文件对卡号进行修改,相当奇怪。
3. Dump文件
dump文件采用16进制的编码形式
解码后导入dump文件重新写卡得到的也是加密卡
dump文件中初始六位为卡号,会等同于某一特定扇区的初始6位
4. 进一步探究
- 我们发现刷卡到开门只需要不到一秒的时间,但是即使我们通过嗅探得到的秘钥在解码时电脑上了性能模式,也足足解码了17分钟。那么基本可以断定在进行交互的时候,门禁终端并没有解码所有扇区,而是仅仅解码某一特定扇区。
- 原卡中的某一特定扇区中有明确的工号,而在工号的前面是有字符串转十六进制的八位字符。但是在后边控制变量的时候,我们发现只有工号和卡号有用,其余部分没有作用。
- 0扇区和这个特定扇区卡号必须一致,否则就会导致无法读卡。
- 通过单位内部人员名单发现工号位数一直形式相似,基本可以判断这个区块的判断方式就是工号。
- 单位内的工号分为人员工号和部门工号
- 如果只改变工号,在特定的部门里会显示“未授权”,然而更多的部门会显示“数据错误”。
- 所有设备嗅探得到的加密方式完全一致
5. 小遗憾
- 在发现工号和卡上内容的联系后,我们就萌生了有工号刷遍全单位的想法,然而随着进一步探究基本确定了卡号和工号的绑定。然后由于样本有限,我们无法推断两者间的加密方式或者是随机发卡模式。
- 未能搞清楚门禁系统返回“未授权”,“数据错误”的具体原因。猜测系统分为两步验证:
- 首先验证卡号是否授权,否,返回“未授权”;
- 是,进一步检验卡号,返回“数据错误”。
特别鸣谢
感谢大佬在这次行动中全程带我起飞,但由于不可抗力因素,无法实名感谢🌹