【原創】Proxmark3系列教程1——PM3用法


1 PM3介紹

proxmark3是一款開源的RFID安全研究平台黑色按鈕從圖中我們可以看到左上方有一顆黑色按鈕,這個按鈕就是Proxmark3的功能鍵,主要用於啟動嗅探模式以及停止進程功能,其中內置高頻和低頻天線,能夠識別和讀取大部分的RFID卡片,並且國產的PM3還可以通過轉接頭等工具和手機等智能設備進行連接,從而實現跨平台的使用。

 

 

2 RFID破解

前面對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就是貝嶺芯片。

MifareClassic 1k共有16個扇區,分別為0-15個扇區;每個扇區有4塊,分別為0-3塊,每個塊有32個字符;0扇區的0塊為只讀塊,只存儲廠商代碼和UID號。

其他每個扇區的前3塊為數據庫,最后一塊為密碼塊。密碼塊的前12個字符為A區密碼,中間8個字符為控制位,后面12個字符為B區密碼。

控制位主要是讀卡器在驗證卡的時候所用到的,不同的控制位表示不同的驗證方式。

 

 

結合上圖,我們可以來計算一下MifareClassic 1K的真實容量,首先1扇區的0塊為只讀,所有扇區的3塊都是固定的沒有容量,那么真實容量就是:

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的知一密求全密的功能對扇區1、2進行破解

 

 

 

 

成功破解出1、2扇區的密碼。

利用PRNG漏洞破解

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偽造

前面提到過中國后門卡,這里給大家講解一下中國后門卡的原理的發展。

在早期RFID技術開始興起時,卡片的價格還比較高昂,隨着后期這項技術的關注程度越來越高,中國的很多廠商也考試對這項技術進行研究,並很快研究出了和M1系列卡片功能一致且價格極其低廉的卡片,但是后期有一部分人發現這種卡片在使用時有的需要實現相同功能,但是卡片又沒有辦法復制,所以就開始研究一種能夠復制UID的卡片,並在后期成功研制出能夠進行復制的卡片,這就是早期的CUID卡,這種卡片能夠在正常使用時間內無限次的修改卡片的UID,並能夠實現和市場上流通的卡片相同的功能。

后來很多廠商發現了這一問題,開始研究如何對后門卡進行預防,隨后出現一大批能夠檢測中國后門卡的方案,其中大部分方案都是利用中國后門卡的自身的功能對其中的uid進行修改測試,如果機器判斷能夠修改UID,即停止對這張卡進行服務。

后來研究人員又對后門卡進行升級,然后推出了FUID卡,這種卡片和CUID卡相類似,但是它有一個特性就是在出場之后只能對其UID進行一次修改,一次修改完畢之后機會將0扇區鎖死,無法再次修改,這種方案成功繞過了場上的檢測機制。ID卡片的發展機制與之類似。

下面進行IC卡的復制實戰,首先將卡中數據全部讀取並寫入到編輯區

 

 

放上空白的S50卡片,並點擊克隆到空白S50卡片,待寫入成功之后即可將數據寫入到空白卡中。並能夠使用復制之后的卡片進行河源卡一樣的操作。

RFID嗅探

RFID嗅探也是一種非常常見的RFID攻擊方式,對於一些卡片我們無法使用默認密碼或者PRNG漏洞攻破其密碼,但是我們仍然可以使用嗅探的方式對其進行攻擊,從而嗅探出密碼。

點擊GUI軟件中的現場有卡嗅探按鈕,或者在命令行下輸入hf 14a snoop

然后將卡片讀卡器和PM3按照如下順序進行放置

 

 

待嗅探完成之后按下PM3左側按鈕,並在命令行下輸入hf list 14a命令查看嗅探結果

 

 

並使用工具計算出扇區密碼

 

——by laohei

無線安全技術交流:QQ:2834283053

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM