RFID Hacking:看我如何突破门禁潜入FreeBuf大本营

本文原创作者:雪碧0xroot

https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=q0168hd3qxj&auto=0

某天,偶然间拿到了FreeBuf Pnig0s同学的工卡信息,终于有机会去做一些羞羞的事情了ಥ_ಥ……

事了拂衣去,深藏功与名……

引子

以下故事纯属虚构,如有雷同,纯属巧合。

我应聘了一个大型IT公司的"网络攻击研究部经理" 职务,面试官问我: 你觉得自己为什么适合这份工作? 我:我黑进你们的系统,给我自己发了面试通知。

很经典的一个视频:黑客通过入侵大楼灯光控制系统,打起了游戏

http://www.56.com/iframe/NjYxNDg2NzU

最后上个真实的案例:线上的网络安全 VS 线下的物理安全

前几天媒体曝出:Dr.Web因揭露ATM木马遭报复,实验室两次遭燃烧弹攻击 @网路游侠 戏称:你线上查杀我的木马,我线下烧你的实验室… 防恶意软件的战争终于实现了o2o

什么时候安全从业者也成了高危职业人群 -。-!看到这里,不禁让人想起一句话:又到了毕业找工作的时候了,好多朋友打电话向我咨询要不要让孩子X(xue 学)X(I 挨)X(T 踢),作为一个业内资深人士,我觉得这不能一概而论。要辩证的看这个问题,视孩子具体的情况,具体问题具体分析。譬如说,如果是亲生的,就尽量不要。

0x00 背景

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卡是很容易可复制的载体,导致此类门禁很容易在极短时间内被破解和复制。

0x01 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的通讯是双向过程。

0x02 门禁系统解决方案

门禁系统由门禁考勤管理软件(PC端)、门禁读头、门禁控制器、电锁、门禁卡(NFC手机)组成

0x03 门禁卡类型

智能卡一般可分为接触式、非接触式。
接触式智能卡读卡器必须要有插卡槽和触点。以供卡片插入接触电源,有使用寿命短,系统难以维护,基础设施投入大等缺点,但发展较早。
非接触式智能卡又称射频卡,是近几年发展起来的新技术。它成功地将射频识别(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号,没有算法可言,容易复制,安全性低;


0x04 小区门禁

(小区非接触型门禁一体机面板正面)

(小区非接触型门禁一体机面板背面)

工作频率:

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/1sj45hLV 密码: 788j

*参考:百度、谷歌、wiki,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)

本文首发于FreeBuf

原文地址:http://www.freebuf.com/news/special/80786.html

永不消逝的电波(一):无线电入门篇

很久没写东西了 贴一下之前首发在FB的一篇无线电的文章

文/漏洞盒子安全团队-雪碧

0x00 无线电发展简史

· 1837年,摩斯发明了电报,创造了摩斯密码(Morse code),开始了通信的新纪元。
· 1865年,英国的麦克斯韦总结了前人的科学成果,提出电磁波学说。 
· 1876年,贝尔发明了电话,能够直接将语言信号变为电能沿导线传送。 
· 1887年,德国科学家赫兹(Hertz)用一个振荡偶子产生了电磁波,在历史上第一次直接验证了电磁波的存在。 
· 1897年,意大利科学家马可尼(Marconi)在赫兹实验的基础上,实现了远距离无线电信号的传送,这个距离在当时不过一百码,但一年后他就实现了船只与海岸的通信。 
· 1901年12月12日,马可尼做了跨越大西洋传送无线电信号的表演。这一次他把信号从英国的Cornwall发送到加拿大的Newfoundland。 马可尼因此获得1909年度诺贝尔奖。与他分享这一年度诺贝尔奖的是布劳恩(Braun),因为布氏发现金属硫化物具有单向导电性,这一成果可用于无线电接收装置。 
· 1904年,英国科学家弗莱明(Fleming)获得了一项专利,在专利说明书中描述了一个高频交变电流整流用的两极真空管,标志着进入无线电电子学时代。  
· 1906年,美国科学家弗雷斯特(Forest)发明了真空三极管,是电子技术发展史上第一个重要里程碑。同年,美国科学家费森登(Fessenden)在Massachusetts领导了第一次广播。 
· 1912年,英国科学家埃克尔斯(Eccles)提出了无线电波通过电离层传播的理论,这一理论使得一群业余爱好者在1921年实现了短波试验性广播; 同年,美国的费森登(Fessenden)和阿姆斯特朗(Armstrong)改进了接收机的工作方式,发明了外差式接受系统,这种形式仍是目前许多无线电接收机的主要工作方式。

