Masalah sistem kawalan capaian autonomi - Di mana ia tidak dijangka

selamat hari untuk semua. Saya akan mulakan dengan latar belakang tentang perkara yang mendorong saya menjalankan penyelidikan ini, tetapi pertama-tama saya akan memberi amaran kepada anda: semua tindakan praktikal telah dijalankan dengan persetujuan struktur yang mentadbir. Sebarang percubaan untuk menggunakan bahan ini untuk memasuki kawasan larangan tanpa hak untuk berada di sana adalah satu kesalahan jenayah.

Semuanya bermula apabila, semasa membersihkan meja, saya secara tidak sengaja meletakkan kunci masuk RFID pada pembaca ACR122 NFC - bayangkan saya terkejut apabila Windows memainkan bunyi mengesan peranti baharu dan LED bertukar hijau. Sehingga saat ini, saya percaya bahawa kunci ini berfungsi secara eksklusif dalam standard Proximity.
Masalah sistem kawalan capaian autonomi - Di mana ia tidak dijangka
Tetapi sejak pembaca melihatnya, ini bermakna kunci memenuhi salah satu protokol di atas standard ISO 14443 (aka Komunikasi Medan Berdekatan, 13,56 MHz). Pembersihan segera dilupakan, kerana saya melihat peluang untuk menyingkirkan sepenuhnya set kunci dan menyimpan kunci pintu masuk dalam telefon saya (pangsapuri telah lama dilengkapi dengan kunci elektronik). Setelah mula belajar, saya mendapati bahawa tersembunyi di bawah plastik adalah tag NFC Mifare 1k - model yang sama seperti dalam lencana perusahaan, kad pengangkutan, dll. Percubaan untuk masuk ke dalam kandungan sektor tidak membawa kejayaan pada mulanya, dan apabila kunci akhirnya retak, ternyata hanya sektor ke-3 yang digunakan, dan UID cip itu sendiri telah diduplikasi di dalamnya. Ia kelihatan terlalu mudah, dan ternyata begitu, dan tidak akan ada artikel jika semuanya berjalan tepat seperti yang dirancang. Oleh itu, saya menerima giblets kunci, dan tidak ada masalah jika anda perlu menyalin kunci kepada yang lain daripada jenis yang sama. Tetapi tugasnya adalah untuk memindahkan kunci ke peranti mudah alih, itulah yang saya lakukan. Di sinilah keseronokan bermula - kami mempunyai telefon - iPhone SE dengan dipasang iOS 13.4.5 Beta binaan 17F5044d dan beberapa komponen tersuai untuk operasi percuma NFC - Saya tidak akan membincangkan perkara ini secara terperinci kerana beberapa sebab objektif. Jika dikehendaki, semua yang dinyatakan di bawah juga terpakai pada sistem Android, tetapi dengan beberapa pemudahan.

Senarai tugas yang perlu diselesaikan:

  • Akses kandungan kunci.
  • Laksanakan keupayaan untuk meniru kunci oleh peranti.

Jika dengan yang pertama semuanya agak mudah, maka dengan yang kedua terdapat masalah. Versi pertama emulator tidak berfungsi. Masalahnya ditemui agak cepat - pada peranti mudah alih (sama ada iOS atau Android) dalam mod emulasi, UID adalah dinamik dan, tanpa mengira apa yang disambungkan ke dalam imej, ia terapung. Versi kedua (dijalankan dengan hak pengguna super) dengan ketat menetapkan nombor siri pada yang dipilih - pintu dibuka. Walau bagaimanapun, saya mahu melakukan segala-galanya dengan sempurna, dan akhirnya menyusun versi lengkap emulator yang boleh membuka pembuangan Mifare dan menirunya. Mengalah kepada dorongan yang tiba-tiba, saya menukar kunci sektor kepada yang sewenang-wenangnya dan cuba membuka pintu. Dan dia… DIBUKA! Selepas beberapa ketika saya menyedari bahawa mereka membuka mana-mana pintu dengan kunci ini, malah pintu yang tidak sesuai dengan kunci asal. Dalam hal ini, saya mencipta senarai tugasan baharu untuk diselesaikan:

  • Ketahui jenis pengawal yang bertanggungjawab untuk bekerja dengan kunci
  • Fahami sama ada terdapat sambungan rangkaian dan pangkalan yang sama
  • Ketahui sebab kunci yang hampir tidak boleh dibaca menjadi universal

Selepas bercakap dengan seorang jurutera di syarikat pengurusan, saya mengetahui bahawa pengawal z5r Iron Logic mudah digunakan tanpa menyambung ke rangkaian luaran.

Pembaca MF CP-Z2 dan pengawal z5r IronLogic
Saya diberi satu set peralatan untuk eksperimen:

Masalah sistem kawalan capaian autonomi - Di mana ia tidak dijangka

Seperti yang jelas dari sini, sistem ini sepenuhnya autonomi dan sangat primitif. Pada mulanya saya fikir pengawal berada dalam mod pembelajaran - maksudnya ialah ia membaca kunci, menyimpannya dalam ingatan dan membuka pintu - mod ini digunakan apabila perlu untuk merakam semua kekunci, sebagai contoh, apabila menggantikan kunci dalam bangunan apartmen. Tetapi teori ini tidak disahkan - mod ini dimatikan dalam perisian, pelompat berada dalam kedudukan kerja - namun, apabila kami membawa peranti ke atas, kami melihat perkara berikut:

Tangkapan skrin proses emulasi pada peranti
Masalah sistem kawalan capaian autonomi - Di mana ia tidak dijangka
... dan pengawal memberi isyarat bahawa akses telah diberikan.

Ini bermakna masalahnya terletak pada perisian sama ada pengawal atau pembaca. Mari kita periksa pembaca - ia berfungsi dalam mod iButton, jadi mari kita sambungkan papan keselamatan Bolid - kita akan dapat melihat data output daripada pembaca.

Papan kemudiannya akan disambungkan melalui RS232
Masalah sistem kawalan capaian autonomi - Di mana ia tidak dijangka

Menggunakan kaedah berbilang ujian, kami mendapati bahawa pembaca menyiarkan kod yang sama sekiranya berlaku kegagalan kebenaran: 1219191919

Keadaan mula menjadi lebih jelas, tetapi pada masa ini tidak jelas kepada saya mengapa pengawal bertindak balas secara positif kepada kod ini. Terdapat andaian bahawa apabila pangkalan data telah diisi - secara tidak sengaja atau dengan sengaja kad dengan kunci sektor lain telah dibentangkan - pembaca menghantar kod ini dan pengawal menyimpannya. Malangnya, saya tidak mempunyai pengaturcara proprietari dari IronLogic untuk melihat ke dalam pangkalan data kunci pengawal, tetapi saya harap saya dapat menarik perhatian kepada fakta bahawa masalah itu wujud. Demonstrasi video bekerja dengan kerentanan ini tersedia ΠΏΠΎ ссылкС.

PS Teori penambahan rawak ditentang oleh fakta bahawa di satu pusat perniagaan di Krasnoyarsk saya juga berjaya membuka pintu menggunakan kaedah yang sama.

Sumber: www.habr.com

Tambah komen