自主存取控制系統的問題 - 意想不到的地方

祝大家美好的一天。 我將從促使我進行這項研究的背景開始,但首先我要警告您:所有實際行動都是在治理結構的同意下進行的。 任何試圖使用該資料進入無權進入禁區的行為均屬刑事犯罪。

這一切都始於我在清理桌子時不小心將 RFID 入口鑰匙放在 ACR122 NFC 讀取器上 - 想像一下當 Windows 播放檢測到新設備的聲音並且 LED 變成綠色時我有多驚訝。 直到這一刻,我相信這些鍵只能在 Proximity 標準中使用。
自主存取控制系統的問題 - 意想不到的地方
但既然讀者看到了它,這意味著密鑰滿足 ISO 14443 標準之上的協議之一(又稱近場通信,13,56 MHz)。 打掃很快就被忘記了,因為我看到了一個機會,可以完全擺脫那組鑰匙,並將入口鑰匙保留在我的手機中(公寓早已配備了電子鎖)。 開始研究後,我發現塑膠下面隱藏著一個 Mifare 1k NFC 標籤——與企業徽章、交通卡等的型號相同。 起初嘗試進入扇區內容並沒有成功,當密鑰最終被破解時,發現只使用了第3個扇區,並且晶片本身的UID被複製到其中。 看起來太簡單了,事實也確實如此,如果一切都按計劃進行的話就不會有文章了。 所以我收到了鑰匙的內臟,如果你需要將鑰匙複製到另一把同類的鑰匙上,也沒有問題。 但任務是將密鑰傳輸到行動設備,這就是我所做的。 這就是樂趣開始的地方——我們有一部電話—— iPhone SE 已安裝 iOS 13.4.5 測試版 17F5044d 以及一些用於 NFC 自由操作的自訂元件 - 由於一些客觀原因,我不會詳細討論這一點。 如果需要,以下所說的所有內容也適用於 Android 系統,但有些簡化。

要解決的任務清單:

  • 存取密鑰的內容。
  • 實現設備模擬密鑰的能力。

如果第一個一切都相對簡單,那麼第二個就會出現問題。 第一個版本的模擬器無法運作。 這個問題很快就被發現了 - 在模擬模式下的行動裝置(iOS 或 Android)上,UID 是動態的,並且無論影像中硬連線什麼,它都會浮動。 第二個版本(以超級用戶權限運行)將序號嚴格固定在所選版本上 - 門打開了。 然而,我想把一切都做到完美,最終組裝了一個完整版本的模擬器,可以打開 Mifare 轉儲並模擬它們。 我一時衝動,將扇區鑰匙更改為任意鑰匙,然後嘗試打開門。 和她… 打開! 過了一會兒我發現他們要開門了 任何 有此鎖的門,即使是那些原來的鑰匙不適合的門。 對此,我創建了一個新的任務清單來完成:

  • 了解哪種控制器負責處理按鍵
  • 了解是否存在網路連結和共同基礎
  • 了解為什麼幾乎不可讀的鑰匙變得通用

在與管理公司的工程師交談後,我了解到使用簡單的 Iron Logic z5r 控制器無需連接外部網路。

CP-Z2 MF 讀卡機和 IronLogic z5r 控制器
我得到了一套實驗設備:

自主存取控制系統的問題 - 意想不到的地方

從這裡可以清楚地看出,該系統是完全自主的並且極其原始。 起初我以為控制器處於學習模式 - 意思是它讀取鑰匙,將其存儲在內存中並打開門 - 當需要記錄所有鑰匙時使用此模式,例如在更換鑰匙時鎖在公寓樓裡。 但這個理論並沒有得到證實——這種模式在軟體中被關閉,跳線處於工作位置——然而,當我們啟動設備時,我們看到以下內容:

設備上的模擬製程截圖
自主存取控制系統的問題 - 意想不到的地方
...且控制器發出信號表示存取已被授予。

這意味著問題出在控制器或讀取器的軟體。 讓我們檢查一下讀卡機 - 它在 iButton 模式下工作,所以讓我們連接 Bolid 安全板 - 我們將能夠查看讀卡機的輸出資料。

該板稍後將透過 RS232 連接
自主存取控制系統的問題 - 意想不到的地方

透過多次測試的方法,我們發現閱讀器在授權失敗的情況下會廣播相同的代碼:1219191919

情況開始變得更加清晰,但目前我不清楚為什麼控制器會積極回應此程式碼。 假設當資料庫被填滿時——偶然或故意地出現了帶有其他扇區密鑰的卡片——讀卡器發送此代碼並且控制器保存它。 不幸的是,我沒有 IronLogic 的專有程式設計師來查看控制器金鑰資料庫,但我希望我能夠引起人們注意問題存在的事實。 提供如何處理此漏洞的影片演示 鏈接.

PS隨機加法理論與以下事實相反:在克拉斯諾亞爾斯克的一個商務中心,我也設法使用相同的方法打開了門。

來源: www.habr.com

添加評論