banner
NEWS LETTER

关于NFC的一些探究

Scroll down

前情提要

工作中常会用到单位的门禁卡,但是由于仅此一张,又是加密卡无法直接用手机复制,于是托大佬搞来了读卡器和变色龙(Chameleon Mini pm8)。

那就搞搞首要任务吧,复制复制这张加密卡!

啥都不会 先学理论

变色龙

变色龙侦测卡,也称为Chameleon Mini,是一个开源产品,其大小稍大于一般的信用卡。这款侦测卡的主要功能是模拟被动NFC设备和非接触式IC卡,充当有源NFC设备如RFID读取器,以及嗅探和登录通信。它可以完全复制许多商业非接触式智能卡包括UID卡在内的全部内容,因此常用于测试RFID和NFC设备在各种攻击环境下的安全性。

读卡器

这个就不用多说了,就是读卡号,写卡,格式化卡,改卡

各种相关的卡片

ID卡

ID卡没有算法,不可写入数据,其ID出厂一次性写入,应用人员只可读出卡号加以利用 ,ID卡容易复制,安全性较低。

IC卡

IC卡是智能卡的总称, IC卡带有存储器可读写,普通的IC卡也叫储存器卡、逻辑加密卡。IC卡数据的读取,写入均相应的密码认证, 数据可以分区,不同区用于不同的功能,可以有不同的密码保护。IC卡所记录内容可反复擦写,分为接触式和非接触式IC卡。

看着有点麻烦,再看看

CPU卡

没有下手的可能

算法

相关算法有很多,但是引起大佬注意的不多

滚动码

每次进行正确的刷卡行为都会改动卡片本身数据;倘若系统检测到卡片数据有误,做人的系统就会禁止这次行为;不做人的系统就会拉黑这张卡,也就是说除非联系管理员,否则就会得到一张废卡

这个是最大的威胁,开始我以为是是要接触读卡机就会改变数据,后来发现是只有和终端正确响应才能能够进行数据交互

挑战响应机制

有点复杂看不太懂

知乎
CSDN

上手实操(相当简单)

  1. 读卡器读原卡号导入变色龙
  2. 变色龙解码拿到解密文件
  3. 导入解密文件开始解码
  4. 解码完得到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. 进一步探究

  1. 我们发现刷卡到开门只需要不到一秒的时间,但是即使我们通过嗅探得到的秘钥在解码时电脑上了性能模式,也足足解码了17分钟。那么基本可以断定在进行交互的时候,门禁终端并没有解码所有扇区,而是仅仅解码某一特定扇区。
  2. 原卡中的某一特定扇区中有明确的工号,而在工号的前面是有字符串转十六进制的八位字符。但是在后边控制变量的时候,我们发现只有工号和卡号有用,其余部分没有作用。
  3. 0扇区和这个特定扇区卡号必须一致,否则就会导致无法读卡。
  4. 通过单位内部人员名单发现工号位数一直形式相似,基本可以判断这个区块的判断方式就是工号。
  5. 单位内的工号分为人员工号和部门工号
  6. 如果只改变工号,在特定的部门里会显示“未授权”,然而更多的部门会显示“数据错误”。
  7. 所有设备嗅探得到的加密方式完全一致

5. 小遗憾

  1. 在发现工号和卡上内容的联系后,我们就萌生了有工号刷遍全单位的想法,然而随着进一步探究基本确定了卡号和工号的绑定。然后由于样本有限,我们无法推断两者间的加密方式或者是随机发卡模式。
  2. 未能搞清楚门禁系统返回“未授权”,“数据错误”的具体原因。猜测系统分为两步验证:
  • 首先验证卡号是否授权,否,返回“未授权”;
  • 是,进一步检验卡号,返回“数据错误”。

特别鸣谢

感谢大佬在这次行动中全程带我起飞,但由于不可抗力因素,无法实名感谢🌹

其他文章
目录导航 置顶
  1. 1. 前情提要
  2. 2. 啥都不会 先学理论
    1. 2.1. 变色龙
    2. 2.2. 读卡器
    3. 2.3. 各种相关的卡片
      1. 2.3.1. ID卡
      2. 2.3.2. IC卡
      3. 2.3.3. CPU卡
    4. 2.4. 算法
      1. 2.4.1. 滚动码
      2. 2.4.2. 挑战响应机制
  3. 3. 上手实操(相当简单)
  4. 4. 出现的问题及反思
    1. 4.1. 1. 变色龙的使用
      1. 4.1.1. 变色龙的嗅探功能:
      2. 4.1.2. 变色龙的模拟功能
      3. 4.1.3. 变色龙的随机卡号功能
      4. 4.1.4. 其他
    2. 4.2. 2. 卡片
    3. 4.3. 3. Dump文件
    4. 4.4. 4. 进一步探究
    5. 4.5. 5. 小遗憾
  5. 5. 特别鸣谢
请输入关键词进行搜索