當地鐵遇上黑客,會有什么故事發生?

jopen 8年前發布 | 6K 次閱讀 黑客

當地鐵遇上黑客,會有什么故事發生?

本文的目的是分享地鐵系統的滲透測試思路,而不是成為地鐵非法入侵犯罪的呈堂證據。——愛因斯坦

本文將介紹到的內容包括:

復制已充值的地鐵卡

逆向磁條卡

破解 RFID 卡

使用軟件無線電嗅探敏感信息

使用 FPGA 來暴力破解

攻擊自動售票系統

社會工程

黑客戰車!

注:文中所有內容僅供學習研究之用,切勿用于非法用途,否則你就攤上大事兒了!

零、概述

當地鐵遇上黑客,會有什么故事發生?

譯注:波士頓地鐵于 1897 年建成并投入使用。地鐵在英國稱為 Tube,法國人叫 Metro,美國人則說 Subway,但在波士頓是以英文字母”T”字為代表的,地鐵月票也叫 TPass,街道上那大大的T字牌就是地鐵站標志。

壹、物理攻擊

常常能找到本應該鎖好的各種敞開的大門

當地鐵遇上黑客,會有什么故事發生?

到處都能發現沒關上的旋轉門控制箱

當地鐵遇上黑客,會有什么故事發生?

穿過窗戶還能夠偷拍到工作人員的電腦屏幕

當地鐵遇上黑客,會有什么故事發生?

隨處可見隨意放置在未上鎖工具箱里的鑰匙

當地鐵遇上黑客,會有什么故事發生?

當地鐵遇上黑客,會有什么故事發生?

號稱最先進的監控系統總是無人值守

當地鐵遇上黑客,會有什么故事發生?

含有敏感信息的資料可以輕易被游客接觸到

當地鐵遇上黑客,會有什么故事發生?

我們可以利用這些資料偽造員工卡

當地鐵遇上黑客,會有什么故事發生?

上萬能的x寶(老外喜歡用 ebay)還能買到很多有趣的社工裝備

當地鐵遇上黑客,會有什么故事發生?

當地鐵遇上黑客,會有什么故事發生?

貳、黑掉磁條卡

1、選擇一款合適的磁條卡讀寫硬件

當地鐵遇上黑客,會有什么故事發生?

成本在¥30 塊左右

自制讀卡器

可讀取 3 磁道

制作方法:stripesnoop.sourceforge.net

當地鐵遇上黑客,會有什么故事發生?

成本在¥900 塊左右

Spark Fun 電子公司產品

支持 3 磁道、支持低矯頑力(lo-co)

源碼可下載成本¥2000 塊左右

當地鐵遇上黑客,會有什么故事發生?

MSR206 或者 MAKStripe

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

基于 GPL 協議工作

2、Charlie Ticket

當地鐵遇上黑客,會有什么故事發生?

譯注:Charlie Card 和 Charlie Ticket 是 MBTA(地鐵)的交通卡,可以用來在波士頓地區乘坐地鐵、公交以及部分輪渡。兩種交通卡都可以直接在各大地鐵站的售票機購買。

當地鐵遇上黑客,會有什么故事發生?

獲取到磁條卡內部數據以后,如果該卡是充值過的,那我們就可以通過復制卡的手段來免費暢游地鐵了!

其實到這一步 light 教授已經覺得挺滿足了,但是腦海里突然浮現出兒時小伙伴鋼鐵俠的英俊面孔:

當地鐵遇上黑客,會有什么故事發生?

咳,咳……搖滾精神告訴我,我們不應該止步于此!接下來我們看看如何進一步突破。

3、逆向 Charlie Ticket 磁條卡

說到逆向工程,似乎誰都會兩下,但基于目前的情況我們該如何下手呢?

1、猜測數據中每一段的含義

2、改變單一變量,觀察有什么變化

3、反復多次以上步驟來確認數據含義

4、對相似的、不相似的數據都進行比較

5、忽略恒定不變的區域

6、構建和使用工具輔助

通過分離變量法定位單一變量:

根據變量對數據分組

忽略各組之間全局相同的數據

忽略組內的數據差異

當地鐵遇上黑客,會有什么故事發生?

4、偽造一張 Charlie Ticket 磁條卡

當地鐵遇上黑客,會有什么故事發生?

對我們最關注的金額數據部分進行修改,并記得修改最后的校驗值

當地鐵遇上黑客,會有什么故事發生?

成功刷入

當地鐵遇上黑客,會有什么故事發生?

磁條卡逆向工程框架圖

當地鐵遇上黑客,會有什么故事發生?

一個磁條卡逆向工程的工具包應該包含:

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 萬個標簽使用

當地鐵遇上黑客,會有什么故事發生?

Crypto-1 加密算法分析:

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

蝕刻并采用高性能的硅片檢查圖像

發現并重建加密部分

在加密和實施過程中找到漏洞

當地鐵遇上黑客,會有什么故事發生?

雖然 MIFARE 卡采用了一定的安全機制,但是由于加密強度不足等問題,導致我們依然有機會攻破之。

2、選擇一款合適的讀寫卡硬件

