破解mifare Classic(M1)非接觸式射頻IC卡--Mifare crack Hack 筆記二

    光說不練假把式,昨天一咬牙一跺腳入手了一塊PN532開發板,看了幾天的PN532C106 Application Note、User Manual,感覺這個芯片還行。關鍵是隻有這個芯片的開發板比較便宜……窮啊,ACR122u都買不起,更別說神奇Proxmark3了,玩硬件就是砸錢啊哭

   說說這兩天的收穫。一開始看PN532支持卡模擬方式,把我樂的不行,又能當讀卡器又能模擬卡,太實惠了,後來看手冊才發現,單獨的PN532只支持模擬標準的ISO 14443-4協議的卡,Mifare Classic(M1)是自己實現的私有協議,最高兼容到14443-3還是部分兼容。不過既然M1已經破解了,等板子到手後可以研究一下能不能自己寫代碼模擬一個M1卡,目前還是抱有一絲希望的。


  破解M1卡,如果有一張可以改UID的 特種卡 那真是利器了,不過淘寶賣的太貴了100一張,是普通卡價格的100倍~!太坑爹了。於是我開始考慮可不可以把一張普通M1卡改造成特種卡。通過看資料得知M1的UID如同普通資料一樣放在了0區,只是這個區的控制塊權限改成了不能寫(即使知道密碼A、B也不能寫),而且0區還存有製造商數據。單獨爲0區改電路是很麻煩的,由此推測,硬件上所有區應該都是相同的邏輯,只是在 M1卡芯片封裝 前直接操作EEROM將UID和製造商、控制塊權限數據寫入使0區變爲只讀。 一知半解害死人,0塊的只讀應該不是控制塊控制的,事情沒那麼簡單,還是用PN532模擬靠點譜,最大的問題是timing(時序?) 看了網上一些帖子詢問誤操作控制塊導致某個區鎖死(變成跟0區一樣只讀)的解決辦法,回答都是換新卡,也就是無解。所以,如果能找到一種繞過控制塊權限的辦法重寫控制塊便有可能將一張普通卡改造成特種卡,而且再也不用擔心誤操作鎖死,可以隨心所欲的寫卡了。

    不過,是否能找到這種方法呢?機會應該是十分渺茫的,這可真算得上Hardware Hacking了。溢出一個芯片?呵呵,聽着都像神話,如何可以繞過控制塊權限那連密碼驗證都繞過了,控制塊應該是核心技術了難度可想而知,不過我們可以降低一下難度。非全加密的M1卡可以通過mfoc迅速解出所有扇區密碼,應用的原理應該是Wirelessly Pickpocketing a Mifare Classic Card裏的嵌套認證攻擊,通過已知密碼獲得其他扇區密碼的其中32位(密碼一共6字節48位),窮舉剩餘16位,基本秒殺。略看了mfoc的源碼,包含了很多m1白卡的默認密碼 FFFFFFFFFFFF、A0B0C0D0E0F0等等,應該是利用這些扇區的密碼充當一直扇區密碼來破解的。全加密卡可以用mfcuk(注意不是mfuck,第一次看到這個程序時記成mfuck了,於是後來Google的時候怎麼都找不到這個程序了,我還以爲這麼快就被和諧了呢吐舌頭)先破解出一個扇區的密碼再用mfoc加速破解其他密碼,原理也是猜的,應該是Wirelessly Pickpocketing a Mifare Classic Card裏的Varying the reader nonce方法,這個方法應該是時間、空間效率最高的而且對設備要求不高。

    於是我的目標成了在已知A、B密碼的情況下繞過控制塊權限改寫控制塊內容

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章