Problemas de los sistemas de control de acceso autónomo: donde no esperaban

Buen día a todos. Comenzaré con los antecedentes sobre lo que me impulsó a realizar este estudio, pero primero le advertiré: todas las acciones prácticas se realizaron con el consentimiento de las estructuras de gobierno. Cualquier intento de utilizar este material para ingresar a un territorio cerrado sin derecho a estar allí es un delito penal.

Todo comenzó con el hecho de que cuando estaba limpiando la mesa, accidentalmente puse la llave RFID en la entrada del lector NFC ACR122, lo que fue mi sorpresa cuando Windows reprodujo el sonido de detectar un nuevo dispositivo y el LED se puso verde. Hasta ahora, creía que estas teclas funcionan exclusivamente en el estándar de proximidad.
imagen

Pero una vez que el lector lo vio, significa que la clave cumple con uno de los protocolos además del estándar ISO 14443 (es comunicación de campo cercano, 13.56 MHz). La limpieza se olvidó de inmediato, ya que vi la oportunidad de deshacerme por completo del llavero y guardar la llave en la entrada del teléfono (el apartamento ha estado equipado durante mucho tiempo con una cerradura electrónica). Al sembrar el estudio, descubrí que debajo del plástico está la etiqueta NFC Mifare 1k, el mismo modelo que en las insignias, insignias de empresas, tarjetas de transporte, etc. Los intentos de entrar en el contenido de los sectores al principio no tuvieron éxito, pero cuando la clave aún se pudo descifrar, resultó que solo se usó el tercer sector y el UID del chip se duplicó en él. Parecía demasiado simple, y resultó que no habría ningún artículo si todo saliera exactamente como estaba previsto. Así que obtuve los despojos clave, y no hay problemas,si necesita copiar la clave a otra. Pero la tarea era transferir la llave a un dispositivo móvil, lo cual hice. Aquí es donde comenzó la diversión, tenemos un teléfono,iPhone SE con iOS 13.4.5 Beta build 17F5044d instalado y algunos componentes personalizados para el trabajo sin NFC. No me detendré en esto por algunas razones objetivas. Si lo desea, todo lo siguiente se aplica al sistema Android, pero con algunas simplificaciones.

La lista de tareas a resolver:

  • Obtenga acceso a los contenidos de la clave.
  • Implemente la capacidad de emular un dispositivo clave.

Si el primero era relativamente simple, el segundo tenía problemas. La primera versión del emulador no funcionó. El problema se detectó rápidamente, para dispositivos móviles (iOS, Android) en modo de emulación, el UID es dinámico y, independientemente de lo que esté conectado en la imagen, flota. La segunda versión (ejecutada como superusuario) fijó rígidamente el número de serie en el seleccionado: la puerta se abrió. Sin embargo, quería hacer todo perfectamente, y al final armé una versión completa del emulador que podría abrir los volcados de Mifare y emularlos. Ceder a un impulso repentino, cambié las llaves de los sectores a arbitrarias, e intenté abrir la puerta. Y ella ... ¡ABIERTA! Después de un tiempo, me di cuenta de que cualquierpuertas con esta cerradura, incluso aquellas en las que la llave original no encajaba. En este sentido, formé una nueva lista de tareas para realizar:

  • Descubra qué controlador es responsable de trabajar con teclas
  • Comprenda si hay una conexión de red y una base común
  • Descubra por qué una clave prácticamente ilegible se vuelve universal

Después de hablar con el ingeniero de la compañía de gestión, descubrí que los controladores simples Iron Logic z5r se usan sin conectarse a una red externa.

Lector MF CP-Z2 y controlador IronLogic z5r
:

image

Como está claro desde aquí, el sistema es completamente autónomo y extremadamente primitivo. Al principio pensé que el controlador está en el modo de aprendizaje; el significado es que lee la llave, la almacena en la memoria y abre la puerta; este modo se usa cuando necesita registrar todas las llaves, por ejemplo, al reemplazar la cerradura en un edificio de apartamentos. Pero esta teoría no se ha confirmado: este modo está desactivado por el software, el puente está en la posición de trabajo y, sin embargo, cuando activamos el dispositivo, vemos lo siguiente:

Captura de pantalla del proceso de emulación en el dispositivo
image
… .

Entonces, el problema radica en el software del controlador o del lector. Verifiquemos el lector: funciona en modo iButton, por lo que conectaremos la placa de seguridad Bolid, tendremos la oportunidad de ver la salida del lector.

La placa se conectará más tarde a través de RS232
image

Usando el método de pruebas múltiples, descubrimos que el lector transmite el mismo código en caso de falla de autorización: 1219191919

La situación comienza a aclararse, pero en este momento no entiendo por qué el controlador responde positivamente a este código. Hay una suposición, que cuando llenaron la base, accidental o especialmente sacó una tarjeta con otras claves de sector, el lector envió este código y el controlador lo guardó. Desafortunadamente, no tengo un programador propietario de IronLogic para buscar en la base de datos de claves del controlador, pero espero haber logrado llamar la atención sobre el hecho de que el problema existe. Una demostración en video de trabajar con esta vulnerabilidad está disponible aquí .

PD: Contra la teoría con una adición aleatoria está el hecho de que en el mismo centro de negocios en Krasnoyarsk también logré abrir la puerta por el mismo método.

All Articles