安全圈 | 专注于最新网络信息安全讯息新闻

首页

由破解電梯卡初識rfid

作者 galluppi 时间 2020-02-27
all

RFID頻段分類

RFID是Radio Frequency Identification的縮寫,術語為射頻識別,俗稱電子標籤。按照工作頻率的不同,RFID標籤可以分為低頻(LF)、高頻(HF)、超高頻(UHF)和微波等不同種類。現時國際上廣泛採用的頻率分佈於4種波段,低頻(125KHz)、高頻(13.54MHz)、超高頻(850MHz~910MHz)和微波(2.45GHz)。

現時在實際應用中,比較常用的是13.56MHz、860MHz~960MHz、2.45GHz等頻段。近距離RFID系統主要使用125KHz、13.56MHz等LF和HF頻段,科技最為成熟;遠距離RFID系統主要使用433MHz、860MHz~960MHz等UHF頻段,以及2.45GHz、5.8GHz等微波頻段,現時還多在測試當中,沒有大規模應用。

低頻:

低頻段射頻標籤,簡稱為低頻標籤,其工作頻率範圍為30kHz~300kHz。典型工作頻率有125KHz和133KHz。

低頻標籤一般為無源標籤,其工作能量通過電感耦合管道從閱讀器耦合線圈的輻射近場中獲得。低頻標籤與閱讀器之間傳送數據時,低頻標籤需位於閱讀器天線輻射的近場區內。

低頻標籤的閱讀距離一般情况下小於1米。

中高頻:

中高頻段射頻標籤的工作頻率一般為3MHz~30MHz。典型工作頻率為13.56MHz。根據無線電頻率的一般劃分,這一工作頻段又稱為高頻,所以也常將其稱為高頻標籤。

中頻標籤的閱讀距離一般情况下也小於1米。中頻標籤由於可方便地做成卡狀,廣泛應用於電子車票、電子遙控門鎖控制器、社區物業管理、塔樓門禁系統等。

常見卡的類型及原理

首先從頻率上可以分為高頻(13.56MHZ)和低頻兩種類型的卡,在這兩個頻率上又會分為多種類型的卡。常見的卡的有:

低頻

ID卡

全稱為身份識別卡(IdentificationCard),,內部晶片的全名叫做EM4100或EM41XX是一種只讀不可寫入的感應卡,頻率是125KHz,含固定的編號.卡號在封卡前寫入後不可再更改,絕對確保卡號的唯一性和安全性.ID卡在弱電系統中一般作為門禁或停車場系統的使用者身份識別,因ID卡無金鑰安全認證機制,且不能寫卡,現在行業內的基本共識是ID卡不適合做成一卡通,也不合適做消費系統。

T5577卡

T5577卡是一種可以寫入數據可以加密的低頻卡。最特別之處是,寫入ID號可以變身成為ID卡,寫入HID號可以變身HID卡,寫入Indala卡號,可以變身Indala卡。T5577一共有8個塊,每個塊只能存8位數。第0塊是用來設定卡片類型和調製方式的,决定了卡片是ID卡還是HID卡,如果隨意修改會導致讀不到卡。最後一個塊,在沒有加密時是數據區,加密後,其數據就變成了密碼。

高頻

IC卡

又稱集成電路卡,一般可讀可寫,頻率是13.56MHz,它是在大小和普通信用卡相同的塑膠卡片上嵌置一個或多個集成電路構成的。集成電路晶片可以是記憶體或向處理器。帶有記憶體的IC卡又稱為記憶卡或存儲卡,帶有微處理器的IC卡又稱為智慧卡或智慧卡。記憶卡可以存儲大量資訊;智慧卡則不僅具有記憶能力,而且還具有處理資訊的功能。IC卡可以十分方便地存汽車費、電話費、捷運乘車費、食堂就餐費、公路付費以及購物旅遊、貿易服務等。

M1卡

M1卡是IC卡的一種,是現時較為常見的,一般是指菲利浦下屬子公司恩智浦出品的晶片縮寫,國內的復旦F08,達華的TKS50等相容飛利浦S50的卡片都有可以稱為M1卡,屬於非接觸式IC卡,M1卡儲存的數據大小為8k比特,相當於1KB的容量。M1卡分為16個資料存儲區,通常我們稱為“扇區”,編號是“0”到“15”。每個扇區又分為4個存儲單元,我們稱為“塊”,在M1卡中資料存儲的最小組織就是“塊”。每一塊有16位元組(16B),用來存放數據。。每個扇區都有獨立的一組密碼及存取控制,每張卡有唯一的一個32比特的序號。每個扇區的0,1,2塊為數據塊,用來存儲數據,第3塊為控制塊,包括了密A、存取控制、密碼B。每張卡的第0扇區的第0塊用來存放廠商程式碼,不可更改。M1卡是可讀可寫的多功能卡,具有可加密的存儲空間,適合非定額消費系統、停車場系統、門禁考勤系統等。

M1 UID卡

