menu 澜灯's Zone
search
小米手机nfc模拟加密门禁卡
Lantern
Lantern
Time:
share




小米手机自带的nfc模拟门卡功能只能模拟非加密的门卡,然而我还从来没见过有门卡是不加密的。
偶然看到了一篇m1卡(最常见的门禁卡)的破解文章,发现要破解m1卡还是挺简单的,成本只要100多一点,就能破解复制半加密的m1卡(大部分m1都是半加密的)。

Mifare1 Card

我们常见的ic卡大多都是m1卡,m1卡全称为NXP Mifare1 Card,使用菲利浦下属子公司恩智浦出品的芯片(或国产兼容芯片)。M1卡分为16个扇区,每个扇区又有4个块,一共64个块,编号为0-63。第0扇区的第0块用于存放厂商信息(包括UID号)。1-13扇区的第0-2块用于存放数据,块3为控制块用于存放密码A,控制码和密码B,结构如下:
3.png

每个块包含16字节,所以M1卡的容量=16扇区4块16字节=1024字节=1k,这也是m1卡中1的由来。
因为一般存储的数据并不需要这么大空间,一般一张m1只使用了几个扇区,所以大多数卡都只对使用的几个扇区进行了加密,没有使用到的空扇区都是出厂默认密码FFFFFFFFFFFF(十二个F)。这种卡一般称之为半加密卡。

然而,2008年,德国研究员亨里克·普洛茨(Henryk Plotz)和弗吉尼亚大学计算机科学在读博士卡尔斯滕·诺尔(Karsten Nohl)成功地破解了NXP的Mifare经典芯片的安全算法,使得我们只要已知了一个扇区的密码(包括空扇区的出厂默认密码FFFFFFFFFFFF也可以),就可以得到所有扇区的密码。

开始破解

首先我们需要一张空的uid卡,一个acr122u读卡器及其配套读写卡软件。
IMG_20180903_202111.jpg
连接电脑安装驱动后打开读卡软件,放上门禁卡选择开始破解,一分钟不到就完成了,目录下会生成一个1k大小的dump文件。这个就是这张卡里全部的信息了。
TIM截图20180903202144.png

然后打开写卡软件,将白卡放上读卡器,导入dump文件。
如果此时直接写卡就会得到一张和原卡完全相同的卡,手机仍然无法模拟,所以我们要把每个扇区块3的前后12位密码A和密码B都修改为FFFFFFFFFFFF,然后再写卡。
TIM截图20180903202254.png

这时再使用手机模拟卡片就能成功模拟了。
Screenshot_2018-09-03-20-27-06-108_com.miui.tsmcl.png
Screenshot_2018-09-03-20-27-20-190_lockscreen.png

理论上我们可以复制一切离线卡,比如我们高中的水卡(不记名,每张卡50元,卡里的50元金额用完后带着老卡去买新卡),只要在刚买来时复制一份,就可以写出无数张余额50元的卡了。


评论

   textsms
   account_circle
昵称不能为空
   email
邮箱格式错误
   language





message 已有 3 条评论QwQ
    Gazzz
    Time: 2018-09-07 00:30




    Radiowar了解一下😂

    Gazzz
    Time: 2018-09-24 22:51




    中秋快乐~

      澜灯
      Time: 2018-09-24 22:53




      同乐同乐~