Problemi con i sistemi di controllo accessi autonomi — Da dove non ci si aspettava

A tutti un buon pomeriggio. Inizierò con una premessa su ciò che mi ha spinto a condurre questa ricerca, ma prima avviso: tutte le azioni pratiche sono state effettuate con il consenso delle strutture di gestione. Qualsiasi tentativo di utilizzare questo materiale per penetrare in aree riservate senza il diritto di essere lì costituisce un reato penale.

Tutto è cominciato quando, mentre riordinavo la scrivania, ho accidentalmente posato la chiave RFID dell'ingresso sul lettore NFC ACR122 — quale sorpresa per me quando Windows ha riprodotto il suono di rilevamento di un nuovo dispositivo e il LED è diventato verde. Fino a quel momento, pensavo che queste chiavi funzionassero esclusivamente con lo standard Proximity.
Problemi con i sistemi di controllo accessi autonomi — Da dove non ci si aspettava
Ma se il lettore lo ha visto, significa che la chiave corrisponde a uno dei protocolli sopra lo standard ISO 14443 (che è anche Near Field Communication, 13,56 MHz). Dimenticai subito la pulizia, poiché intravidi l'opportunità di eliminare completamente il mazzo di chiavi e di conservare la chiave dell’ingresso nel telefono (l'appartamento è ormai dotato di un lucchetto elettronico). Iniziando a studiare, ho scoperto che sotto la plastica si nasconde un'etichetta NFC Mifare 1k — lo stesso modello di quello utilizzato nei badge aziendali, nelle carte di trasporto, ecc. I tentativi iniziali di accedere al contenuto dei settori non ebbero successo, e quando riuscì a hackerare la chiave, si scoprì che veniva utilizzato solo il terzo settore, dove era duplicato l'UID del chip stesso. Sembrava tutto troppo semplice, e si rivelò così, non ci sarebbe stato alcun articolo se fosse andato tutto come previsto. Ho ottenuto le interiora della chiave, e non ci sono problemi se è necessario copiare la chiave su un'altra identica. Ma il compito era trasferire la chiave su un dispositivo mobile, ed è quello che ho iniziato a fare. Qui è iniziato il divertimento — abbiamo un telefono — iPhone SE con installato iOS 13.4.5 Beta build 17F5044d e alcuni componenti personalizzati per utilizzare liberamente NFC — non entro nei dettagli per motivi obiettivi. Se desiderato, quanto detto in seguito è applicabile anche al sistema Android, ma con alcune semplificazioni.

Elenco delle attività da risolvere:

  • Ottenere accesso al contenuto della chiave.
  • Implementare la possibilità di emulare la chiave con il dispositivo.

Se il primo punto era relativamente semplice, il secondo ha presentato delle difficoltà. La prima versione dell'emulatore non ha funzionato. Il problema è stato individuato rapidamente — i dispositivi mobili (sia iOS che Android) in modalità emulazione hanno un UID dinamico e indipendentemente da ciò che è programmato nell'immagine — varia. La seconda versione (eseguita con i permessi di superadmin) fissava rigidamente il numero di serie selezionato — la porta si apriva. Tuttavia, volevo fare tutto perfettamente e alla fine ho creato una versione completa dell'emulatore che poteva aprire i dump Mifare ed emularli. Sottoposto a un'improvvisa spinta, ho cambiato le chiavi dei settori con chiavi casuali e ho provato ad aprire la porta. E si è... APERTA! Dopo un po' ho capito che si aprono qualsiasi porte con questa serratura, anche quelle per cui la chiave originale non era valida. Pertanto, ho creato una nuova lista di attività da svolgere:

  • Scoprire quale controller è responsabile della gestione delle chiavi
  • Verificare se c'è connessione alla rete e se esiste un database centrale
  • Capire perché una chiave praticamente illeggibile diventa universale

Parlando con l'ingegnere della società di gestione, ho scoperto che vengono utilizzati semplici controller Iron Logic z5r senza connessione a una rete esterna.

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

Problemi con i sistemi di controllo accessi autonomi — Da dove non ci si aspettava

Come si può dedurre, il sistema è completamente autonomo e estremamente primitivo. Inizialmente pensavo che il controller fosse in modalità di apprendimento — il significato è che legge la chiave, la memorizza e apre la porta — questa modalità è utilizzata quando è necessario registrare tutte le chiavi, ad esempio durante la sostituzione della serratura in un condominio. Ma questa teoria non è stata confermata — programmaticamente questa modalità è disabilitata, il ponticello è in posizione di lavoro — eppure avvicinando il dispositivo vediamo il seguente risultato:

Screenshot del processo di emulazione sul dispositivo
Problemi con i sistemi di controllo accessi autonomi — Da dove non ci si aspettava
… e il controller segnala che l'accesso è stato concesso.

Quindi il problema risiede nel software del controller o del lettore. Verifichiamo il lettore — funziona in modalità iButton, quindi collegheremo la scheda di sicurezza Bolid — avremo l'opportunità di vedere i dati in uscita dal lettore.

La scheda sarà collegata in seguito tramite RS232.
Problemi con i sistemi di controllo accessi autonomi — Da dove non ci si aspettava

Utilizzando il metodo dei tentativi multipli, scopriamo che il lettore trasmette lo stesso codice in caso di autorizzazione fallita: 1219191919.

La situazione inizia a chiarirsi, tuttavia al momento non comprendo perché questo codice risponda positivamente al controller. Ho il sospetto che, quando è stata riempita la base di dati, accidentalmente o deliberatamente sia stata avvicinata una carta con altre chiavi di settore — il lettore ha inviato questo codice e il controller lo ha memorizzato. Purtroppo non ho un programmatore ufficiale di IronLogic per controllare la base di chiavi del controller, ma spero di aver attirato l'attenzione sul fatto che esiste un problema. Una video dimostrazione dell'operazione con questa vulnerabilità è disponibile. al link.

P.S. L'opposizione alla teoria dell'aggiunta casuale è il fatto che in un centro commerciale di Krasnoyarsk sono riuscito ad aprire la porta con lo stesso metodo.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster