Articulo de referencia

Proxmark3

Proxmark3 es una herramienta de hardware multipropósito para el análisis, la investigación y el desarrollo de la seguridad de la identificación por radiofrecuencia (RFID). Admit...

Proxmark3 es una herramienta de hardware multipropósito para el análisis, la investigación y el desarrollo de la seguridad de la identificación por radiofrecuencia (RFID). Admite tarjetas de proximidad de alta frecuencia (13,56  MHz) y baja frecuencia (125/134  kHz) y permite a los usuarios leer, emular, realizar pruebas de fuzzing y de fuerza bruta en la mayoría de los protocolos RFID. [ 1 ]

Originalmente creado por Jonathan Westhues y publicado como hardware de código abierto , posteriormente fue adoptado por una comunidad de desarrolladores que mejoraron significativamente tanto el hardware como el software en comparación con la versión original. Proxmark3 reunió a una gran comunidad de investigadores de seguridad que investigan sistemas de control de acceso RFID , quienes expanden y mantienen el proyecto mientras lo utilizan en sus propias investigaciones. [ 2 ] La plataforma de hardware original de Proxmark3 sirvió de base para nuevas versiones de dispositivos, incluidas las comerciales. [ 1 ]

Especificaciones técnicas

Proxmark3 se basa en la tecnología de matrices de puertas programables en campo (FPGA), que permite la implementación de procesamiento, modulación y demodulación de señales analógicas de bajo nivel y alto rendimiento. Un microcontrolador independiente procesa las tramas demoduladas. Esta configuración permite implementar cualquier protocolo RFID en el software de Proxmark3.

Bloques de hardware Proxmark3

Antenas

Se utilizan dos circuitos de antena independientes para las bajas frecuencias (LF) de 125  kHz y 134  kHz, y para la alta frecuencia (HF) de 13,56  MHz. Inicialmente, ambas antenas estaban conectadas mediante un conector USB Hirose de 4 pines compartido, que a veces resultaba poco fiable. En revisiones posteriores se optó por utilizar un conector independiente para cada antena.

ADC

El convertidor analógico-digital (ADC) de 8 bits recibe una señal analógica del circuito de la antena, la digitaliza y envía la señal digital al FPGA.

FPGA

La matriz de puertas programables en campo ( FPGA) realiza tanto la modulación de bajo nivel al transmitir datos desde la CPU como la demodulación al recibir una señal de un convertidor analógico-digital (ADC). Puede procesar diversas modulaciones, como la modulación por desplazamiento de amplitud (OOK), la modulación por desplazamiento de amplitud (ASK), etc. La FPGA funciona de dos maneras: como lector, generando un campo electromagnético para las tarjetas, o como tarjeta a la espera del campo del lector.

UPC

El microcontrolador ARM se encarga de la parte del protocolo. Codifica y decodifica las tramas ( Manchester , Miller , etc.) y realiza funciones más avanzadas. La CPU puede responder a la FPGA después del procesamiento de la señal, implementando así la capa de transporte. La CPU también gestiona la comunicación USB con la aplicación cliente de la PC. [ 3 ]

Memoria flash

La memoria flash se utiliza para almacenar el firmware. Las primeras versiones de Proxmark3 solo tenían 64 kB de memoria flash, [ 4 ] pero a medida que el firmware se desarrolló, esta se volvió escasa y aparecieron versiones con 512 kB. [ 5 ]

El firmware en sí consta de código ARM y una imagen FPGA (que es cargada por el ARM). La FPGA se comunica con el ARM a través de su puerto SPI (el ARM es el maestro) o su puerto SSP genérico . El SPI se utiliza para la configuración de la FPGA. El SSP se utiliza para el envío de datos por vía inalámbrica. [ 6 ]

Software