當地鐵遇上黑客,會有什么故事發生?

成本在¥300 塊左右

支持 MIFARE RFID 讀取/寫入

源代碼可獲得

用起來有點不好用

當地鐵遇上黑客,會有什么故事發生?

成本在¥1300 塊左右

OpenPCD+ OpenPICC

開放式設計的 13.56MHz RFID 讀寫器+模擬器

免費原理圖可用(www.openpcd.org

當地鐵遇上黑客,會有什么故事發生?

成本在¥4200 左右

USRP

支持信號輸入/輸出完全控制

可以結合 GNU 無線電和自定義插件使用

USRP 高清玉照:

當地鐵遇上黑客,會有什么故事發生?

卡與讀卡器的通信頻率圖示:

當地鐵遇上黑客,會有什么故事發生?

3、GNU 無線電 RFID 工具鏈

RFID 頻率

接收器#1:13.56MHz 

接收器#2:12.71MHz

charlie 磁卡與讀卡器的快速傅里葉變換(FFT)算法波形:

當地鐵遇上黑客,會有什么故事發生?

帶通濾波器的寬度為 400 kHz,我們將它加入波形圖:

當地鐵遇上黑客,會有什么故事發生?

得到 13.56MHz 讀卡器向卡片進行信號傳輸時的波形:

當地鐵遇上黑客,會有什么故事發生?

得到 12.71MHz 卡片向讀卡器進行信號傳輸時的波形:

當地鐵遇上黑客,會有什么故事發生?

接著經過調制解調、解碼器解碼,我們得到完整的 GNU 無線電 RFID 工具鏈:

當地鐵遇上黑客,會有什么故事發生?

當地鐵遇上黑客,會有什么故事發生?

4、MIFARE 卡的攻擊

目標:獲得密鑰(可以用來克隆卡)

暴力破解

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

通過濾波器功能的弱點減少密鑰空間。

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

操縱 PRG 時機

“隨機”挑戰取決于時鐘周期,實際上是非隨機的。

代數攻擊

寫加密-1 作為多元二次方程系統

結合嗅探數據,轉換為 SAT,然后用它解決 SAT-求解

如果嘗試其他方式全都失敗的話,那就暴力破解之!因為 FPGA 暴破是速度最快的解決方案,沒有之一!

微處理器:

當地鐵遇上黑客,會有什么故事發生?

通用設備

有限指令集

1-8 并行數

FPGA:(現場可編程門陣列)

當地鐵遇上黑客,會有什么故事發生?

專用邏輯

硬件描述

數以百計的并行數

KwickBreak FPGA 暴力破解器流程圖:

(通過解析已知明文來恢復出密鑰)

當地鐵遇上黑客,會有什么故事發生?

KwickBreak GUI 軟件:

當地鐵遇上黑客,會有什么故事發生?

編寫一個簡單的 XOR 模塊:

當地鐵遇上黑客,會有什么故事發生?

執行:

當地鐵遇上黑客,會有什么故事發生?

最后只要在 Xilinx ISE 創建一個新的項目,載入的文件,并合成。

完成!

肆、網絡層攻擊

網絡層安全性探索

地鐵站和地鐵辦公室進行現場調查(沒有找到開放的 wifi)

進行無線設備審計

探索無人防守的網絡交換機

發現未上鎖機房中的光纖交換機(連接自動售檢票系統與內部網絡)

當地鐵遇上黑客,會有什么故事發生?

社會工程

執行“幻影會議”攻擊:

我們自然的走進地鐵內部辦公室和會議室,物理接觸到內部網絡與計算機設備,整個過程沒有工作人員質疑和詢問……

伍、黑客戰車(WarCart)

打造一款走哪兒黑哪兒的全副武裝的黑客戰車(譯注:light 教授表示這已經踏入了行為藝術的范疇…)

當地鐵遇上黑客,會有什么故事發生?

我們打算把它推倒波士頓地鐵總部去大干一番:

當地鐵遇上黑客,會有什么故事發生?

戰車還自帶煙霧彈功能:

當地鐵遇上黑客,會有什么故事發生?

結果在半路被警察叔叔攔下來了…..

為了避免被警察叔叔當做恐怖分子抓起來,成為第二天報紙的頭條,我們只好各自回家吃飯去。

陸、總結

總結整個地鐵系統滲透過程,內容包括:

滲透物理安全漏洞

逆向工程 CharlieTicket

編寫代碼來分析和偽造 magcards

寫一個工具鏈分析 13.56MHz 的 RFID,使用 USRP+ gnuradio 進行數據傳輸

MIFARE 典型磁卡的攻擊

寫一個暴力破解器并使用 FPGA 破解密鑰

轉換 MQ 為 SAT,然后用它解決 SAT-求解

編寫代碼來讀取和克隆 MIFARE 卡密鑰數據

—— 感謝觀看 ——

當地鐵遇上黑客,會有什么故事發生?

本文基于 Defcon2008 議題《Anatomy of a Subway Hack》,編譯: 1ight ,轉載請注明來自 FreeBuf 黑客與極客

來自: www.freebuf.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!