偵測卡 變色龍偵測卡 chameleon-Mini(迷你變色龍) (三)
本章,講Proxmark 3
寫本文的原因,是讀書筆記的收藏!在讀《無線電安全攻防大揭祕》--360獨角獸安全團隊 出品
Page15 > 第2章 > 第2.3節 > 第2.3.1小節
0.這些技術和專案,都是開源的一定要去看官方文件。
1.順便某寶上找實物,需要的自理,找了一遍,一間優質店。傳送門:https://proxmark3.taobao.com/
2.使用教程,最好方式看官方文件。本應該做個官方文件的解決和實操筆記。
價格不菲,苦於沒有硬體,只好網上看的,優質的文章暫且收下,待有硬體時參考下。
----------------------------------------分隔線------------------------
具體使用:
就看 北京育英中學 的 高中小朋友是怎麼玩的,他應該購買了,ChameleonMini、Proxmark 3。
小夥子有錢,拿著硬體就開幹,我苦於沒有硬體,如果某位客官有硬體,然後有技術問題時。
可找我私聊,進行全程技術遠端指導,順便學習下實物的操作。
小夥子應該是把他們學校的某個供水公司的,打水卡給折騰了一翻。
2.下為上面連結的具體內容備份,失聯用。
WARNING!!! 本文具有相當的攻擊性以及復現性,僅供技術參考與教學用途研究,切勿用於非法用途,參考此文進行犯罪的相關人員與本人無關。
——免責宣告。參考刑法修正案:構成非法提供控制計算機資訊系統的程式、工具罪,兩罪量刑都是三年以下有期徒刑或者拘役,並處或者單處罰金,情節嚴重的,處三年以上七年以下有期徒刑,並處罰金。非法獲取計算機資訊系統資料罪
最近,在上次針對學校內IC卡分析結束之後,我這次針對某公司IC卡的儲值IC卡進行了一次資料的分析整理。
在M1卡的16個扇區內的某一個扇區內的欄位中儲存著IC卡內的資訊,例如使用時間、使用次數、Money等資訊,想要修改卡內的資訊就要將卡片內的記錄資料匯出,每個扇區第一個欄位的16個位元組是扇區的祕鑰對,我們要是想要匯出資料就要通過窮舉的方法測試出祕鑰對,只有知道祕鑰對後才可以匯出卡片內檔案
此公司 還是針對IC卡做了一些必要的加密來保證安全,但是同樣存在著一些問題:比如沒有針對全扇區加密導致Nested authentication漏洞容易被利用,其次KeyA和KeyB中,KeyA的設定過於簡單,容易被暴力破解。
裝置:Proxmark 3
一、獲取資料
上手過程按照國際慣例先掃了掃預設密碼區,結果發現密碼區防護做的相當的好,每個M1卡都有一個唯一的序列號,我們稱為“UID”,是32位的,也就是4個位元組。
注:其中每個data 資料區為一個“塊”。這樣我們可以計算一下:16b* 4(塊)*16(扇區)=1024B 就是1K。
第0扇區的塊0(即絕對地址0塊),它用於存放廠商代碼,已經固化鎖死,不可更改。原來在實驗室見過一個廠商程式碼沒有鎖死的M1 被我玩了好久。。。。。
在全扇區加密時,通常用前三個“塊”(0,1,2號塊)存放資料,用最後一個”塊“(3號塊)存放密碼。
其中密碼分為A密碼和B密碼:前6個字節存放A密碼,中間4字節為控制欄位,後6字節存放B密碼。
圖片4.png
· M1卡是典型的高頻卡,工作頻率為13.56MHz,一般調頻(FM)收音機接收的廣播頻率在87MHz到108MHz之間。而我們常說的路由器工作在2.4GHZ中。這個時候注意一個小科普,很多人分不清5G路由和5GLTE。導致很多人認為5G路由就是5G通訊技術的路由,這裡進行一個更正 .一般路由是工作在2.4GHZ 頻段下面的通訊訊號,而所謂的5G路由是工作頻率在5.8GHZ下的路由器。而5GLTE指的是第五代通訊技術,而逆向工程最好的方法就是了解他的基礎結構,我們來看一下M1卡的工作通訊機制
言歸正傳,來看看M1卡的通訊通訊速率:106KBPS,也就是說可以在10毫秒的時間內完成讀寫內容。
工作半徑:100mm。大約在100mm以內的距離,可以使用讀卡器對m1卡進行操作(一般寫距離小於讀距離)。
在使用proxmark3對M1卡進行破解時 ,我先用了預設密碼掃描,結果發現卡的安全是很好的,沒有預設密碼
於是使用了有卡嗅探,網上很多人都在用proxmark3去暴力破解或者RPNG漏洞利用,對於proxmark3來說真的是大材小用。Proxmark3可以通過抓取卡與讀卡器之間的通訊來解開相應的密碼
破解中間我們可以看下M1卡的通訊工作流程圖以更加好的瞭解工作原理:
圖片12.png
這一過程比較簡單,受益於Proxmark3的強大功能,通過PRNG和其他扇區的預設密碼,很快就得出了全部扇區的資料,其中只有5扇區有資料存在。
ATQA : 00 04
UID : 01 02 03 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
第五扇區:
B9 27 00 00 46 D8 FF FF B9 27 00 00 14 EB 14 EB
B9 27 00 00 46 D8 FF FF B9 27 00 00 14 EB 14 EB
52 27 00 5A AA 16 01 00 32 27 00 00 14 EB 14 EB
32 21 80 12 34 56 FF 07 80 69 70 50 02 02 21 60
此時金額為101元
二、資料分析
這一般是最漫長的步驟,同樣也是最燒腦的步驟。
這裡我拿著水卡進行了多次消費,分別記錄下每次的金額資訊並進行對比
通過對比我們發現,在第五扇區標記處發生了變化,這裡一開始還對我造成了誤導。因為如果只看上圖,僅僅計算標紅的數字是不能得出結果的,經過多次實驗,我發現第二位應該有所不同。
如果把這兩位一起看,那麼結果自然就出來了。
這張卡的金額是98.30元。我們將十六進位制的66 26 取倒序再轉換為10進位制,正好就得到了以分為單位的價格值,而中間的99D9正是6626按位取反後的結果(校驗位)。
三、測試
我們嘗試改變一下卡內金額,將66 26改為 AF 99(十進位制:39343),也就是393.43元。
測試成功
四、總結
經過這次分析,我們發現一些現在仍在廣泛使用的IC卡 Mifare經典晶片(簡稱MI晶片) 存在著不小的安全隱患,同樣在密碼的設定上一些公司並沒有深思熟慮。
2009年,工業和資訊部發布了《關於做好應對部分IC卡出現嚴重安全漏洞工作的通知》,要求各地各機關和部門開展對IC卡使用情況的調查及應對工作。主要應用於IC卡系統的MI晶片的安全演算法已遭到破解!目前全國170個城市的約 1.4億張應用此技術的IC卡也都將面臨巨大的安全隱患。
對此的解決方案也有很多種,最好的就是更換CPU卡,此類卡片目前還沒有破解方法。並且可以不把卡片內作為金額的儲存區,而是儲存在遠端伺服器,M1卡只儲存卡號,這樣就避免了金額被篡改的風險。
在此提醒各位想要對IC卡動手的朋友:勿貪圖小利,勿非法使用,遵守法律法規