En el momento del desarrollo de Proxmark3, la tecnología SDR era de difícil acceso. Por ello, se diseñó una arquitectura FPGA / MCU dividida: una FPGA gestionaba las funciones de bajo nivel, como la modulación/demodulación, mientras que un microcontrolador se encargaba de las funciones de alto nivel ( interfaz de línea de comandos , codificación/decodificación de protocolos, etc.). Si bien la arquitectura FPGA/MCU está técnicamente desactualizada, se mantuvo sin cambios a lo largo de las revisiones de hardware. Esto permitió que diferentes versiones utilizaran el mismo firmware y dio como resultado una gran base de código. Sin embargo, con el tiempo, la base de código de Proxmark3 se fue fragmentando cada vez más y comenzaron a aparecer inestabilidades de hardware. Como resultado, algunas implementaciones refinan y optimizan el código (por ejemplo, Proxmark3 RDV4), mientras que otras utilizan la base de código original de Proxmark3 (por ejemplo, Proxmark3 EVO). [ 5 ]

Comandos generales del Proxmark3 RDV4

El software Proxmark3 se divide en tres partes:

  • Cliente de PC (capa de aplicación): aplicación para PC que llama a las funciones de Proxmark3. Se utiliza para mostrar datos, analizar la señal y administrar Proxmark3. Posteriormente, en versiones más recientes de Proxmark3, se puede usar una aplicación móvil para controlar el dispositivo conectado por Bluetooth.
  • Firmware de la CPU (capa de transporte): firmware ARM que gestiona los mensajes de protocolo, los formatos y las colas. También proporciona herramientas de línea de comandos .
  • Firmware de FPGA (capa física): el firmware de Xilinx Spartan II es responsable del DSP : modulación/demodulación de señales.
Muestra de datos de gráficos de la aplicación cliente Proxmark3

El firmware anterior utilizaba el protocolo USB HID para conectar el cliente al Proxmark3. No era posible transmitir las muestras recibidas en tiempo real al PC. La CPU recibía un comando del cliente, lo ejecutaba y almacenaba el resultado en el búfer de memoria. El cliente tenía que enviar un nuevo comando para recuperar los datos almacenados en el búfer de la CPU. [ 7 ] Las nuevas versiones de firmware utilizan la interfaz serie CDC para comunicarse con el cliente. [ 2 ]

Las muestras de señal pueden ser procesadas por el cliente de PC, que puede representar gráficamente los datos recibidos para ayudar a analizar señales desconocidas.

Comunidad

Desde el lanzamiento de Proxmark3 en 2007, varios entusiastas de RFID han estado ampliando su funcionalidad. La comunidad de Proxmark3 ha experimentado un rápido crecimiento tras el lanzamiento del firmware compatible con el estándar ISO/IEC 14443-A y los ataques exitosos contra Mifare Classic . El foro de Proxmark3 (requiere registro) se convirtió en uno de los principales centros de discusión sobre vulnerabilidades de sistemas RFID, frecuentado por investigadores de seguridad especializados en sistemas de control de acceso electrónico (EAC). La comunidad de Proxmark también alberga a desarrolladores de otras herramientas de investigación de RFID, como LibNFC. [ 8 ] Posteriormente se creó el servidor de Discord de la comunidad para albergar discusiones de texto y voz sobre la seguridad de los sistemas EAC. Contaba con aproximadamente 3000 miembros a finales de 2021.

Uso en la investigación

Proxmark3 ha sido utilizado por varios investigadores de seguridad para descubrir vulnerabilidades. A continuación se presentan ejemplos de dichas investigaciones.

Ataques de cartas clásicas de MIFARE :

  • Ataque Darkside (Grupo Nijmegen/Oakland, 2009): recuperación de al menos una clave de cualquier sector de la tarjeta. Funciona con todas las tarjetas, pero requiere mucho tiempo. Darkside utiliza la herramienta mfoc (Mifare Offline Cracker) de la pila libnfc.
  • Ataque anidado (Nicolas T. Curtois, 2009): si un sector se cifra con una clave conocida, los demás sectores se pueden descifrar en poco tiempo. También existe una versión actualizada de este ataque: Hardnested. Se utiliza la herramienta mfcuk (Mifare Classic universal toolkit) del stack libnfc. [ 9 ]

Papel Mifare Classic:

  • Un ataque práctico al MIFARE Classic [ 10 ]

Documento MIFARE DESFire :

