Проблеми на автономните системи за контрола на пристап - Каде што не се очекуваа

Добар ден на сите. Ќе започнам со позадината за тоа што ме поттикна да го спроведам ова истражување, но прво ќе ве предупредам: сите практични активности беа спроведени со согласност на владејачките структури. Секој обид да се искористи овој материјал за да се влезе во ограничена зона без право да се биде таму е кривично дело.

Сè започна кога, додека ја чистев масата, случајно го поставив влезниот клуч RFID на ACR122 NFC читачот - замислете го моето изненадување кога Windows го пушти звукот на откривање нов уред и ЛЕД-то стана зелено. До овој момент верував дека овие клучеви работат исклучиво во стандардот Proximity.
Проблеми на автономните системи за контрола на пристап - Каде што не се очекуваа
Но, бидејќи читателот го видел, тоа значи дека клучот исполнува еден од протоколите на врвот на стандардот ISO 14443 (познато како „Комуникација на блиско поле“, 13,56 MHz). Чистењето беше веднаш заборавено, бидејќи видов можност целосно да се ослободам од комплетот клучеви и да го задржам клучот од влезот во мојот телефон (станот одамна е опремен со електронска брава). Откако почнав да учам, дознав дека под пластиката е скриена ознака Mifare 1k NFC - истиот модел како во значките на претпријатието, картичките за транспорт итн. Обидите да се навлезе во содржината на секторите на почетокот не донесоа успех, а кога конечно беше пробиен клучот, се покажа дека се користел само третиот сектор, а UID-от на самиот чип бил дуплиран во него. Изгледаше премногу едноставно, и се покажа дека е така, и немаше да има напис ако сè одеше точно како што беше планирано. Така ги добив браздите од клучот и нема проблеми ако треба да го копирате клучот на друг од ист вид. Но, задачата беше да го префрлам клучот на мобилен уред, што и го направив. Еве каде започна забавата - имаме телефон - iPhone SE со инсталиран iOS 13.4.5 Бета-изградба 17F5044d и некои сопствени компоненти за бесплатно функционирање на NFC - нема да се задржувам на ова подетално поради некои објективни причини. Ако сакате, сè што е кажано подолу важи и за системот Андроид, но со некои поедноставувања.

Список на задачи за решавање:

  • Пристапете до содржината на клучот.
  • Спроведување на способноста да се емулира клуч од уредот.

Ако со првото сè беше релативно едноставно, тогаш со второто имаше проблеми. Првата верзија на емулаторот не работеше. Проблемот беше откриен доста брзо - на мобилните уреди (иОС или Андроид) во режим на емулација, UID е динамичен и, без оглед на тоа што е вметната во сликата, лебди. Втората верзија (работи со права на суперкорисници) строго го фиксира серискиот број на избраниот - вратата се отвори. Сепак, сакав да направам сè совршено, и на крајот составив комплетна верзија на емулаторот што може да отвори Mifare депонии и да ги имитира. Попуштајќи се на ненадеен импулс, ги сменив секторските клучеви во произволни и се обидов да ја отворам вратата. А таа… ОТВОРЕНО! По некое време сфатив дека се отвораат било вратите со оваа брава, дури и оние на кои не им одговараше оригиналниот клуч. Во врска со ова, создадов нова листа на задачи што треба да ги завршам:

  • Дознајте каков контролер е одговорен за работа со клучеви
  • Разберете дали има мрежна врска и заедничка база
  • Дознајте зошто практично нечитливиот клуч станува универзален

Откако разговарав со инженер во друштвото за управување, дознав дека едноставните контролери на Iron Logic z5r се користат без поврзување со надворешна мрежа.

CP-Z2 MF читач и IronLogic z5r контролер
Ми дадоа комплет опрема за експериментите:

Проблеми на автономните системи за контрола на пристап - Каде што не се очекуваа

Како што е јасно од овде, системот е целосно автономен и крајно примитивен. Отпрвин мислев дека контролорот е во режим на учење - значењето е дека го чита клучот, го складира во меморија и ја отвора вратата - овој режим се користи кога е неопходно да се снимаат сите клучеви, на пример, кога се заменува заклучување во станбена зграда. Но, оваа теорија не беше потврдена - овој режим е исклучен во софтверот, скокачот е во работна положба - а сепак, кога ќе го подигнеме уредот, го гледаме следново:

Слика од екранот на процесот на емулација на уредот
Проблеми на автономните системи за контрола на пристап - Каде што не се очекуваа
... и контролорот сигнализира дека е даден пристап.

Ова значи дека проблемот лежи во софтверот или на контролорот или на читателот. Ајде да го провериме читачот - работи во режимот iButton, па да ја поврземе безбедносната табла Bolid - ќе можеме да ги прегледаме излезните податоци од читачот.

Плочката подоцна ќе биде поврзана преку RS232
Проблеми на автономните системи за контрола на пристап - Каде што не се очекуваа

Користејќи го методот на повеќекратни тестови, дознаваме дека читателот го емитува истиот код со во случај на неуспех на овластувањето: 1219191919

Ситуацијата почнува да станува појасна, но во моментов не ми е јасно зошто контролорот реагира позитивно на оваа шифра. Постои претпоставка дека кога била пополнета базата на податоци - случајно или намерно била претставена картичка со други секторски клучеви - читателот го испратил овој код и контролорот го зачувал. За жал, немам комерцијален програмер од IronLogic за да ја разгледам базата на податоци за клучеви на контролорот, но се надевам дека успеав да свртам внимание на фактот дека проблемот постои. Достапна е видео демонстрација за работа со оваа ранливост по ссылке.

П.С. На теоријата за случајно собирање се спротивставува фактот што во еден деловен центар во Краснојарск успеав да ја отворам вратата користејќи го истиот метод.

Извор: www.habr.com

Додадете коментар