首页
社区
课程
招聘
地铁系统测试思路:当地铁遇上黑客,会有什么故事发生?
发表于: 2016-3-8 08:29 1384

地铁系统测试思路:当地铁遇上黑客,会有什么故事发生?

2016-3-8 08:29
1384
新闻链接:http://www.freebuf.com/articles/terminal/98026.html
新闻时间:2016-03-07
新闻正文:

本文的目的是分享地铁系统的渗透测试思路,而不是成为地铁非法入侵犯罪的呈堂证据。——爱因斯坦

本文将介绍到的内容包括:

复制已充值的地铁卡

逆向磁条卡

破解RFID卡

使用软件无线电嗅探敏感信息

使用FPGA来暴力破解

攻击自动售票系统

社会工程

黑客战车!
注:文中所有内容仅供学习研究之用,切勿用于非法用途,否则你就摊上大事儿了!

零、概述

1.png

译注:波士顿地铁于1897年建成并投入使用。地铁在英国称为Tube,法国人叫Metro,美国人则说Subway,但在波士顿是以英文字母”T”字为代表的,地铁月票也叫TPass,街道上那大大的T字牌就是地铁站标志。

壹、物理攻击

常常能找到本应该锁好的各种敞开的大门

2.png

到处都能发现没关上的旋转门控制箱

3.png

穿过窗户还能够偷拍到工作人员的电脑屏幕

4.png

随处可见随意放置在未上锁工具箱里的钥匙

5A.png

5B.png

号称最先进的监控系统总是无人值守

6.png

含有敏感信息的资料可以轻易被游客接触到

7.png

我们可以利用这些资料伪造员工卡

8.png

上万能的x宝(老外喜欢用ebay)还能买到很多有趣的社工装备

9.png

10.png

贰、黑掉磁条卡

1、选择一款合适的磁条卡读写硬件

r1.png

成本在¥30块左右

自制读卡器

可读取3磁道

制作方法:stripesnoop.sourceforge.net

r2.png

成本在¥900块左右

Spark Fun 电子公司产品

支持3磁道、支持低矫顽力(lo-co)

源码可下载成本¥2000块左右

r3.png

MSR206或者MAKStripe

支持3磁道、支持高/低矫顽力(hi-co/lo-co)

基于GPL协议工作

2、Charlie Ticket

ct.png

译注:Charlie Card和Charlie Ticket是MBTA(地铁)的交通卡,可以用来在波士顿地区乘坐地铁、公交以及部分轮渡。两种交通卡都可以直接在各大地铁站的售票机购买。

card-data.png

获取到磁条卡内部数据以后,如果该卡是充值过的,那我们就可以通过复制卡的手段来免费畅游地铁了!

其实到这一步light教授已经觉得挺满足了,但是脑海里突然浮现出儿时小伙伴钢铁侠的英俊面孔:

0.gif

咳,咳……摇滚精神告诉我,我们不应该止步于此!接下来我们看看如何进一步突破。

3、逆向Charlie Ticket 磁条卡

说到逆向工程,似乎谁都会两下,但基于目前的情况我们该如何下手呢?

1、猜测数据中每一段的含义

2、改变单一变量,观察有什么变化

3、反复多次以上步骤来确认数据含义

4、对相似的、不相似的数据都进行比较

5、忽略恒定不变的区域

6、构建和使用工具辅助
通过分离变量法定位单一变量:

根据变量对数据分组

忽略各组之间全局相同的数据

忽略组内的数据差异

data.png

4、伪造一张Charlie Ticket 磁条卡

data2.png

对我们最关注的金额数据部分进行修改,并记得修改最后的校验值

data3.png

成功刷入

QQ截图20160227010506.png

磁条卡逆向工程框架图

framework.png

一个磁条卡逆向工程的工具包应该包含:

python编写的用于分析磁条卡的库

集成的MSR206读写器

帮助组织数据的图形化界面
美国绝大部分的地铁售检票系统来自两家主要提供商:

Scheidt & Bachmann :他们制作了波士顿T卡,覆盖旧金山、巴特、长岛铁路、西雅图Sound Transit、伦敦Silverlink等系统;

Cubic Transportation :他们制作了NYC MTA卡,覆盖纽约、华盛顿、哥伦比亚WMATA、芝加哥CTA、上海地铁等系统。
这些地铁卡到底能不能被我们破解和逆向,黑客与地铁究竟还能碰撞出哪些火花?请喝口水继续阅读。

叁、攻击RFID卡

1、了解RFID卡

典型的MIFARE卡特性有:

13.56MHz的RFID智能卡

