手机NFC模拟门禁卡

楼主所在的某电子科技类大学,从宿舍楼到实验楼到体育场馆办公楼,全体都有门禁,前两天突然在某安软件市场来看一个足以效仿门禁卡的软件,但是可能是自家的无绳电话机系统太6了,竟然模仿不了,无奈自己动手,从根本上解决问题:

先来看 freebuf 的两篇著作:

RFID Hacking:看自己怎么突破门禁潜入 FreeBuf 大本营
怎么着运用 Nexus 5 伪造一张门禁卡

一般并不难:使用含有 NFC 成效的无绳电话机模拟门禁卡的 ID 号,
有些门禁卡的读卡器只读取卡的 ID 值。

手机 NFC 卡的信息方可通过配备文件举行修改。
前提是你的无绳电话机早已拿到 root 权限。

主干步骤在前四个帖子里面都已交给,这里只介绍一下自我的施行进程,本人手机nexus
6p,系统6.0.1

开搞:

first

初次做的作业本来是要找一张有效的卡片,获取它的ID音讯。在手机上下载 NFC
软件来读取卡片音信,一般的话用上文提到的NFC门禁卡模拟器:NFC
Emulator
就足以得到 ID
号了,不过这一个音讯不全面,我们还亟需经过NFC Tools软件来精晓我们卡片的NFC
Tag type,如图:图片 1

射频标签的通信专业是标签芯片设计的依据,
当前国际上与RFID相关的通信专业首要有:

  • ISO/IEC 18000标准(包括7个部分,涉及125KHz, 13.56MHz, 433MHz,
    860-960MHz, 2.45GHz等频段),
  • ISO11785(低频),
  • ISO/IEC 14443标准(13.56MHz),
  • ISO/IEC 15693标准(13.56MHz),
  • EPC标准(包括Class0, Class1和GEN2等两种协议,涉及HF和UHF二种频段),
  • DSRC标准(欧洲ETC标准,含5.8GHz)。

可以见到,我的卡片的功效标准是13.56MHz,而自我手机配备文件提交的频率标准是19.2MHz,需要修改手机的配置文件。

个中有一行 Serial number,一共三个字节,就是卡的 ID 号,在任何 NFC
读取软件上恐怕叫 ID,不言而喻就是卡的标识。

second

接下去需要对手机进行操作了,使用re管理器(或者es管理器)进出手机根目录,挂载为读写,依次进入system/etc,找到libnfc-nxp.conf那些文件,提议先对该公文备份。

打开libnfc-nxp.conf,可以看来如此一段:

###############################################################################
# System clock frequency selection configuration for PLL
#    CLK_FREQ_13MHZ   - 0x01
#    CLK_FREQ_19_2MHZ - 0x02
#    CLK_FREQ_24MHZ   - 0x03
#    CLK_FREQ_26MHZ   - 0x04
#    CLK_FREQ_38_4MHZ - 0x05
#    CLK_FREQ_52MHZ   - 0x06
NXP_SYS_CLK_FREQ_SEL=0x02

此地对大家手机NFC的频率举行了配备,需要改成上文中涉及的13.56MHz,也就是

NXP_SYS_CLK_FREQ_SEL=0x01

不同手机的部署参数可能不雷同,具体请自行钻探。
再往下我们能来看这般一段:

###############################################################################
# Core configuration settings
# It includes
# 18        - Poll Mode NFC-F:   PF_BIT_RATE
# 21        - Poll Mode ISO-DEP: PI_BIT_RATE
# 28        - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED
# 30        - Lis. Mode NFC-A:   LA_BIT_FRAME_SDD
# 31        - Lis. Mode NFC-A:   LA_PLATFORM_CONFIG
# 33        - Lis. Mode NFC-A:   LA_NFCID1
# 50        - Lis. Mode NFC-F:   LF_PROTOCOL_TYPE
# 54        - Lis. Mode NFC-F:   LF_CON_BITR_F
# 5B        - Lis. Mode ISO-DEP: LI_BIT_RATE
# 60        - Lis. Mode NFC-DEP: LN_WT
# 80        - Other Param.:      RF_FIELD_INFO
# 81        - Other Param.:      RF_NFCEE_ACTION
# 82        - Other Param.:      NFCDEP_OP
NXP_CORE_CONF={20, 02, 2B, 0D,
        18, 01, 01,
        21, 01, 00,
        28, 01, 00,
        30, 01, 08,
        31, 01, 03,
        33, 04, 01, 02, 03, 04,
        50, 01, 02,
        54, 01, 06,
        5B, 01, 00,
        60, 01, 0E,
        80, 01, 01,
        81, 01, 01,
        82, 01, 0E
}

从注释可以见见,33意味了 ID
消息,找到33所在的行,04很精晓是4个字节的音信长度,之后的01, 02, 03,
04就是你手机对外呈现的 ID 号了,综合前人的帖子可以看来,这里的 ID
号基本都是01, 02, 03,
04,应该不存在不同手机不相同的情况,所以一贯找到这两个数据,改成第一步大家读到的我们的卡片的
ID 号,然后保留,退出,重启手机。

last

为了求证是否修改成功,我们需要此外一部匡助 NFC 的无绳电话机,也装上下面的 NFC
Tools 。把温馨的手机当作 NFC 卡,用另一个手机来读取其标识号。

图片 2

假如读到的 ID
号跟我们卡片的ID号一样,那么就收工了,我要拿着卡片出去装逼了~~~

append

透过实际测试,体育场馆和主楼的门禁可以进去,老科技楼刷卡之后有反应,然而不可以不负众望识别,宿舍楼压根儿一点感应都尚未。

由此一再试验和网上搜索,最终结论:
要是门禁系统只读取卡片的ID号的话,那么上述方法是立竿见影的,但是假如它还校验了卡片的别样音信,那么我们的
DIY 还得继续深远

相关文章