在新中国成立后相当长的一个时期内,由于考虑国家安全等问题,国家对无线电台实行“少设严管”的政策,无线电台成为军队、邮电、广播、公安和交通等国家要害部门进行信息通信的重要工具。改革开放以后,各种无线电新技术、新业务在国民经济和社会生活的各个领域得到了越来越广泛的应用,我国逐步成为全球无线电应用大国。

近年来,国际电联划分的43 多种无线电业务,已在我国通信、广电、铁路、交通、航空、航天、气象、渔业、科研等行业和领域得到广泛应用,有力地推动了经济和社会发展的进程。

0x01 电磁波与无线电

1. 混为一谈OR完全割裂

有人会把电磁波、光、无线电波混为一谈,也有人会把它们完全割裂开来,这些都是不正确的。

在快速变化的电流周围会产生电磁波,为了描述电磁波的特征,科学家们引入了频率、波长、波速三个物理参数:

物理量       概念                          单位
频率(f)    电磁波1s振荡的次数             赫兹(Hz)
波长(λ)    电磁波每振荡一次向前传播的距离  米(m)
波速(c)    电磁波每1s向前传播的距离       米/秒(m/s)

公式    C=λf(波速=波长×频率)

2. 电磁波波段划分:

L波段、S波段、C波段、X波段、Ku波段、K波段、Ka波段。

这种划分方式是雷达业内的通俗叫法,没有一个严格、统一的标准。通常的划分是:

L波段 1~2GHz;
S波段 2~4GHz;
C波段 4~8GHz;
X波段 8~12GHz;
Ku波段 12~18GHz;
K波段 18~27GHz;
Ka波段 27~40GHz;
U波段 40~60GHz;
V波段 60~80GHz;
W波段 80~100GHz.

3. 电磁波的速度&分类:

电磁波产生之后,传播时不需要任何介质,在真空中也能传播,其在真空中传播速度为固定值,是宇宙中物质运动的最快速度,与光速相同,数值为3×10^8 (3乘10的八次方) m/s;

电磁波根据波长的大小,分为短波、中波、长波、微波、红外线、可见光、紫外线、Χ射线、γ射线等。

4. 无线电波传播途径:

无线电波广泛地应用于无线电通讯、广播、电视等方面,无线电波的发射和接受通过天线实现,其传播分为三种途径:天波、地波、微波。

地波:沿地球表面空间传播的无线电波叫做地波。由于地球是一个大导体,地球表面会因地波的传播引起感应电流,因此地波在传播过程中要损失能量,频率越高损失的能量也越多,所以地波主要适用于长波、中波和中短波。
天波:依靠电离层的反射来传播的无线电波叫做天波。电离层对于不同波长的电磁波的反射和吸收表现不同的特性,波长越长,吸收越强反射越弱,因此短波最适宜以天波的形式传播。
微波:微波是由于频率高、波长短,它既不能以地波的形式传播,又不能依靠天波的形式传播,和光一样,沿直线传播。

5. 无线电与电磁波

频率在数百千赫兹到数百兆赫兹之间的电磁波叫做无线电波,它包括短波、中波、长波、微波,无线电波也仅仅是电磁波的一部分,但电磁波不仅仅只有无线电波,仅仅只有频率相对较低的一部分电磁波才叫无线电波。

0x02 无线电信号调制

1. 什么叫调制,为什么要调制?

声音的频率是20HZ-20KHZ,转变成电磁波后也是这个频率,属于低频。电磁波的频率越高越容易传送得更远。所以音频需搭载在高频信号上才能传输得更远,音频搭载上高频信号的过程就叫调制。

调频波波形

无线电信号是原始信号和已调振荡信号的总称。声音、图像、文字、电码等欲传送的信息,通过转换设备后,转变成为相应变化的电压或电流,这种变化的电压或电流称为原始信号。在发射机中原始信号是用来调制高频振荡的,或者说是用来控制高频振荡的某一参数的,因此又称为调制信号或控制信号。经过调制的高频振荡,或者说参数按调制信号规律变化的高频振荡,称为已调振荡(已调波)。

调制的目的是为了把音频传送到更远的地方。目前常用的方法有调幅(AM)和调频(FM)两种方法。