UID卡可以修改任意扇區,作為M1複製的子卡,主要應用在IC卡複製上。該卡片完全相容mifare 1k卡片。卡片的block0(UID所在的block)可以任意修改,重複修改,不需要密碼即可讀寫卡,同時不怕寫壞卡,即使寫錯0塊,寫壞扇區控制字,也可以隨時修復回來,不影響後續使用。適用於多種領域,比如一卡通、門禁、停車場、辦公大樓等各行業中非接觸式IC卡應用。

FUID卡

FUID卡是針對UID卡做的優化。新的讀卡系統,通過檢測卡片對特殊指令的回應,可以檢測出UID卡,囙此可以來拒絕UID卡的訪問,來達到遮罩複製卡的功能。FUID可以修改0塊,但只可以修改一次,寫錯也沒辦法更改,也不能重複利用。修改後和M1卡完全一樣,很難被遮罩檢測。

CUID卡

CUID卡是針對FUID卡做的優化。CUID卡可以重複修改0塊,但是它和UID卡的區別是,UID卡是通過指令修改0塊,CUID使用的是常規密碼驗證的方法寫0塊,其他扇區和標準M1卡相同。缺點是,還是有可能會被檢測出來,而且如果不小心寫錯了UID號的校驗比特導致無法讀卡,沒辦法修復只能報廢。

常見卡的工作原理

IC卡的工作原理:

卡片內有一個LC串聯諧振電路,其頻率與讀寫器發射的頻率相同,這樣在電磁波激勵下,LC諧振電路產生共振,從而使電容內有了電荷;在這個電容的另一端。

接有一個單向導通的電子泵,將電容內的電荷送到另一個電容內存儲,當所積累的電荷達到2V時,此電容可作為電源為其它電路提供工作電壓,將卡內數據發射出去或接受讀寫器的數據。

ID卡的工作原理:

ID卡閱讀器將載波訊號經天線向外發送,ID卡進入卡閱讀器的工作區域後,由閱讀器中電感線圈和電容組成的諧振回路接收閱讀器發射的載波訊號,卡中晶片的射頻介面模組由此訊號產生出電源電壓、復位訊號及系統時鐘,使晶片“啟動”。

晶片讀取控制模塊將記憶體中的數據經調相編碼後調製在載波上,經卡內天線回送給卡閱讀器;卡閱讀器對接收到的卡回送訊號進行解調、解碼後送至後臺電腦;後臺電腦根據卡號的合法性,針對不同應用做出相應的處理和控制。

M1卡的工作原理:

M1卡收到一組固定頻率的電磁波,卡片內有一個LC串聯諧振電路,其頻率與讀寫器發射的頻率相同,在電磁波的激勵下,LC諧振電路產生共振,從而使電容內有了電荷。在這個電容的另一端,接有一個單向導通的電子泵,將電容內的電荷送到另一個電容內儲存,當所積累的電荷達到2V時,此電容可做為電源為其它電路提供工作電壓,將卡內數據發射出去或接取讀寫器的數據。

T5557卡的工作原理:

T5557是非接觸式R/ W辨識集成電路(IDIC),適用於125 KHz頻率範圍。被連接到晶片的單一天線線卷,被視為集成電路的電力驅動補給和雙向資訊的溝通介面。天線和晶片一起構成應答卡片或標籤。在晶片上有330 bit的E2PROM(分佈為10個區塊,每個區塊33 bit)能從一個讀寫器上被讀和寫。區塊0是被保留用於設定T5557的操作模式的標籤塊。區塊7可能包含一組密碼,用於避免未經認可的寫。數據的傳送,利用IDIC加載調製完成。它是在2個終端1和2的線圈中感生出一個RF抵抗場強,這IC接收到掃描場,再以100%的振幅進行解碼調製,從而得到基站或讀寫器的編譯碼資訊。

應用場景及分類

IC卡的應用場景:

IC卡已是當今國際電子資訊產業的熱點產品之一,除了在商業、醫療、保險、交通、能源、通訊、安全管理、身份識別等非金融領域得到廣泛應用外,在金融領域的應用也日益廣泛,影響十分深遠。

ID卡的應用場景:

ID卡在弱電系統中一般作為門禁或停車場系統的使用者身份識別,由於其無須內寘電源,使用時無接觸且壽命長,囙此在弱電系統中有廣泛的應用。

M1卡的應用場景:

主要用於公車、輪渡、捷運的自動收費系統,也應用在門禁管理、身份證明和電子錢包。

IC卡的分類:

記憶體卡、邏輯加密卡、CPU卡、超級智慧卡、接觸式IC卡、非接觸式IC卡、雙介面卡。

ID卡的的分類:

ISO標準ID卡的規格為:85.6x54x0.80±0.04mm(高/寬/厚),市場上也存在一些厚、薄卡或异型卡。

ID厚卡:厚度>0.9mm,標準卡的尺寸大小標準卡:85.6x54x0.80±0.04mm尺寸大小,可以膠印、絲網印刷、列印照片等;异型卡:尺寸大小形狀等不一,可以膠印、絲網印刷、列印照片等;

M1卡的的分類:

