Autonominių prieigos kontrolės sistemų problemos – kur jie nesitikėjo

Laba diena visoms. Pradėsiu nuo to, kas paskatino mane atlikti šį tyrimą, bet pirmiausia perspėsiu: visi praktiniai veiksmai buvo atlikti su vadovaujančių struktūrų sutikimu. Bet koks bandymas panaudoti šią medžiagą patekti į draudžiamą zoną neturint teisės ten būti yra baudžiamasis nusikaltimas.

Viskas prasidėjo nuo to, kad valydamas stalą netyčia uždėjau RFID įėjimo raktą ant ACR122 NFC skaitytuvo – įsivaizduokite mano nuostabą, kai Windows paleido naujo įrenginio aptikimo garsą, o šviesos diodas užsidegė žaliai. Iki šiol tikėjau, kad šie klavišai veikia tik Proximity standarte.
Autonominių prieigos kontrolės sistemų problemos – kur jie nesitikėjo
Bet kadangi skaitytojas tai pamatė, tai reiškia, kad raktas atitinka vieną iš protokolų, viršijančių ISO 14443 standartą (dar žinomas kaip artimojo lauko ryšys, 13,56 MHz). Valymas iškart buvo pamirštas, nes pamačiau galimybę visiškai atsikratyti raktų komplekto ir raktą nuo įėjimo pasilikti telefone (bute jau seniai įrengta elektroninė spyna). Pradėjęs studijuoti sužinojau, kad po plastiku yra paslėpta Mifare 1k NFC žyma - tokio paties modelio kaip įmonės ženkliukuose, transporto kortelėse ir kt. Bandymai įsiskverbti į sektorių turinį iš pradžių neatnešė sėkmės, o galiausiai nulaužus raktą paaiškėjo, kad buvo naudojamas tik 3-ias sektorius, o jame dubliuotas paties lusto UID. Atrodė per daug paprasta, taip ir pasirodė, ir straipsnio nebūtų, jei viskas vyktų tiksliai taip, kaip planuota. Taigi aš gavau rakto dalis ir nėra problemų, jei reikia nukopijuoti raktą į kitą tokio pat tipo. Bet užduotis buvo perkelti raktą į mobilųjį įrenginį, ką aš ir padariau. Čia ir prasidėjo linksmybės – turime telefoną – "iPhone VĮ su nustatyta iOS 13.4.5 Beta build 17F5044d ir kai kurie pasirinktiniai komponentai, skirti laisvam NFC veikimui - dėl tam tikrų objektyvių priežasčių apie tai nekalbėsiu. Jei pageidaujama, viskas, kas pasakyta žemiau, taip pat taikoma „Android“ sistemai, tačiau su tam tikrais supaprastinimais.

Spręstinų užduočių sąrašas:

  • Pasiekite rakto turinį.
  • Įdiekite įrenginio galimybę emuliuoti raktą.

Jei su pirmuoju viskas buvo gana paprasta, tai su antruoju buvo problemų. Pirmoji emuliatoriaus versija neveikė. Problema buvo aptikta gana greitai – mobiliuosiuose įrenginiuose (iOS arba Android) emuliacijos režimu UID yra dinamiškas ir, nepaisant to, kas įtaisyta į vaizdą, jis plūduriuoja. Antroji versija (paleisti su supervartotojo teisėmis) tvirtai pritvirtino pasirinkto serijos numerį - durys atsidarė. Tačiau norėjau viską padaryti nepriekaištingai ir galiausiai sukūriau pilną emuliatoriaus versiją, kuri galėtų atidaryti „Mifare“ sąvartynus ir juos mėgdžioti. Pasiduodamas staigiam impulsui, pakeičiau sektorinius raktus į savavališkus ir bandžiau atidaryti duris. Ir ji… ATIDARYTA! Po kurio laiko supratau, kad jie atsidaro bet koks durys su šia spyna, net ir tos, prie kurių originalus raktas netiko. Šiuo atžvilgiu sukūriau naują užduočių, kurias reikia atlikti, sąrašą:

  • Sužinokite, koks valdiklis yra atsakingas už darbą su raktais
  • Supraskite, ar yra tinklo ryšys ir bendra bazė
  • Sužinokite, kodėl praktiškai neįskaitomas raktas tampa universalus

Pakalbėjęs su valdymo įmonės inžinieriumi sužinojau, kad paprasti Iron Logic z5r valdikliai naudojami neprisijungus prie išorinio tinklo.

CP-Z2 MF skaitytuvas ir IronLogic z5r valdiklis
Man buvo suteiktas įrangos rinkinys eksperimentams:

Autonominių prieigos kontrolės sistemų problemos – kur jie nesitikėjo

Kaip matyti iš čia, sistema yra visiškai autonomiška ir itin primityvi. Iš pradžių maniau, kad valdiklis yra mokymosi režimu - reiškia, kad jis nuskaito raktą, išsaugo jį atmintyje ir atidaro dureles - šis režimas naudojamas, kai reikia įrašyti visus raktus, pavyzdžiui, keičiant užraktas daugiabutyje. Tačiau ši teorija nebuvo patvirtinta - šis režimas išjungtas programinėje įrangoje, trumpiklis yra darbinėje padėtyje - ir vis dėlto, kai pakeliame įrenginį, matome:

Įrenginio emuliacijos proceso ekrano kopija
Autonominių prieigos kontrolės sistemų problemos – kur jie nesitikėjo
... ir valdiklis signalizuoja, kad prieiga suteikta.

Tai reiškia, kad problema slypi valdiklio arba skaitytuvo programinėje įrangoje. Patikrinkime skaitytuvą – veikia iButton režimu, tad prijungkime Bolid apsaugos plokštę – galėsime peržiūrėti išvesties duomenis iš skaitytuvo.

Plokštė vėliau bus prijungta per RS232
Autonominių prieigos kontrolės sistemų problemos – kur jie nesitikėjo

Naudodami kelių testų metodą, išsiaiškiname, kad skaitytuvas transliuoja tą patį kodą su: 1219191919

Situacija pradeda aiškėti, tačiau šiuo metu man neaišku, kodėl kontrolierius teigiamai reaguoja į šį kodą. Daroma prielaida, kad užpildžius duomenų bazę - netyčia ar tyčia buvo pateikta kortelė su kitais sektorių raktais - skaitytuvas atsiuntė šį kodą, o valdiklis jį išsaugojo. Deja, neturiu patentuoto „IronLogic“ programuotojo, kuris galėtų peržiūrėti valdiklio raktų duomenų bazę, bet tikiuosi, kad sugebėjau atkreipti dėmesį į tai, kad problema egzistuoja. Galimas darbo su šiuo pažeidžiamumu demonstracinis vaizdo įrašas по ссылке.

P. S. Atsitiktinio papildymo teorijai prieštarauja tai, kad viename verslo centre Krasnojarske taip pat pavyko atidaryti duris tokiu pat būdu.

Šaltinis: www.habr.com

Добавить комментарий