iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

Day 05 示範程式:MFKey32 攻擊

繼續來介紹筆者在這個專案內製作的一些示範用的程式,今天要介紹的這個是可以用來對讀卡機進行 MFKey32 攻擊,網址為 https://taichunmin.idv.tw/chameleon-ultra.js/mfkey32.html

在這篇文章中,筆者會帶你了解如何使用這個示範程式跟 ChameleonUltra 來對讀卡機進行 MFKey32 攻擊。

什麼是 MFKey32 攻擊?

這是一個針對 Mifare Classic 卡片的攻擊,如果你想讀取一張 Mifare Classic 卡片的所有 Sector 資料,但是你卻沒有正確的卡片金鑰,你可以嘗試使用 MFKey32 攻擊來取得讀卡機嘗試使用的金鑰。

MFKey32 是一個利用 Crypto1 加密演算法中的弱點的演算法,MFKey32 攻擊會需要先從讀卡機收集兩次認證過程中所傳輸的資料,然後透過 MFKey32 演算法逆推出讀卡機使用的金鑰。MFKey32 演算法的原理是透過還原 Crypto-1 的線性反饋移位暫存器中的原始狀態,這個原始狀態就會是讀卡機所使用的金鑰。

讀取卡片 (選擇性步驟)

進行 MFKey32 攻擊之前,如果你有一張這個讀卡機支援的有效卡片,你可以先點擊網頁上的「Scan UID」按鈕,讓 ChameleonUltra 讀取這個卡片的基本資訊。

模擬卡片

如果你上一個步驟有成功讀取卡片,你就可以直接點擊網頁上的「Emulate」按鈕來模擬。

如果你沒有卡片,你也可以手動輸入「卡片種類」、「UID」、「ATQA」、「SAK」等資料,然後點擊網頁上的「Emulate」按鈕,讓 ChameleonUltra 模擬成這張卡片。

讓讀卡機讀取兩次以上

ChameleonUltra 成功模擬成卡片以後,你需要讓讀卡機對 ChameleonUltra 進行讀取至少兩次以上,這樣 ChameleonUltra 才有辦法蒐集到足夠逆推金鑰的資料。

逆推金鑰

當 ChameleonUltra 蒐集到足夠的資料以後,你可以點擊網頁上的「Recover」按鈕,讓網頁讀取 ChameleonUltra 的資料,然後進行 MFKey32 攻擊,這個過程可能需要花費一些時間,請耐心等待。

測試金鑰 (選擇性步驟)

當程式成功逆推出讀卡機的金鑰以後,你可以讓 ChameleonUltra 對卡片進行測試讀取,以便確認金鑰是否正確。

你可以先把卡片放在 ChameleonUltra 前方,然後選擇你想要測試的金鑰,點擊金鑰右邊的「Test」按鈕來帶入金鑰的資訊,然後點擊網頁上的「Check」按鈕來測試讀取卡片。

參考連結


上一篇
Day 04 示範程式:裝置資訊及設定管理
下一篇
Day 06 如何使用 SDK (Part 1)
系列文
用 Web Serial/Bluetooth 來控制 ChameleonUltra 硬體30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言