Documentos de HID iClass:

  • Corazón de las tinieblas: explorando los rincones inexplorados de la seguridad HID iCLASS [ 12 ]

Documento Hitag:

  • Desaparecido en 360 segundos: Secuestro con Hitag2 [ 13 ]

Papel Megamos:

  • Desmantelando Megamos Crypto: Forzando de forma inalámbrica un inmovilizador de vehículos [ 14 ]

Documentos NFC :

  • Ataques prácticos a teléfonos móviles con NFC habilitado [ 15 ]

Referencias

  1. 1 2 Chantzis, Fotios (2021). Hacking práctico de IoT  : la guía definitiva para atacar el internet de las cosas . Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Woods. San Francisco. ISBN 978-1-7185-0091-4. OCLC 1178868866 . {{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  2. 1 2 Yang, Qing (2018). Inside radio : an attack and defense guide . Lin Huang. Singapur. ISBN  978-981-10-8447-8OCLC 1029352620 {{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  3. Crepaldi, Paulo; Pimenta, Tales (29/11/2017). Identificación por radiofrecuencia . BoD – Books on Demand. ISBN 978-953-51-3629-3.
  4. "Un instrumento de prueba para RFID HF/LF" . cq.cx. Consultado el 15 de septiembre de 2021 .
  5. 1 2 "Proxmark 3 | Proxmark" . proxmark.com . Consultado el 15 de septiembre de 2021 .
  6. "Descripción del hardware · Wiki de Proxmark/proxmark3" . GitHub . Consultado el 15 de septiembre de 2021 .
  7. R., Garcia, FD Koning Gans, GT de Verdult (2012). Tutorial: Proxmark, la navaja suiza para la investigación en seguridad RFID : Tutorial en el 8.º Taller sobre Seguridad y Privacidad RFID (RFIDSec 2012) . Nijmegen : Universidad Radboud de Nijmegen, ICIS. OCLC 1247335104 .   {{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  8. Koning Gans, Gerhard de (2013). Superando a las tarjetas inteligentes . [Sl: sn] ISBN 978-94-6191-675-4OCLC 830879913 
  9. Courtois, Nicolas (2009). "Ataques solo con tarjeta a MiFare Classic o cómo robar tu tarjeta Oyster y entrar en edificios en todo el mundo" (PDF) . UCL Discovery . Consultado el 16 de septiembre de 2021 .
  10. de Koning Gans, Gerhard; Hoepman, Jaap-Henk; Garcia, Flavio D. (2008), "A Practical Attack on the MIFARE Classic", Smart Card Research and Advanced Applications , Lecture Notes in Computer Science, vol. 5189, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 267–282 , arXiv : 0803.2285 , doi : 10.1007/978-3-540-85893-5_20 , ISBN   978-3-540-85892-8, S2CID 1280839 
  11. Flynn, Rory. "Una investigación sobre posibles ataques a la tarjeta inteligente MIFARE DESFire EV1 utilizada en el transporte público" (PDF) . Consultado el 16 de septiembre de 2021 .
  12. "El corazón de las tinieblas: explorando los rincones inexplorados de la seguridad HID iCLASS" (PDF) . Consultado el 16 de septiembre de 2021 .
  13. ^ Verdult, Roel; García, Flavio; Balasch, Josep (2012). "Desaparecido en 360 segundos: secuestro con Hitag2" . [Sl] : Asociación USENIX. OCLC 1247338434 .  
  14. Verdult, Roel; Garcia, Flavio; Ege, Baris. "Desmantelando Megamos Crypto: Desbloqueo inalámbrico de un inmovilizador de vehículos" (PDF) . Archivado (PDF) del original el 10 de septiembre de 2015. Consultado el 4 de febrero de 2023 .
  15. Verdult, Roel; Kooman, Francois (febrero de 2011). «Ataques prácticos a teléfonos móviles con NFC». Tercer Taller Internacional de Comunicación de Campo Cercano de 2011. págs. 77–82 . doi : 10.1109/NFC.2011.16 . hdl : 2066/92208 . ISBN  978-1-61284-176-2. S2CID 16296134 .