ACS de mi LCD: seguridad con dos tornillos

Me apresuro a advertir a los lectores: este artículo está escrito solo para información, y en ningún caso no requiere ninguna acción ilegal. El autor no es responsable de ninguna acción ilegal cometida por personas que usan la información de este artículo.



Saludos al lector. Hoy quiero hablar sobre la seguridad de los sistemas de control y gestión de acceso (ACS) en general y el ejemplo de mi LCD. Se examinarán las principales vulnerabilidades, así como un intento exitoso de copiar claves. Todas las manipulaciones serán principalmente de naturaleza de hardware.

En mi complejo residencial, está instalado el sistema de portero Sinthesi S2, así como el sistema de acceso patio / entrada / piso producido por Urmet Group. Así de genial se veía el panel de la calle.



hasta que un día comencé a lucir así:



Estuvo así un par de días y luego emigró a un contenedor de basura cercano. Solo tenía un lector y un teclado. Debido a que una de las áreas de mi empresa es el desarrollo de lectores HF, no pude resistirme y decidí estudiar este lector RFID con más detalle. De la documentación encontré solo un gran catálogo del que se puede concluir que se trata de FD-020-017, un lector de 13.56 MHz con la interfaz Wiegand26. Dentro había un sándwich de las placas de lectura ( MFRC531 ) y MK con BLE ( CC2541 ) pegado con adhesivo termofusible a la carcasa, que claramente no fue desarrollado para esta placa.



La placa MK está inundada con un compuesto suave aparentemente para proteger la parte de la radio de la humedad. Girando el tablero en mis manos, lo pospuse.

Hasta hace poco, el sistema no me interesaba, ya que se inició parcialmente (solo funcionaban las cerraduras de acceso, pero tenían un código de acceso que yo conocía y no usaba una clave). Después de que el sistema se inició por completo y se cancelaron los códigos de acceso, comencé a estudiarlo con más detalle. Comenzó una de las noches cuando regresé a casa y descubrí que la puerta del vestíbulo ya estaba funcionando y que mi esposa ya estaba durmiendo. Solo tenía cosas de bolsillo conmigo, pero resultó que esto fue suficiente para sortear toda la seguridad de élite (como asegura Urmet).



Todo lo que necesitaba era desenroscar los 2 tornillos que sujetaban el marco del panel con la llave del automóvil, quitar los 2 bloques y usar la misma llave para cerrar el canal del relé que va a la cerradura de la puerta del vestíbulo. Todos ...
Después de este incidente, cuando veo otra película de Hollywood ("Pasajeros" (2016) en KDPV) y veo cómo se abren las puertas súper secretas quitando el panel de códigos y colocando alfileres en el tablero (necesariamente con chispas y una apertura de puerta espectacular), veo bastante Situación real.

En mi memoria, la mayoría de los ACS que he visto tienen acceso al bloqueo directamente desde el panel de códigos y esta es la principal vulnerabilidad. Toda la seguridad es proporcionada por unos pocos tornillos que sujetan este panel, y en la creencia de que este sistema es confiable. Pero al mismo tiempo, es posible aumentar significativamente el umbral de entrada (llamémoslo protección contra una persona con un destornillador) mediante el uso de cerraduras con cerebros controlados por una interfaz, incluso si es la más simple. Esta medida reducirá drásticamente la probabilidad de entrada espontánea.

Datos de origen


LCD ACS en su conjunto, su funcionamiento, reacción a otras teclas, así como una forma de agregar teclas:

  • Se emite una llave gratis para el apartamento, cada una es de 300 rublos, está registrada en la cuenta personal de ACS. Solo puedes comprar en el Reino Unido. El chat LCD escribió que las copiadoras del mercado no podían hacer un duplicado, lo que significa que el sistema es más genial que solo leer el UID.
  • Al presentar cualquier otra tarjeta mifare, el lector ni siquiera muestra que la ve.
  • Cuando lleva la llave a otra escalera / piso, el lector recoge una lectura, pero no sucede nada.
  • Al leer el contenido de las teclas 8 y 12, los bloques están ocultos y tienen una clave de acceso diferente de las claves conocidas de Mifare. Entonces el secreto está ahí afuera en alguna parte.



Inicio del trabajo


En primer lugar, copié Block0 (el que contiene UID e información del fabricante) en el disco Mifare Zero y verifiqué que esto no era suficiente: el llavero no funcionaba. El lector ni siquiera respondió a la presentación de tal clon. Quedó claro que debes buscar la clave para los sectores 8 y 12. Después de leer todas las baratijas disponibles, vi que solo una de ellas tiene 12 bloques bloqueados, en el resto es cero, por lo que es obvio que la magia está contenida en el bloque 8.

Es hora de obtener un lector talentoso y examinarlo más de cerca. Entonces tenemos FD-020-017 - 13.56 MHz, interfaz Wiegand26. El MFRC531 y CC2541 están conectados por un peine de 10 pines. Y trabajó perfectamente en la mesa, sin el resto del sistema. Reaccionó a las teclas de la misma manera que el resto de los lectores. Primero, veamos qué sale:



Silencio exactamente antes de la presentación de un llavero válido. Después de leer la interfaz, el mensaje sale de acuerdo con Wiegand26 . Entonces descifré el paquete que envía mi llave. Con la ayuda de un multímetro, restauré el pinout, resultó que los chips se comunican por SPI. Conectamos el analizador,



Traemos un llavero válido y miramos el intercambio por SPI:



A continuación, comencé a mirar la documentación del chip MFRC531 y casi me caigo de las manos cuando vi que tenía una EEPROM especial para almacenar claves. Encontré los comandos para cargar la clave:



El comando 0x0B se carga desde la EEPROM, el comando 0x19 de FIFO, que a su vez recibe la clave a través de SPI. Parece que si carga una clave desde EEPROM, entonces no tengo oportunidad de revertir de esta manera, PERO para mi sorpresa, no hay un comando de intercambio 0x0B, pero hay un comando 0x19



Solo queda recoger la clave según el formato



Y agregue a la hoja de claves.



Bingo !!! Resultó que el bloque 8 comienza con 3 bytes distintos de cero, que simplemente van a Wiegand cuando coinciden el llavero y el lector. Estos datos no tienen nada que ver con el UID; lo más probable es que solo sea un número de serie cuando se publica en el Código Penal. Mis llaveros tenían 3 números seguidos + uno muy diferente. La grabación del espacio en blanco fue exitosa, combiné la clave de la pantalla LCD con la clave de la oficina, que funciona por UID.

Conclusión


Para un pirateo exitoso del sistema, necesito agradecer al programador de Urmet Group, que francamente engañó al escribir software para el lector, porque si hay hardware capaz de eliminar dicho método de pirateo (generalmente bastante simple), no puede hacer esto, no puede nombrar nada más que el trabajo de pirateo.

La mayoría de las personas que trabajan con la tecnología RFID saben que el algoritmo de cifrado Crypto-1 utilizado en las tarjetas Mifare (Classic) ha estado descifrado durante mucho tiempo y fue posible obtener la clave del bloque de una manera más "limpia", pero fui de frente.

En nuestros propios proyectos, utilizamos lectores programables con diccionarios de contraseña única para el cifrado. Esto le permite protegerse de la clonación si la tarjeta original está unida al lector antes del clon, de lo contrario detectará duplicación (la tarjeta original dejará de funcionar).

Source: https://habr.com/ru/post/439278/


All Articles