Problemi dei sistemi di controllo accessi autonomi - Dove non erano previsti

Buongiorno a tutti. Inizierò con il retroscena di ciò che mi ha spinto a condurre questa ricerca, ma prima vi avverto: tutte le azioni pratiche sono state eseguite con il consenso delle strutture di governo. Qualsiasi tentativo di utilizzare questo materiale per entrare in un'area riservata senza il diritto di accedervi costituisce un reato penale.

Tutto è iniziato quando, mentre pulivo il tavolo, ho accidentalmente posizionato la chiave d'ingresso RFID sul lettore NFC ACR122: immagina la mia sorpresa quando Windows ha riprodotto il suono del rilevamento di un nuovo dispositivo e il LED è diventato verde. Fino a questo momento credevo che questi tasti funzionassero esclusivamente nello standard Proximity.
Problemi dei sistemi di controllo accessi autonomi - Dove non erano previsti
Ma dal momento che il lettore l'ha visto, significa che la chiave soddisfa uno dei protocolli oltre allo standard ISO 14443 (noto anche come Near Field Communication, 13,56 MHz). La pulizia è stata subito dimenticata, poiché ho visto l'opportunità di liberarmi completamente del mazzo di chiavi e di conservare la chiave dell'ingresso nel telefono (l'appartamento è dotato da tempo di serratura elettronica). Dopo aver iniziato a studiare, ho scoperto che nascosto sotto la plastica c'è un tag NFC Mifare 1k, lo stesso modello dei badge aziendali, delle carte di trasporto, ecc. I tentativi di entrare nel contenuto dei settori all'inizio non hanno portato successo e quando la chiave è stata finalmente decifrata, si è scoperto che era stato utilizzato solo il 3o settore e l'UID del chip stesso era duplicato in esso. Sembrava troppo semplice, e così è stato, e non ci sarebbe stato alcun articolo se tutto fosse andato esattamente come previsto. Quindi ho ricevuto le frattaglie della chiave e non ci sono problemi se devi copiare la chiave su un'altra dello stesso tipo. Ma il compito era trasferire la chiave su un dispositivo mobile, ed è quello che ho fatto. Qui è dove è iniziato il divertimento: abbiamo un telefono. iPhone SE con stabilito iOS 13.4.5 Beta build 17F5044d e alcuni componenti personalizzati per il funzionamento gratuito dell'NFC: non mi soffermerò su questo in dettaglio per alcuni motivi oggettivi. Volendo, tutto quanto detto di seguito vale anche per il sistema Android, ma con alcune semplificazioni.

Elenco dei compiti da risolvere:

  • Accedi al contenuto della chiave.
  • Implementare la possibilità di emulare una chiave da parte del dispositivo.

Se con il primo tutto era relativamente semplice, con il secondo c'erano dei problemi. La prima versione dell'emulatore non funzionava. Il problema è stato scoperto abbastanza rapidamente: sui dispositivi mobili (iOS o Android) in modalità di emulazione, l'UID è dinamico e, indipendentemente da ciò che è cablato nell'immagine, fluttua. La seconda versione (eseguita con diritti di superutente) ha fissato rigidamente il numero di serie su quello selezionato: la porta si è aperta. Tuttavia, volevo fare tutto alla perfezione e alla fine ho messo insieme una versione completa dell'emulatore in grado di aprire i dump di Mifare ed emularli. Cedendo a un impulso improvviso, ho cambiato le chiavi del settore con quelle arbitrarie e ho provato ad aprire la porta. E lei… HA APERTO! Dopo un po' mi resi conto che stavano aprendo qualsiasi porte con questa serratura, anche quelle per le quali la chiave originale non si adattava. A questo proposito, ho creato un nuovo elenco di attività da completare:

  • Scopri quale tipo di controller è responsabile del funzionamento con le chiavi
  • Capire se esiste una connessione di rete e una base comune
  • Scopri perché una chiave praticamente illeggibile diventa universale

Dopo aver parlato con un ingegnere della società di gestione, ho appreso che i semplici controller Iron Logic z5r vengono utilizzati senza connettersi a una rete esterna.

Lettore CP-Z2 MF e controller IronLogic z5r
Mi è stato fornito un set di attrezzature per gli esperimenti:

Problemi dei sistemi di controllo accessi autonomi - Dove non erano previsti

Come risulta chiaro da qui, il sistema è completamente autonomo ed estremamente primitivo. All'inizio pensavo che il controller fosse in modalità di apprendimento - il significato è che legge la chiave, la memorizza in memoria e apre la porta - questa modalità viene utilizzata quando è necessario registrare tutte le chiavi, ad esempio quando si sostituisce la chiudere a chiave un condominio. Ma questa teoria non è stata confermata - questa modalità è disattivata nel software, il ponticello è in posizione di lavoro - eppure, quando avviciniamo il dispositivo, vediamo quanto segue:

Screenshot del processo di emulazione sul dispositivo
Problemi dei sistemi di controllo accessi autonomi - Dove non erano previsti
...e il controllore segnala che l'accesso è stato concesso.

Ciò significa che il problema risiede nel software del controller o del lettore. Controlliamo il lettore: funziona in modalità iButton, quindi colleghiamo la scheda di sicurezza Bolid: potremo visualizzare i dati in uscita dal lettore.

La scheda verrà successivamente collegata tramite RS232
Problemi dei sistemi di controllo accessi autonomi - Dove non erano previsti

Utilizzando il metodo dei test multipli, scopriamo che il lettore trasmette lo stesso codice con in caso di mancata autorizzazione: 1219191919

La situazione comincia a diventare più chiara, ma al momento non mi è chiaro il motivo per cui il controller risponda positivamente a questo codice. Si presume che quando il database è stato riempito - per sbaglio o intenzionalmente è stata presentata una tessera con altre chiavi di settore - il lettore abbia inviato questo codice e il controller lo abbia salvato. Sfortunatamente non ho un programmatore proprietario di IronLogic per esaminare il database delle chiavi del controller, ma spero di essere riuscito a attirare l'attenzione sul fatto che il problema esiste. È disponibile una dimostrazione video dell'utilizzo di questa vulnerabilità collegamento.

PS Alla teoria dell'addizione casuale si oppone il fatto che anche in un business center di Krasnoyarsk sono riuscito ad aprire la porta con lo stesso metodo.

Fonte: habr.com

Aggiungi un commento