常用的有S50及S70兩種型號,常見的有卡式和鑰匙扣式。

常見的MIFARE Classic安全問題

PRNG安全缺陷

PRNG安全缺陷,國外的安全研究人員發現,MIFARE Classic採用的是Crypto-1私有加密演算法,其算灋的特點就是對稱式的密碼演算法或者說是私密金鑰密碼系統。其主要組成部分是偽亂數發生器(PRNG)、48比特的線性迴響位移暫存器(LFSR)以及非線性函數。由於算灋當中的Filter Function的設計出現缺陷,導致改變線性迴響位移暫存器的後8比特數值就有可能得到所對應的Keystream。這個缺陷類似於802.11b WEP算灋,不同的明文有極高的可能性被相同的Keystream,使得整個加密演算法出現了漏洞,而Proxmark3就是基於PRNG的安全缺陷進行的亂數碰撞,利用PRNG的安全缺陷我們可以很快速地得到對應的金鑰,從而進行進一步的破解操作。

已知金鑰窮舉

已知金鑰窮舉,從多次針對算灋的破解得出的Key清單中發現,很多使用MIFAREClassic的用戶都會將其默認的金鑰延續使用,意思就是很多人寧可貪圖一時方便繼續使用出廠時的金鑰,也不會根據自身的安全需求而進行改變,以至我們可以不需要花費太多的時間就可以進行破解從而得到卡類的資訊。綜合上述,我們知道如果要處理任何MIFARE Classic卡的數據都需要利用金鑰進行識別,從而讀取對應的數據。不破解就不可能讀取其內容。

暴力破解

暴力破解,從WEP到WPA/WPA2的金鑰破解我們可以知道,暴力破解已經從浪費時間、成功率低到現在GPU暴力破解時間短、成功率高轉變,MIFARE Classic也是如此,我們可以利用GPU等高速暴力破解手段進行破解,從而得到我們所需要的金鑰。

破解IC卡(進入正題)

Proxmark3

如下兩圖所示,圖一為不帶PM3及功能介紹,圖二為帶外殼的PM3功能及極少(感覺還是上個版本的好看),此外我對以下測試過程中的數據做了一些修改,如key、data等。

硬體說明:

變色龍電源開關

變色龍切換鍵

變色龍電源鍵

變色龍USB口

PM3停止鍵

連接設備

1、使用PM3指令臺,如下圖所示:現有PM3GUI一鍵破解缺少分析過程(不够裝x)

默認密碼掃描

2、對默認密碼進行掃描:

hf mf chk *1?t

hf mf chk *1 ? t

默認密碼掃描

發現默認密碼:

PRNG漏洞獲取0扇區金鑰

3、若默認密碼未掃描成功,可使用以下命令進行PRNG破解:

hf mf mifare

hf mf mifare

注意:PRNG漏洞破解密碼,成功率低,486固件不掉線外,630之後的固件,有些卡可以破,有卡些會掉線並出現can’t slect card,此處不再演示,因為我就是那些掉線並出現can’t slect card的人且我的密碼成功了。

查詢密碼是否正確

4、以下命令查詢密碼是否正確,密碼錯誤,不會返回Found vaild key:XX。

hf mf chk 0 A ffffffffffff

hf mf chk 0 A ffffffffffff

匯出金鑰

5、以下命令匯出金鑰

hf mf nested 1 0 A ffffffffffff d

hf mf nested 1 0 A ffffffffffff d

winhex查看匯出的金鑰檔案

匯出數據

6、使用以下命令匯出數據hf mf dump

hf mf dump

分析數據

7、用pm3Gui打開扇數據,對數據進行查看,發現9、10扇區存在數據,查看其資料結構,發現其密碼快開頭為474X,該格式為金X電梯廠商,也可以用IC客棧等工具識別廠商,如下圖所示:

通過獲取到的該廠資訊查詢其卡資料結構,發現該卡控制為在9扇區2塊,該數據格式為下圖所示:9扇區包含了電梯卡的資訊包括樓號、樓層、卡有效期等控制比特。

更改數據

8、已知控制比特所代表的含義,下麵對數據比特進行更改達到通刷的效果。

寫入數據

9、將數據保存寫入空卡內Proxmark3不能識別、使用bin檔案,需要轉換成eml格式,使用以下命令將資料轉換成以卡片ID值命名的eml格式檔案: script run dumptoemul.lua 然後將卡片中匯出的數據用下列命令加載到PM3設備中去,後面字串為卡片值 hf mf eload BA2E2714最後使用以下命令尅隆到白卡裏: hf mf cload e 測試一下結果,滴,通了~

script run dumptoemul.lua hf mf eload BA2E2714 hf mf cload e

完成

以上的內容只是簡單提供一個破解的思路及複製卡的流程練習,當前很多Pm3Gui的介面及自動化程式已經較為成熟,在流程熟練的情况下推薦使用更為方便的Proxmark Tool及Proxmark3_EASY_GUI等可視化工具進行操作。

文中提及的部分科技可能帶有一定攻擊性,僅供安全學習和教學用途,禁止非法使用!