天天看點

某大學校園卡解密過程

得到一張某大學的校園卡,研究一番。

經過初步分析,認定該卡為M1/S50的相容産品。于是可以放心大膽的折騰了。

掃了一下,卡片的所有扇區均被加密,Key A/B不存在預設值或弱密碼。

根據卡片提供者的自然情況,仔細想了一下:

這個卡應該是2009年或更早的時候生産的,那時候M1卡片的缺陷還沒有引起足夠的重視,或者說大多數人都不知道有這麼回事。

是以這個卡的邏輯電路應該是沒有經過任何的改良設計。(聽說後期改良的卡片都可以杜絕card-only攻擊了)

開始用mfocgui跑了一下,結果說找不到任何的預設key,不能繼續。

于是用PM3跑darkside攻擊。但是好像PM3一直都是用作嗅探裝置,作為crack裝置,反而表現得非常差勁。

反正我買的國内第一版複刻的PM3,darkside跑久了,整個系統就挂了。毫無反應。

改用電腦挂acr122u,用mfcuk跑darkside攻擊。差不多過了一個多小時吧,扇區0的Key A終于被我跑出來了。然後又繼續跑了2個扇區的Key A。

有了這些key,就開始用PM3跑nested攻擊。别說,還比較有效,跑出了15組KeyA和11組KeyB。

剩下的幾個Key是無論如何也跑不出來了。(寫文章的時候,PM3已刷最新版)

mfocgui好像還不支援導入自定義的key。于是上網查了一下,得到答案。

mfocgui的目錄下,有一個Keys的目錄,裡面放的是卡片的key檔案。

檔案的命名規則是:[A/B]+[卡片UID号].dump。比如UID為01234567的卡片,它的兩個key檔案就是:a01234567.dump和b01234567.dump。帶a的就是keyA,帶b的就是keyB。

可以把你通過其他管道獲得的密鑰寫進這個檔案裡。

不必關心檔案的格式,找一個已經存在的key檔案,用winhex打開就進行編輯,覆寫即可。密鑰是以16進制的形式存在于檔案中的,不是文本,這個要注意。

可以隻要KeyA或者KeyB的檔案。注意寫key的時候不要寫錯,否則最後生成整卡的dump檔案,會把錯誤的key寫進去。

然後就可以開始攻擊了。mfocgui的效率還是很高的,不出一會兒,全卡的key都出來了。

mfcuk的人機接口做的比較簡單啦,看不到工作進度,總以為它死掉了,其實沒有,還很穩定的。

一般都說30分鐘之内能出結果,但也不一定。還是讓它在背景跑着,你自己幹點别的吧。你看我等了一個多小時才出第一個key,少安毋躁。

遇到沒有預設key的卡,如果可以判斷卡的年代,還是值得用darkside攻擊試試看的。

繼續閱讀