RFID Hacking①:突破门禁潜入FreeBuf大本营
某天,偶然间拿到了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) ~134kHz;
高频(HF) .56MHz;
超高频(UHF) ~960MHz;
微波(MW) .45GHz和5.8GHz。 RFID无源卡按载波频率分为:低频、中频和高频射频卡。
低频射频卡:频率主要包括125kHz和134kHz两种,主要用于短距离、低成本的应用中,如多数的门禁控制、校园卡、货物跟踪等。
中频射频卡:频率主要为13.56MHz,主要用于门禁控制和需传送大量数据的应用系统。
高频射频卡:频率主要包括433MHz、915MHz、.45GHz、.8GHz等,可应用于需要较长的读写距离和高读写速度的场合,在火车监控、高速公路收费等系统中有广泛应用。 NFC是近距离无线通讯技术,芯片具有相互通信能力,并有计算能力。NFC可以看作是RFID的子集,用的是RFID的高频(.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)为
:::
标签ID(hex)
标签ID(dec)
读取一张有效的门禁卡:
手机和门禁卡的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
RFID Hacking①:突破门禁潜入FreeBuf大本营的更多相关文章
- RFID Hacking④:使用ProxMark3 破解门禁
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 前言 国际黑客大会Defcon传统之一:开锁!因为黑客认为锁也是一种安全挑战.我们在黑客题材电影.电视剧中也常常 ...
- RFID Hacking②:PM3入门指南
0×00 前言 Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计.开发的一款开源硬件,可以用于RFID中嗅探.读取以及克隆等相关操作,如:P ...
- 手机NFC模拟门禁卡
楼主所在的某电子科技类大学,从宿舍楼到实验楼到图书馆办公楼,全部都有门禁,前两天突然在某安软件市场看到一个可以模拟门禁卡的软件,然而可能是我的手机系统太6了,竟然模拟不了,无奈自己动手,从根本上解决问 ...
- 利用Teensy进行em410x卡模拟以及暴力破解em410x类门禁系统
什么是低频?什么是EM410x? 首先,我不得不再次提一下那些工作在125khz频率下的低频卡(如:EM410X之类的),以便大家更好的阅读以下的内容. 什么是低频?以下就是低频的解释: 低频(LF, ...
- 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
前些天Open入手了Teensy++2.0模拟EM410X,并且针对EM410X的门禁进行了一次暴力破解测试,以下就是相关代码以及内容. 什么是低频?什么是EM410x? 首先,我不得不再次提一下那些 ...
- 门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁
门禁 IC卡 ID 卡 RFID 手环 NFC 银行卡 手机模拟门禁 原因 最近给公司换了一个门禁. 旧的门禁按键面板已经破了. 不支持我的手环. 按了密码后竟然要按 #. 相关信息 查了资料记录一下 ...
- RFID Hacking–资源大合集
原文: http://www.freebuf.com/news/others/605.html http://www.proxmark.org/forum/index.php RFID破解神器官方论坛 ...
- Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
继续并发专题~ 这次介绍CyclicBarrier:看一眼API的注释: /** * A synchronization aid that allows a set of threads to all ...
- CCF系列之门禁系统(201412-1)
试题编号:201412-1试题名称:门禁系统时间限制: 2.0s内存限制: 256.0MB 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的 ...
随机推荐
- Growing转化的每一步(笔记整理)
渠道流量监控中,如何将劣质流量和优质流量区分开来? 劣质流量总会有有一些不同于其他正常渠道的特征,比如在同一个时间中大量集中访问.使用的硬件设备比较固定.使用特定的浏览器等. 实际案例:去年有一些 A ...
- edm注意细节
Email Direct Marketing不要有js,css也放在html里面不能有热区,所有的border要设置为0在浏览器里面邮件发送可能会歪掉,可以测试接受后是否歪掉 有点时候表格会有细缝等等 ...
- Linux基础: 网络命令和进程管理
netstat lsof ps pstree pkill/kill (了解jenkins git,排查环境) 查询服务器之间是否有链接(netstat -an) 某个服务是否启动(了解服务对应的 ...
- 学习manacher(最长公共回文串算法)
给定一个字符串求出其中最长个公共回文串. 举列子: abab -->回文串长度为2 以前的算法诸如: 扩展kmp求法过于麻烦,看到有一篇博文(http://leetcode.com/2011 ...
- <spring:message> 标签
可以使用<spring:message>标签结合 ResourceBundleMessageSource 的功能,在网页上显示 messages.properties 中的文字讯息,例如在 ...
- MATLAB画ROC曲线,及计算AUC值
根据决策值和真实标签画ROC曲线,同时计算AUC的值 步骤: 根据决策值和真实标签画ROC曲线,同时计算AUC的值: 计算算法的决策函数值deci 根据决策函数值deci对真实标签y进行降序排序,得到 ...
- for循环练习——7月23日
练习一:输入一个整数,求从1到这个数的累加和 //练习1:输入一个整数,计算从1加到这个数的结果 Console.Write("请输入一个正整数:"); int a = int.P ...
- MySQL为数据表的指定字段插入数据
username not null 没有默认值/有默认值 insert不插入username字段 均不报错 2014年07月23日21:05 百科369 MySQL为数据表的指定字段插入数据 ...
- TopCoder SRM 583 TurnOnLamps
读错题了有没有呀,原来 lamps 是在边上的呀,当成是在点上的了,无语. 直接一个dfs 就可以 从叶子节点开始,如果有必要转换 lamp 的状态则加一个仅包含 这个 lamp 的段 然后向上扩展, ...
- 常州培训 day3 解题报告
第一题: 给出数轴正半轴上N个点的坐标和其权值,给出初始体力值M,人一开始在位置0,体力值会随着走过路程的增加而增加,走多少个单位的路消耗多少体力值.到每个点可以打掉,消耗的体力值就是其权值.求 最多 ...