AM(Amplitude Modulation 调幅):调制幅度,高频信号的幅度随着音频信号幅度的改变而改变,当音频信号的幅度高时高频信号的幅度也跟着高,反之跟着变低,形成音频信号的幅度包络,但高频信号的频率保持不变;调幅的特点是频宽宽,距离短。频宽宽的意思是对阻碍物的穿透能力强,但是传输距离较短
FM(Frequency Modulation 调频):调制频率,高频信号的频率随着音频信号幅度的改变而改变,当音频信号的幅度高时高频信号的频率也跟着高,反之跟着变低,但高频信号的幅度保持不变。调频的特点是频宽窄,距离长。频宽窄的意思是对阻碍物的穿透能力弱,但是传输距离长。

注:

频率:波在一定时间内震动次数
幅度:波在震动时候上下的幅度大小
调制器:    用于实现调制信号对高频载波信号的调制,产生已调波输出。
高频放大器:    对产生的已调波进行功率及幅度的放大后送至天线发射出去。
电源:    为电路各个部分提供电源。

数字信号波形

0x03 日常生活中的无线电

1. 收音机(无线广播)

在一般的收音机或收录音机上都有AM及FM波段,这两个波段是用于收听国内广播的,若收音机上还有SW波段时,那么除了国内短波电台之外,还可以收听到世界各国的广播电台节目。

一般中波广播(MW: Medium Wave)采用了调幅(AM)的方式,在不知不觉中,MW及AM之间就划上了等号。实际上MW只是诸多利用AM调制方式的一种广播,像在高频(3-30MHz)中的国际短波广播所使用的调制方式也是AM,甚至比调频广播更高频率的航空导航通讯(116-136MHz)也是采用AM的方式,只是我们日常所说的AM波段指的就是中波广播(MW)。

2. 遥控器

 

3. 路由器

频率:2.4GHz、5GHz

双频路由:2.4G&5GHz


4. 卫星天线

目前,卫星电视广播采用了三种方式:

一、通过普通的通信卫星将模拟或数字电视信号转发到本地电视台、有线电视网或集体接收站进入千家万户;
二、采用模拟技术,使用大功率电视直播卫星直接向家庭广播电视信号,由于这种电视信号未经数字压缩处理,每个转发器只能直播一路电视节目信号,每颗卫星一般只能直播几路电视节目;
三、采用Ku频段数字视频压缩卫星电视直播。每个卫星转发器可向装有约为0.5~0.8m左右的小口径卫星接收天线的家庭直播5~8路电视节目,一颗卫星可以直播100多路电视信号。这种业务亦称卫星数字电视直播(DVB-S);
随着航天技术、数字电视技术、微电子技术、码率压缩技术的突破性进展,使卫星电视由原来的C频段转播进入了数字Ku频段的直播卫星阶段。卫星数字电视直播的发展已成为全球热点。

C波段天线&Ku波段天线

c波段卫星 机顶盒的大锅 直径1.2米

户户通(村村通)直播星小锅 直径0.3米

卫星天线的一些小知识:

· 在卫星通信中,要先从地面站向卫星上发送通信信号,叫上行,经过卫星上的星载设备进行放大,再发送回地面的另一个接收站接收,叫下行。
· 为防止上行和下行频率重叠干扰,系统中上行和下行各采用一个频率进行发送,从地面向卫星发送上行信号的频率叫上行频率,从卫星向地面发送下行信号的频率叫下行频率。

· 卫星天线调试参数:本振频率、下行频率、符号率、极化方式,不过目前大多数机顶盒自带自动搜索功能,所以这些参数无需牢记。

亚洲七号卫星部分节目参数

近期FreeBuf报道也曾报道过,APT 组织 Turla 使用基于卫星的通信实现 C&C

上面提及的间谍组织使用使用了DVB-S调制器(下图):

这里我们稍微了解一下:DVB-S(ETS300421) 数字卫星广播系统标准。

特点:卫星传输具有覆盖面广、节目容量大等特点。数据流的调制采用四相相移键控调制(QPSK)方式,工作频率为11/12GHz。

FreeBuf也曾报道过,今年的BlackHat大会上也有个卫星相关的议题《利用卫星接收器扩展僵尸网络》。

5. 机场塔台与飞机

一般来说,降落的灰机高度在6K的时候会通过无线电与机场塔台联系,首次联系时会向机场塔台报告本次航班的编号、已经收到的机场通播编号等(起飞的时候灰机和塔台之间也会有通信联系)。

