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.

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 ]

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.

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 :
- Una investigación de posibles ataques a la tarjeta inteligente MIFARE DESFire EV1 utilizada en el transporte público [ 11 ].
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 ]
- Ataques prácticos a teléfonos móviles con NFC habilitado [ 15 ]
Referencias
- 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 ) - 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 ) - ↑ Crepaldi, Paulo; Pimenta, Tales (29/11/2017). Identificación por radiofrecuencia . BoD – Books on Demand. ISBN 978-953-51-3629-3.
- ↑ "Un instrumento de prueba para RFID HF/LF" . cq.cx. Consultado el 15 de septiembre de 2021 .
- 1 2 "Proxmark 3 | Proxmark" . proxmark.com . Consultado el 15 de septiembre de 2021 .
- ↑ "Descripción del hardware · Wiki de Proxmark/proxmark3" . GitHub . Consultado el 15 de septiembre de 2021 .
- ↑ 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 ) - ↑ Koning Gans, Gerhard de (2013). Superando a las tarjetas inteligentes . [Sl: sn] ISBN 978-94-6191-675-4OCLC 830879913
- ↑ 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 .
- ↑ 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
- ↑ 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 .
- ↑ "El corazón de las tinieblas: explorando los rincones inexplorados de la seguridad HID iCLASS" (PDF) . Consultado el 16 de septiembre de 2021 .
- ^ Verdult, Roel; García, Flavio; Balasch, Josep (2012). "Desaparecido en 360 segundos: secuestro con Hitag2" . [Sl] : Asociación USENIX. OCLC 1247338434 .
- ↑ 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 .
- ↑ 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 .
- Identificación por radiofrecuencia
- Hardware de código abierto
- Presentaciones relacionadas con la informática en 2007