利用pn532使小米手机模拟加密门卡

发布于 2019-10-31  2679 次阅读


声明 :本教程仅供学习交流之用途,本教程不能增加你的饭卡余额,亦不能使你越过他人的门禁系统,仅仅作讨论NFC技术所使用,不得将技术用于非法途径,违法者必将受到处罚!

基础知识

门卡的分类

如今市面上的卡多分为两种,一种是 ID Card , 一种是 IC Card

ID Card (Identification Card) ,全称身份识别卡,工作频率为 125KHZ。其中能储存的信息只有出厂时自带的 ID卡号,一经出厂,不可修改。由于频段不一样,小米手机无法模拟。

IC Card (Integrated Circuit Card),全称集成电路卡,工作频率 13.56MHz。

其中拥有 16个扇区 ,每个扇区拥有 两个密钥 ,这种类型的卡是小米手机可以模拟的,但能否成功模拟还需要一些运气。(根据机器的好坏,卡片破解的成功率也会有所不同)

门卡区分

ID卡与IC卡

distinguish

UID CUID FUID UFUID 卡

UID 卡

普通复制卡,可以重复擦写所有扇区,主要应用在IC卡复制上,遇到带有防火墙的读卡器就会失效。

CUID 卡

可擦写防屏蔽卡,可以重复擦写所有扇区,UID卡复制无效的情况下使用,可以绕过防火墙,但对于有些防火墙无效,需用到FUID卡。

FUID 卡

不可擦写防屏蔽卡,此卡的特点0扇区只能写入一次,写入一次变成 M1 卡,CUID 复制没用的情况下使用,可以绕过防火墙。

UFUID 卡

高级复制卡,我们就理解为是 UID 和 FUID 的合成卡,需要封卡操作,不封卡就是 UID 卡,封卡后就变为 M1 卡。

小米手机模拟门卡的原理

小米手机模拟门卡有两种方式:

  1. 开空白卡片.

    ​ 通过选择 “自定义空白卡”, 并且进行身份认证,可以为手机开通一张空白的卡片,再将卡贴进发卡机器,即可获得一张全新卡片。

    ​ 这个方法有一个很明显的弊端,就是 卡片 uid 无法模拟,当遇到根据 uid 识别身份的场景,这种方法就不凑效了。

    这是一种最直接通过物管获取卡片的方式,如果物管好说话可以直接找他们帮助发卡。

  2. 复制非加密卡

    ​ 小米手机会自动识别卡片类型,如果卡片的所有扇区均未加密,即可进行复制并且完全模拟。

    优势很明显: 可以 完全复制 包括 uid 在内的所有卡片信息(厂商信息除外)

    缺点:只能复制非加密卡

    ​ 似乎只有非加密卡才能被复制 uid ,难道加密卡只能复制除了0扇区之外的信息了吗?

    答案当然不是这样的!

    我们可以通过 伪造非加密卡 来达到复制uid的效果!

    因为卡片的任意数据都是可以被自由修改的,我们可以将卡片的密钥清除,将其伪装成一张 非加密卡 写入小米手机后,再用设备将密钥写回去。

    过程

    准备原料

    1. 带NFC功能的小米手机/手环

    2. PN532 一台(其他读卡器也可)

      首先确认一下线序,插错必烧

      QQ图片20191101120958_cr.jpg

    3. 空白 cuid卡 一张

    读取原卡

    打开上位机,读取原卡内容。

    (涉及到破解密钥的过程,时间会有点长,但只要能解析出原信息,那么都是可以模拟的)

    我们可以看到卡片的大致结构

    QQ图片20191101114910.png

    0扇区的第0块主要存储卡的基本信息,包括 UID 以及 厂商信息

    第3块的前6个字节存储该扇区的 keyA,中间4个字节是访问控制码 ,后6个字节存储 keyB

    由于这是一张加密卡,所以我们得把数据 dump 下来,并且将数据通过非加密卡传入手机中

    dump 并 修改数据

    点击上位机左上角的三角形图标,dump数据

    QQ图片20191101114910.png

然后可以把这个数据先备份下来,为后面给手机写入 原卡数据 做准备

010editor 打开dump后的数据

我们需要把加密卡转换成非加密卡,只需要把 keyA keyB 写为 FFFFFFFFFFFF 即可(相当于无密钥)

QQ图片20191101114910.png

可以用替换命令一键替换

其他东西不用管,只需要确保密钥被清除即可,然后保存

写入白卡

一键写入,不需赘述。

QQ图片20191101114910.png

写卡完成之后再读取一遍,确认我们已经成功抹掉密钥

QQ图片20191101114910.png

密钥已经成功清除

手机复制白卡

按照复制白卡的方式创建门卡

QQ图片20191101120958_cr.jpg

​ 进行身份验证之后,将白卡贴至手机即可复制成功。

用pn532覆写密钥

现在我们手中的模拟门卡只具有 存储的信息,并未储存机器中 匹配的密钥

最后一步是要将原卡的加密密钥一并复制到手机模拟卡当中。

如果在前一步没有备份好原卡的信息的话,还需要重新读卡一次并dump数据

已经备份好了可以直接进行下一步

这一步直接双击手机的电源键,唤起手机 NFC卡片

将手机靠近pn532,读取卡片,并且写入 原卡数据 即可

(注意,不是那个伪造的非加密卡的数据,而是原卡数据)

QQ图片20191101114910.png

为了确保写入成功,我们重新读取一次手机NFC数据:

QQ图片20191101160656.png

看到N9~N15: 厂商信息。已经和原卡完全不同了!这里是我之前在基础知识里面所说的,由于小米官方的原因,厂商信息是无法修改的,会原封不动地保留下来,而其他信息和原卡完全一致

至此,我们利用pn532来复制卡片便成功了!

声明 :本教程仅供学习交流之用途,本教程不能增加你的饭卡余额,亦不能使你越过他人的门禁系统,仅仅作讨论NFC技术所使用,不得将技术用于非法途径,违法者必将受到处罚!


CTFer|NOIPer|CSGO|摸鱼|菜鸡