Problemi avtonomnih sistemov za nadzor dostopa - Kjer jih nismo pričakovali

Lep dan vsem. Začel bom z ozadjem o tem, kaj me je spodbudilo k tej raziskavi, vendar vas najprej opozorim: vsi praktični ukrepi so bili izvedeni s soglasjem vladajočih struktur. Vsak poskus uporabe tega materiala za vstop na prepovedano območje brez pravice do tam je kaznivo dejanje.

Vse se je začelo, ko sem med čiščenjem mize RFID vhodni ključ pomotoma položil na NFC čitalnik ACR122 – predstavljajte si moje presenečenje, ko je Windows predvajal zvok zaznavanja nove naprave in je LED lučka zasvetila zeleno. Do tega trenutka sem verjel, da te tipke delujejo izključno v standardu Proximity.
Problemi avtonomnih sistemov za nadzor dostopa - Kjer jih nismo pričakovali
A ker ga je bralec videl, pomeni, da ključ ustreza enemu od protokolov poleg standarda ISO 14443 (aka komunikacija bližnjega polja, 13,56 MHz). Na čiščenje sem takoj pozabil, saj sem videl priložnost, da se kompleta ključev popolnoma znebim in ključ od vhoda obdržim v telefonu (stanovanje je že dolgo opremljeno z elektronsko ključavnico). Ko sem začel študirati, sem ugotovil, da se pod plastiko skriva Mifare 1k NFC oznaka - enak model kot pri značkah podjetij, transportnih karticah itd. Poskusi, da bi prišli do vsebine sektorjev, sprva niso prinesli uspeha, in ko je bil ključ končno razbit, se je izkazalo, da je bil uporabljen samo 3. sektor, v njem pa je bil podvojen UID samega čipa. Videti je bilo preveč preprosto in izkazalo se je tako in članka ne bi bilo, če bi šlo vse po načrtih. Prejel sem torej drobovje ključa in ni težav, če bi morali ključ kopirati na drugega enakega. Toda naloga je bila prenos ključa na mobilno napravo, kar sem tudi storil. Tu se je začela zabava - imamo telefon - iPhone SE z nameščenim iOS 13.4.5 Beta, zgradba 17F5044d in nekaj prilagojenih komponent za brezplačno delovanje NFC - o tem se zaradi objektivnih razlogov ne bom podrobneje ukvarjal. Po želji vse spodaj povedano velja tudi za sistem Android, vendar z nekaj poenostavitvami.

Seznam nalog za reševanje:

  • Dostop do vsebine ključa.
  • Implementirajte možnost posnemanja ključa z napravo.

Če je bilo s prvim vse relativno preprosto, potem so bile z drugim težave. Prva različica emulatorja ni delovala. Težavo so odkrili precej hitro – na mobilnih napravah (bodisi iOS ali Android) v emulacijskem načinu je UID dinamičen in ne glede na to, kaj je vgrajeno v sliko, lebdi. Druga različica (zagon s pravicami superuporabnika) je togo pritrdila serijsko številko na izbrano - vrata so se odprla. Vendar sem želel vse narediti popolno in na koncu sem sestavil popolno različico emulatorja, ki je lahko odpiral odlagališča Mifare in jih posnemal. Popustil sem nenadnemu impulzu, spremenil sektorske ključe v poljubne in poskušal odpreti vrata. In ona… ODPRTO! Čez nekaj časa sem ugotovil, da se odpirajo koli vrata s to ključavnico, tudi tista, ki jim originalni ključ ni ustrezal. V zvezi s tem sem ustvaril nov seznam nalog, ki jih moram dokončati:

  • Ugotovite, kakšen krmilnik je odgovoren za delo s ključi
  • Razumeti, ali obstaja omrežna povezava in skupna baza
  • Ugotovite, zakaj tako rekoč neberljiv ključ postane univerzalen

Po pogovoru z inženirjem v družbi za upravljanje sem izvedel, da se preprosti krmilniki Iron Logic z5r uporabljajo brez povezave z zunanjim omrežjem.

Čitalnik CP-Z2 MF in krmilnik IronLogic z5r
Dobil sem komplet opreme za poskuse:

Problemi avtonomnih sistemov za nadzor dostopa - Kjer jih nismo pričakovali

Kot je razvidno od tukaj, je sistem popolnoma avtonomen in izjemno primitiven. Najprej sem mislil, da je krmilnik v načinu učenja - to pomeni, da prebere ključ, ga shrani v spomin in odpre vrata - ta način se uporablja, ko je treba posneti vse ključe, na primer pri zamenjavi zakleniti v stanovanjski hiši. Toda ta teorija ni bila potrjena - ta način je v programski opremi izklopljen, skakalec je v delovnem položaju - in vendar, ko pripeljemo napravo, vidimo naslednje:

Posnetek zaslona procesa emulacije v napravi
Problemi avtonomnih sistemov za nadzor dostopa - Kjer jih nismo pričakovali
... in krmilnik signalizira, da je bil dostop odobren.

To pomeni, da je težava v programski opremi krmilnika ali čitalnika. Preverimo čitalnik - deluje v načinu iButton, zato priklopimo varnostno ploščo Bolid - lahko bomo videli izhodne podatke iz čitalnika.

Plošča bo kasneje povezana preko RS232
Problemi avtonomnih sistemov za nadzor dostopa - Kjer jih nismo pričakovali

Z metodo večkratnih testov ugotovimo, da čitalec v primeru neuspešne avtorizacije oddaja isto kodo: 1219191919

Situacija se začenja jasniti, vendar mi trenutno ni jasno, zakaj se krmilnik na to kodo odzove pozitivno. Obstaja domneva, da je bralec, ko je bila baza podatkov napolnjena - po naključju ali namerno predstavljena kartica z drugimi sektorskimi ključi - poslal to kodo in jo je krmilnik shranil. Na žalost nimam lastniškega programerja podjetja IronLogic, da bi pogledal v bazo ključev krmilnika, vendar upam, da sem lahko opozoril na dejstvo, da problem obstaja. Na voljo je video predstavitev dela s to ranljivostjo по ссылке.

PS Teoriji naključnega dodajanja nasprotuje dejstvo, da mi je tudi v enem poslovnem centru v Krasnojarsku uspelo odpreti vrata z isto metodo.

Vir: www.habr.com

Dodaj komentar