1 PM3介紹算法
proxmark3是一款開源的RFID安全研究平臺黑色按鈕從圖中咱們能夠看到左上方有一顆黑色按鈕,這個按鈕就是Proxmark3的功能鍵,主要用於啓動嗅探模式以及中止進程功能,其中內置高頻和低頻天線,可以識別和讀取大部分的RFID卡片,而且國產的PM3還能夠經過轉接頭等工具和手機等智能設備進行鏈接,從而實現跨平臺的使用。數據庫
前面對ID與IC之間的差異進行比較時得知,ID卡內的卡號讀取無任何權限,易於仿製.IC卡內所記錄數據的讀取,寫入均需相應的密碼認證,甚至卡片內每一個區均有不一樣的密碼保護,全面保護數據安全。因此這裏對於RFID卡片的破解主要目標就是IC卡。安全
這裏咱們使用典型的飛利浦公司的16扇區64扇塊M1卡做爲實驗對象,首先看一下這種卡片內部的數據存儲形式。函數
經常使用的M1卡主要有荷蘭恩智浦(NXP)公司生產的S50 和S70,都是屬於MifareClassic家族的。以S50爲例,國內兼容的最好的廠家是上海復旦微電子生產的FM11RF08芯片,區別是NXP原裝S50芯片的前15個扇區的密碼塊的控制位是:FF078069,最後1個扇區的密碼快的控制位是:FF0780BC。工具
國產復旦FM11RF08芯片的全部扇區的全部控制位均爲:FF078069,其次看芯片第0扇區第0塊的代碼,從第10位開始看,若是後面是08040062636就是復旦的芯片,若是後面是08040023569就是貝嶺芯片。oop
MifareClassic 1k共有16個扇區,分別爲0-15個扇區;每一個扇區有4塊,分別爲0-3塊,每一個塊有32個字符;0扇區的0塊爲只讀塊,只存儲廠商代碼和UID號。測試
其餘每一個扇區的前3塊爲數據庫,最後一塊爲密碼塊。密碼塊的前12個字符爲A區密碼,中間8個字符爲控制位,後面12個字符爲B區密碼。ui
控制位主要是讀卡器在驗證卡的時候所用到的,不一樣的控制位表示不一樣的驗證方式。加密
結合上圖,咱們能夠來計算一下MifareClassic 1K的真實容量,首先1扇區的0塊爲只讀,全部扇區的3塊都是固定的沒有容量,那麼真實容量就是:spa
32(每一個塊的容量)×3(每一個扇區可寫的塊)×16(共16個扇區)-32(除去0扇區0塊)=1504字節
1504字節比1k多出了480個字節,因此MifareClassic 1K 的真實容量將近1.5K
IC卡在製造時製造廠商爲了方便會將除0扇區以外的扇區的全部密碼默認設置爲FFFFFFFFFFFF,這就是IC卡片的默認密碼,咱們可使用PM3對卡片的默認密碼進行爆破。
早期的PM3要把高頻天線鏈接到Proxmark3的天線接口,而且鏈接完成以後要查看一下天線與PM3鏈接以後的工做電壓是否正常;國產的PM3工具在設計時就將高頻天線和低頻天線安裝到一塊兒,在使用時只須要實用工具對其電壓等進行探測是否正常。因爲PM3是一款開源的硬件產品,最先在2000左右就已經開始有人開始對其進行研究,因此如今相對的技術已經很是成熟,在外文資料中常常會看到一個PM3對應的利用工具,這個工具分爲兩種,一種是命令行下的利用工具,另一種是英文的可視化圖形界面。
可是這兩款軟件都有其對應的缺陷,在通過國人的二次開發以後推出了PM3 GUI版的利用工具。
軟件中繼承了絕大多數常見的軟件,可以對RFID進行快速攻擊。
首先使用數據線將PM3與電腦鏈接,並在設備管理器中查找相對應的串口。
鏈接成功後檢測工做電壓
將IC卡放置在高頻卡讀卡器位置,天線電壓發生變化
高頻天線電壓降低很是明顯,這就說明咱們如今所持有的卡片爲高頻IC卡,下面嘗試對器破解,首先先讀取卡片類型。
什麼是proprietary non-iso14443a card found,RATS not supported?
有時候Proxmark3在讀取部分MIFARE Classic卡UID的信息時,由於沒法獲得RATS的返回信息,會判斷爲非ISO14443a標準的卡.國內有太多MIFARE Classic類的卡,並非NXP出產的,因此Proxmark3就會出現了這樣子的提示!
同時還會提示是不是中國後門卡,這也是由於IC可修改UID的卡片是中國人首先研究出來的,因此被統稱爲中國後門卡。後面咱們會有詳細的介紹。
一般當咱們拿到相關的卡的時候,咱們應該先用chk命令去檢測一下測試卡是否存在出廠時遺留的默認Key,由於使用默認的Key致使惡意用戶可使用其進行卡的信息讀取以及修改。
已知的部分默認Key列表
nffffffffffff
nb0b1b2b3b4b5
n000000000000
na0a1a2a3a4a5
naabbccddeeff
n714c5c886e97
na0478cc39091
PM3程序中內置了一個默認密碼列表,並會自動闡釋使用者以列表中的密碼進行探測。
而且經過默認密碼掃描功能成功讀取了除1扇區和2扇區的山區密碼
這是利用嵌套認證漏洞使用任何一個扇區的已知密匙,獲取全部扇區的密匙,此漏洞成功率較高,這個漏洞也被稱做知一密求全密,咱們如今已經知道其中的幾個扇區的默認密碼,使用PM3的知一密求全密的功能對扇區一、2進行破解
成功破解出一、2扇區的密碼。
MIFARE Classic採用的是Crypto-1私有加密算法,其算法的特色就是對稱式的密碼算法或者說是私鑰密碼系統。其主要組成部分是僞隨機數發生器(PRNG)、48位的線性反饋移位寄存器(LFSR)以及非線性函數。因爲算法當中的Filter Function的設計出現缺陷,致使改變線性反饋移位寄存器的後8位數值就有可能獲得所對應的Keystream。這個缺陷相似於802.11b WEP算法,不一樣的明文有極高的可能性被相同的Keystream,使得整個加密算法出現了漏洞。
Proxmark3基於PRNG的安全缺陷是進行隨機數碰撞,利用PRNG的安全缺陷咱們能夠很快速地獲得對應的密鑰,從而進行進一步的破解操做。
若是咱們沒法進行基於PRNG的安全缺陷破解的時候,很大多是由於卡類增長了對應的機制(增長了防碰撞機制)以及修復了漏洞。
命令:hfmf mifare當輸入命令後,須要耐心等待,整個過程花費的時間有快有慢。
結果出現後,首先要判斷的是Found invaidKey仍是Found vaidkey,若是是invaidkey的話,就是表明基於PRNG的漏洞出現的Key是錯誤的,並不是正確的Key來的。可是最起碼能夠證實卡是存在PRNG漏洞的。接下來就是記住數值當中的Nt,這個數值將會被利用來進行第二次的PRNG漏洞的攻擊測試
命令:hfmf mifareNT值
當輸入命令後,窗口會再次進入進度狀態,依然請記住耐心等待結果,而且如需中止,請按黑色按鈕
由於基於PRNG的漏洞進行的破解,因此有時候會出現屢次Nt的循環,這是很正常的結果,咱們須要不斷的利用Nt去進行真正Key的破解。整個過程是漫長而乏味的
前面提到過中國後門卡,這裏給你們講解一下中國後門卡的原理的發展。
在早期RFID技術開始興起時,卡片的價格還比較高昂,隨着後期這項技術的關注程度愈來愈高,中國的不少廠商也考試對這項技術進行研究,並很快研究出了和M1系列卡片功能一致且價格極其低廉的卡片,可是後期有一部分人發現這種卡片在使用時有的須要實現相同功能,可是卡片又沒有辦法複製,因此就開始研究一種可以複製UID的卡片,並在後期成功研製出可以進行復制的卡片,這就是早期的CUID卡,這種卡片可以在正常使用時間內無限次的修改卡片的UID,並可以實現和市場上流通的卡片相同的功能。
後來不少廠商發現了這一問題,開始研究如何對後門卡進行預防,隨後出現一大批可以檢測中國後門卡的方案,其中大部分方案都是利用中國後門卡的自身的功能對其中的uid進行修改測試,若是機器判斷可以修改UID,即中止對這張卡進行服務。
後來研究人員又對後門卡進行升級,而後推出了FUID卡,這種卡片和CUID卡相相似,可是它有一個特性就是在出場以後只能對其UID進行一次修改,一次修改完畢以後機會將0扇區鎖死,沒法再次修改,這種方案成功繞過了場上的檢測機制。ID卡片的發展機制與之相似。
下面進行IC卡的複製實戰,首先將卡中數據所有讀取並寫入到編輯區
放上空白的S50卡片,並點擊克隆到空白S50卡片,待寫入成功以後便可將數據寫入到空白卡中。並可以使用複製以後的卡片進行河源卡同樣的操做。
RFID嗅探也是一種很是常見的RFID攻擊方式,對於一些卡片咱們沒法使用默認密碼或者PRNG漏洞攻破其密碼,可是咱們仍然可使用嗅探的方式對其進行攻擊,從而嗅探出密碼。
點擊GUI軟件中的現場有卡嗅探按鈕,或者在命令行下輸入hf 14a snoop
而後將卡片讀卡器和PM3按照以下順序進行放置
待嗅探完成以後按下PM3左側按鈕,並在命令行下輸入hf list 14a命令查看嗅探結果。
並使用工具計算出扇區密碼
——by laohei
無線安全技術交流:QQ:2834283053