某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了
引子
以下故事纯属虚构,如有雷同,纯属巧合。
我应聘了一个大型IT公司的"网络攻击研究部经理" 职务,面试官问我: 你觉得自己为什么适合这份工作? 我:我黑进你们的系统,给我自己发了面试通知。
很经典的一个视频:
最后上个真实的案例:线上的网络安全 VS 线下的物理安全
前几天媒体曝出:Dr.Web因揭露ATM木马遭报复,实验室两次遭燃烧弹攻击 @网路游侠 戏称:你线上查杀我的木马,我线下烧你的实验室… 防恶意软件的战争终于实现了o2o
什么时候安全从业者也成了高危职业人群 -。-!看到这里,不禁让人想起一句话:又到了毕业找工作的时候了,好多朋友打电话向我咨询要不要让孩子X(xue 学)X(I 挨)X(T 踢),作为一个业内资深人士,我觉得这不能一概而论。要辩证的看这个问题,视孩子具体的情况,具体问题具体分析。譬如说,如果是亲生的,就尽量不要。
0×00 背景
2008年,德国研究员亨里克·普洛茨和美国弗吉尼亚大学计算机科学在读博士卡尔斯滕·诺尔利用电脑成功破解了恩智浦半导体的Mifare经典芯片(简称MI芯片)的安全算法。他们所破解的MI芯片的安全算法,正是目前全世界应用最广泛的非接触IC卡的安全算法!
市场接受度较高的M1卡被破解之后,国内IC卡标准一度陷入混乱,这种现象直到现在也并未完全解决。
以当前流行门禁读卡器的算法区分,除了Mifare1之外,市场上主要还有DES、3DES、AES、SM1、SM7等。其中DES为美国IBM公司研制,是美国数据加密标准,3DES则为其升级版本;AES为美国联邦政府采用的一种区块加密标准,是密码学中的高级加密标准。
目前我国80%的门禁产品均是采用原始IC卡的UID号或ID卡的ID号去做门禁卡,没有去进行加密认证或开发专用的密钥,其安全隐患远比Mifare卡的破解更危险,非法破解的人士只需采用专业的技术手段就可以完成破解过程。
导致目前国内大多数门禁产品都不具备安全性原因之一,是因为早期门禁产品的设计理论是从国外引进过来的,国内大部分厂家长期以来延用国外做法,采用ID和IC卡的只读特性进行身份识别使用,很少关注卡片与门禁机具间的加密认证,缺少安全密钥体系的设计,而ID卡是很容易可复制的载体,导致此类门禁很容易在极短时间内被破解和复制。
0×01 NFC概要
NFC是英文Near Field Communication 的缩写,中文译为近距离无线通讯技术(ISO 18092)。最初是由飞利浦公司和索尼公司共同开发的。
NFC是一种非接触式识别和互联技术,可以在移动设备、消费类电子产品、PC和智能控件工具间进行近距离(小于四厘米 )无线通信。NFC提供了一种简单、触控式的解决方案,可以让消费者简单直观的交换信息、访问内容与服务。手机用户凭着配置了支付功能的手机就可以行遍全国:他们的手机可以用作机场登机验证、大厦的门禁钥匙、交通一卡通、信用卡、支付卡等等
NFC与RFID
RFID:射频识别技术,它主要是通过无线电讯号识别特定目标,并可读写数据(单向的读取)。 RFID系统的频率分低频、高频、超高频和微波几种,其各自的工作频率如下: 低频(LF) 125~134kHz; 高频(HF) 13.56MHz; 超高频(UHF) 860~960MHz; 微波(MW) 2.45GHz和5.8GHz。 RFID无源卡按载波频率分为:低频、中频和高频射频卡。 低频射频卡:频率主要包括125kHz和134kHz两种,主要用于短距离、低成本的应用中,如多数的门禁控制、校园卡、货物跟踪等。 中频射频卡:频率主要为13.56MHz,主要用于门禁控制和需传送大量数据的应用系统。 高频射频卡:频率主要包括433MHz、915MHz、2.45GHz、5.8GHz等,可应用于需要较长的读写距离和高读写速度的场合,在火车监控、高速公路收费等系统中有广泛应用。 NFC是近距离无线通讯技术,芯片具有相互通信能力,并有计算能力。NFC可以看作是RFID的子集,用的是RFID的高频(13.56MHz)的标准,与RFID不同的是NFC的通讯是双向过程。
0×02 门禁系统解决方案
门禁系统由门禁考勤管理软件(PC端)、门禁读头、门禁控制器、电锁、门禁卡(NFC手机)组成
0×03 门禁卡类型
智能卡一般可分为接触式、非接触式。
接触式智能卡读卡器必须要有插卡槽和触点。以供卡片插入接触电源,有使用寿命短,系统难以维护,基础设施投入大等缺点,但发展较早。
非接触式智能卡又称射频卡,是近几年发展起来的新技术。它成功地将射频识别(RFID)技术和EM卡技术结合起来,将具有微处理器的集成电路芯片和天线封装于塑料基片之中。读写器采用兆频段及磁感应技术,通过无线方式对卡片中的信息进行读写并采用高速率的半双工通信协议。其优点是使用寿命长,应用范围广,操作方便、快捷,但也存在成本高,读写设备复杂,易受电磁干扰等缺点。目前,非接触式卡片的有效读取距离一般为50~200mm,最远读取距离可达数米(应用在停车场管理系统)。
门禁卡(属于智能IC卡)主要是如下几种卡:EM卡、M1卡、TM卡和CPU卡等等。
IC卡:集成电路卡,是继磁卡之后出现的又一种新型信息工具。在有些国家和地区也称智能卡(smart card)、智慧卡(intelligent card)、微电路卡(microcircuit card)或微芯片卡。目前IC卡已经十分广泛地应用于包括金融、交通、社保等。
IC卡中有一种只读卡(只能通过读卡器读出卡号(ID号),而且卡号是固化(不能修改)的,不能往卡的分区再写数据,这种非接触卡我们把它称为ID卡。
从设备与卡的算法来区别
M1卡:存储了ID号,可读写数据,M1卡发一个数据到设备,设备再传一个数据给M1卡确认,再进行交易或身份认证;
CPU卡:有操作系统,可存储数据,也有自己的ID号;(既然提到了ID号,那我们再来说一下ID卡)
ID卡:只存储了ID号,设备识别ID号,没有算法可言,容易复制,安全性低;
0×04 小区门禁
(小区非接触型门禁一体机面板正面)
(小区非接触型门禁一体机面板背面)
工作频率:13.56MHz
门禁接线图
NFC门禁潜在风险:
风险1:门禁使用初始密码(弱口令) 轻易进入编程模式
有些小区的物业管理和服务器管理员一样,都存在安全意识不足现象而使用初始密码或者使用一些弱口令的问题。通过这一图片我们可以发现:进入编程模式以后,我们可以轻易地进行一些加卡、删卡操作。
风险2:门禁只验证门禁卡ID号,导致门禁卡被轻易伪造、复制
白卡:NFC卡片生产商没有按照国家标准进行生产(国家标准要求正规厂家生产的每一张ID卡都必须写入唯一的物理号,不能重复。但一些非正规厂家生产的白卡根本就没有写入物理号,进入市场后,商家就可以随时“复制”写入)。
M1卡虽然可以加密,文章开头也提及:早在2008年就被宣布可以被破解。虽然M1卡可以对存储信息进行加密,但复制过程并不需要解密,两张卡之间复制信息,就像电脑之间用U盘拷贝资料一样,读取和写入都无需破解,复制的卡一样可以使用。
前段时间闲得无聊写了一篇《如何用神奇的build.prop低调奢华有内涵地装X》,通过这类文章,不难得出:root以后,安卓手机的很多系统参数都可以通过修改系统配置文件来实现,其实NFC也一样。现在很多安卓机都支持NFC功能(such as:小米、锤子、LG、HTC、一加),文章开头我们提到:目前我国80%的门禁产品均是采用原始IC卡的UID号或ID卡的ID号去做门禁卡,那么我们也可以修改手机NFC的配置文件来改变手机NFC的ID值以此来伪造(模拟)门禁卡。《如何利用Nexus 5伪造一张门禁卡》一文也充分地说明了这种方法地可行性,
未修改手机配置文件,去刷门禁是这样的:(此次使用的手机型号为LG G3)
错误码030201
通过对手机NFC的读取得知手机的ID(固定ID)为
01:02:03:04 标签ID(hex)01 02 03 04 标签ID(dec)67305985
读取一张有效的门禁卡:
手机和门禁卡的ID(hex)都为8位;
手机开启SSHD服务(可使用app:SSHDroid)
FTP登陆(手机处于电脑同一局域网),下载系统的NFC配置文件libnfc-brcm.conf 、libnfc-nxp-lg.conf、libnfc-nxp.conf(上传下载的过程中建议使用Root File Explorer RE文件管理器将系统目录挂载为读写)
数据分析:通过对系统配置文件代码、参数的审计发现libnfc-brcm.conf 、libnfc-nxp-lg.conf、libnfc-nxp.conf里边的一些参数为十六进制:
libnfc-nxp-lg.conf、libnfc-nxp.conf两个配置文件都存在“01, 02, 03, 04,”
参数定位
bingo,直接改为有效门禁的hex ID,然后再使用FTP将修改后的文件上传(建议将原始文件改为xx.bak,系统文件错误修改造成的问题可通过恢复这几个文件解决)。
最后reboot手机,开启手机NFC去门禁刷卡验证。
文章里边提及的App和NFC相关的一些工具:链接:http://pan.baidu.com/s/1gduanWf 密码:4wxg