Autonoomsete juurdepääsukontrollisüsteemide probleemid – seal, kus neid ei oodatud

Head päeva kõigile. Alustan taustast, mis ajendas mind seda uuringut läbi viima, kuid kõigepealt hoiatan teid: kõik praktilised toimingud viidi läbi juhtstruktuuride nõusolekul. Iga katse kasutada seda materjali piirangualale sisenemiseks ilma seal viibimise õiguseta on kriminaalkuritegu.

Kõik sai alguse sellest, et lauda koristades asetasin kogemata RFID-sissepääsu võtme ACR122 NFC-lugejale – kujutage ette mu üllatust, kui Windows tegi uue seadme tuvastamise heli ja LED-tuli roheliseks läks. Kuni selle hetkeni uskusin, et need klahvid töötavad eranditult Proximity standardis.
Autonoomsete juurdepääsukontrollisüsteemide probleemid – seal, kus neid ei oodatud
Kuid kuna lugeja seda nägi, tähendab see, et võti vastab ühele ISO 14443 standardi (teise nimega lähiväljaside, 13,56 MHz) protokollidest. Koristamine läks kohe meelest, kuna nägin võimalust võtmekomplektist täielikult lahti saada ja sissepääsu võtit telefonis hoida (korter on juba ammu varustatud elektroonilise lukuga). Õppima asudes sain teada, et plastiku all on peidus Mifare 1k NFC silt - sama mudel, mis firmamärkidel, transpordikaartidel jne. Katsed sektorite sisusse tungida ei toonud esialgu edu ning kui võti lõpuks mõrastati, selgus, et kasutatud oli vaid 3. sektorit ning selles dubleeriti kiibi enda UID. See tundus liiga lihtne ja osutus nii ja artiklit ei oleks, kui kõik läheks täpselt nii, nagu plaanitud. Nii et sain võtme osad kätte ja kui teil on vaja võti teisele samasugusele kopeerida, pole probleeme. Aga ülesandeks oli võti mobiilseadmesse üle kanda, mida ma ka tegin. Siin sai lõbu alguse – meil on telefon – iPhone SE väljakujunenud iOS 13.4.5 beetaversioon 17F5044d ja mõned kohandatud komponendid NFC tasuta kasutamiseks - ma ei hakka sellel mõnel objektiivsel põhjusel üksikasjalikult peatuma. Kõik allpool öeldu kehtib soovi korral ka Androidi süsteemi kohta, kuid mõningate lihtsustustega.

Lahendatavate ülesannete loend:

  • Juurdepääs võtme sisule.
  • Rakendage seadmes võtme emuleerimise võimalust.

Kui esimesega oli kõik suhteliselt lihtne, siis teisega tekkisid probleemid. Emulaatori esimene versioon ei töötanud. Probleem avastati üsna kiiresti – emuleerimisrežiimis mobiilseadmetes (kas iOS või Android) on UID dünaamiline ja olenemata sellest, mis pildile on juhtmega ühendatud, see hõljub. Teine versioon (töötab superkasutaja õigustega) fikseeris valitud seerianumbri jäigalt - uks avanes. Kuid ma tahtsin teha kõike suurepäraselt ja panin kokku emulaatori täieliku versiooni, mis võiks avada Mifare prügimäed ja neid jäljendada. Järsku impulsile alludes vahetasin sektoriklahvid suvaliste vastu ja üritasin ust avada. Ja tema… AVATUD! Mõne aja pärast sain aru, et need avanevad mistahes selle lukuga uksi, ka neid, millele algne võti ei sobinud. Sellega seoses koostasin uue loendi ülesannetest, mis tuleb täita:

  • Uurige, milline kontroller vastutab võtmetega töötamise eest
  • Saa aru, kas on olemas võrguühendus ja ühine baas
  • Uurige, miks muutub peaaegu loetamatu võti universaalseks

Pärast haldusfirma inseneriga vestlemist sain teada, et lihtsaid Iron Logic z5r kontrollereid kasutatakse ilma välise võrguga ühendamata.

CP-Z2 MF lugeja ja IronLogic z5r kontroller
Mulle anti katsete jaoks varustus:

Autonoomsete juurdepääsukontrollisüsteemide probleemid – seal, kus neid ei oodatud

Nagu siit selgub, on süsteem täiesti autonoomne ja äärmiselt primitiivne. Alguses arvasin, et kontroller on õppimisrežiimis - see tähendab, et see loeb võtit, salvestab selle mällu ja avab ukse - seda režiimi kasutatakse siis, kui on vaja salvestada kõik võtmed, näiteks vahetades lukk kortermajas. Kuid seda teooriat ei kinnitatud - see režiim on tarkvaras välja lülitatud, hüppaja on tööasendis - ja siiski, kui me seadme üles tõstame, näeme järgmist:

Ekraanipilt seadme emuleerimisprotsessist
Autonoomsete juurdepääsukontrollisüsteemide probleemid – seal, kus neid ei oodatud
... ja kontroller annab märku, et juurdepääs on antud.

See tähendab, et probleem peitub kas kontrolleri või lugeja tarkvaras. Kontrollime lugejat – see töötab iButtoni režiimis, nii et ühendame Bolidi turvaplaadi – saame vaadata lugeja väljundandmeid.

Plaat ühendatakse hiljem RS232 kaudu
Autonoomsete juurdepääsukontrollisüsteemide probleemid – seal, kus neid ei oodatud

Mitu testimise meetodit kasutades saame teada, et lugeja edastab autoriseerimise tõrke korral sama koodi: 1219191919

Olukord hakkab selguma, kuid hetkel pole mulle selge, miks kontroller sellele koodile positiivselt reageerib. Eeldatakse, et andmebaasi täitmisel - kogemata või tahtlikult esitati kaart teiste sektorivõtmetega - saatis lugeja selle koodi ja kontroller salvestas selle. Kahjuks ei ole mul IronLogicu patenteeritud programmeerijat, kes kontrolleri võtmete andmebaasi uuriks, kuid loodan, et suutsin juhtida tähelepanu tõsiasjale, et probleem on olemas. Saadaval on selle haavatavusega töötamise videoesitlus по ссылке.

PS Juhusliku liitmise teooriale paneb vastu tõsiasi, et Krasnojarskis õnnestus mul ka uks samal meetodil avada.

Allikas: www.habr.com

Lisa kommentaar