然后机场塔台会回复该航班,是否已经从雷达上看到该航班、该航班应继续进行的操作(例如保持目前航向等),然后该航班会重复一次机场塔台刚刚发布的指挥信息。这就完成了一次联系。

机场塔台&飞机

参考知乎:机场塔台的无线电环境有什么要求?在其周围私设电台会对塔台和飞机通讯造成哪些影响?

我国民航使用的无线电频率:1090MHz

民用对讲机使用的无线电频率:408-409MHz

警用频率:350-390MHz

0x04 使用软件无线电接收飞机信号

1. 接收飞机信号的常用设备

电视棒

优势:廉价(四五十元) 接地气

不足:只能接收、不能发射信号

HackRf

优势:开源、可以接收、发射信号

不足:USB2.0传输速率低于接收速率

其它设备:bladeRF

优势:USB3.0;支持300MHz到3.8GHz

缺陷:最高只能支持 3.8GHz,不可能用bladeRF来实现5GHz频段的802.11n

电视棒的核心芯片:

淘宝搜索”电视棒”一词是被屏蔽的,想买的同学可以搜电视棒的芯片名:“RTL2832U”。

USB DVB-T & RTL-SDR Realtek RTL2832U & R820T,这是螃蟹( Realtek)的一个芯片型号,原本是做电视棒芯片的。

后来被人发现这个芯片具有非常广的频率接收范围,然后就被用来做sdr应用了,rtl的sdr应用。

其实,某宝两三百的无线电接收器也是根据电视棒芯片改装的。

(都是用的RTL2832U。左边价格三百,右边四十多,知道真相的我曾经哭晕在厕所)

2. 电视棒使用的一些软件

硬件有了,那么软件呢?

Linux:(Ubuntu)环境搭建

硬件驱动:rtl-sdr

接收信号&解码:dump 1090

sudo apt-get install git
sudo apt-get install cmake
git clone https://github.com/pinkavaj/rtl-sdr.git
cd rtl-sdr/ 
mkdir build 
cd build
cmake ../
make 
sudo make install 
sudo ldconfig

编译安装dump 1090:

git clone https://github.com/antirez/dump1090.git 
cd dump1090/ 
make

软件启动:

cd /home/$user/dump1090 #转到dump 1090的主目录
sudo ./ dump1090 --interactive --net

软件截图:

软件界面参数:

HEX:16进制数据
Flight:航班号
Altitude:灰行高度(海拔)
Speed:灰行速度
Lat/Lon:地理坐标(经纬度数)

dump启动时会开启自带的WEB服务器,并且WEB调用了谷歌地图的API 接收到飞机的一些信息后 会在页面地图上描绘出飞机的轨迹(谷歌地图目前需要翻墙):

Windows:

驱动-zadig:类似于驱动精灵。可以在win上安装电视棒、HackRf的驱动;

sdrsharp:可以用来听广播&录制无线电信号 并把信号保存为音频文件;

HDSDR:把音频转化为信号,可配合HackRF使用进行信号输出;

rtl1090:可以接收灰机信号;

Audacity:音频分析(信号分析);

另外,之前在网上查阅资料的时候看到一张图片,思路很Nice:(原文使用HACKRF巡视钓鱼岛(HACKRF ADS-B out) )

 

理论上来说,这种思路是可以实现的,但是法律上不可能允许民众私自占用无线频段,(一定要遵守无线电管理法规!一定要遵守无线电管理法规!一定要遵守无线电管理法规!重要的事情要说三遍),PS:通过无线电信号的“伪造”灰机,那么雷达那边如何才能瞒天过海?

第一篇先到这里,接下来的文章中我们将通过windows上一些软件(sdrsharp、HDSDR、Audacity)进行信号分析并使用HackRF进行简单的遥控信号重放。(其实,写完这句话的时候我的内心是崩溃的,牛皮吹大了,万一不能实现怎么破?!趴在厕所马桶上哭完,坚强地回到工位 o(╯□╰)o囧 然后终于顿悟:生命在于折腾,自己吹的牛逼流着泪也要实现!)

*参考资料:人民教育出版社 、无线电通信发展简史、新时期的无线电技术应用维基百科、google、百度、知乎,雪碧整理发布,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

首发于:http://www.freebuf.com/articles/wireless/77819.html