端至端专有的“密码”(Crypto-1)

1K内存和存储卡中的唯一标识符

超过500万个标签使用
cardxxxxxxxxxxxxxxxx.png

Crypto-1加密算法分析:

Crypto-1加密算法于2007年由弗吉尼亚州大学的Karsten Nohl成功逆向

蚀刻并采用高性能的硅片检查图像

发现并重建加密部分

在加密和实施过程中找到漏洞

cardxx2.png

虽然MIFARE卡采用了一定的安全机制,但是由于加密强度不足等问题,导致我们依然有机会攻破之。

2、选择一款合适的读写卡硬件

m1.png

成本在¥300块左右

支持MIFARE RFID读取/写入

源代码可获得

用起来有点不好用

m2.png

成本在¥1300块左右

OpenPCD+ OpenPICC

开放式设计的13.56MHz RFID读写器+模拟器

免费原理图可用(www.openpcd.org)

m3.png

成本在¥4200左右

USRP

支持信号输入/输出完全控制

可以结合GNU无线电和自定义插件使用

USRP高清玉照:

QQ截图20160228235521.png

卡与读卡器的通信频率图示:

通信.png

3、GNU无线电RFID工具链

RFID频率

接收器#1:13.56MHz

接收器#2:12.71MHz

charlie磁卡与读卡器的快速傅里叶变换(FFT)算法波形:

bo1.png

带通滤波器的宽度为400 kHz,我们将它加入波形图:

bo2.png

得到13.56MHz读卡器向卡片进行信号传输时的波形:

bobo1.png

得到12.71MHz卡片向读卡器进行信号传输时的波形:

bobo2.png

接着经过调制解调、解码器解码,我们得到完整的GNU无线电RFID工具链:

工具链.png

QQ截图20160229002243.png

4、MIFARE卡的攻击

目标:获得密钥(可以用来克隆卡)

暴力破解

嗅探握手包并使用FPGA破解密钥。

通过滤波器功能的弱点减少密钥空间。

可以参考:www.cs.virginia.edu/~kn5f/  Mifare.Cryptanalysis.htm

操纵PRG时机

“随机”挑战取决于时钟周期,实际上是非随机的。

代数攻击

写加密-1作为多元二次方程系统

结合嗅探数据,转换为SAT,然后用它解决SAT-求解

如果尝试其他方式全都失败的话,那就暴力破解之!因为FPGA暴破是速度最快的解决方案,没有之一!

微处理器:

ppp1.png

通用设备

有限指令集

1-8并行数

FPGA:(现场可编程门阵列)

ppp2.png

专用逻辑

硬件描述

数以百计的并行数

KwickBreak FPGA 暴力破解器流程图:

(通过解析已知明文来恢复出密钥)

流程图.png

KwickBreak GUI 软件:

k.png

编写一个简单的XOR模块:

code1.png

执行:

code2.png

最后只要在Xilinx ISE创建一个新的项目,载入的文件,并合成。

完成!

肆、网络层攻击

网络层安全性探索

地铁站和地铁办公室进行现场调查(没有找到开放的wifi)

进行无线设备审计

探索无人防守的网络交换机

发现未上锁机房中的光纤交换机(连接自动售检票系统与内部网络)

交换机1.png

社会工程

执行“幻影会议”攻击:

我们自然的走进地铁内部办公室和会议室,物理接触到内部网络与计算机设备,整个过程没有工作人员质疑和询问……

伍、黑客战车(WarCart)

打造一款走哪儿黑哪儿的全副武装的黑客战车(译注:light教授表示这已经踏入了行为艺术的范畴…)

car.png

我们打算把它推倒波士顿地铁总部去大干一番:

gogogo.png

战车还自带烟雾弹功能:

gogo2.png

结果在半路被警察叔叔拦下来了…..

为了避免被警察叔叔当做恐怖分子抓起来,成为第二天报纸的头条,我们只好各自回家吃饭去。

陆、总结

总结整个地铁系统渗透过程,内容包括:

渗透物理安全漏洞

逆向工程 CharlieTicket

编写代码来分析和伪造 magcards

写一个工具链分析13.56MHz的RFID,使用USRP+ gnuradio进行数据传输

MIFARE 典型磁卡的攻击

写一个暴力破解器并使用FPGA破解密钥

转换MQ为SAT,然后用它解决SAT-求解

编写代码来读取和克隆MIFARE卡密钥数据
—— 感谢观看 ——

end.png

* 本文基于Defcon2008议题《Anatomy of a Subway Hack》,编译: 1ight ,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//