# Pentesting RFID
Aprende a hackear AWS desde cero hasta convertirte en un experto conhtARTE (Experto en Red Team de AWS de HackTricks)!
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Introducción
**Identificación por Radiofrecuencia (RFID)** es la solución de radio de corto alcance más popular. Se utiliza generalmente para almacenar y transmitir información que identifica una entidad.
Una etiqueta RFID puede depender de **su propia fuente de energía (activa)**, como una batería integrada, o recibir su energía de la antena de lectura utilizando la corriente **inducida por las ondas de radio recibidas** (**pasiva**).
### Clases
EPCglobal divide las etiquetas RFID en seis categorías. Una etiqueta en cada categoría tiene todas las capacidades enumeradas en la categoría anterior, lo que la hace compatible con versiones anteriores.
* Las etiquetas de **Clase 0** son etiquetas **pasivas** que operan en bandas **UHF**. El proveedor las **preprograma** en la fábrica de producción. Como resultado, **no se puede cambiar** la información almacenada en su memoria.
* Las etiquetas de **Clase 1** también pueden operar en bandas **HF**. Además, solo se pueden **escribir una vez** después de la producción. Muchas etiquetas de Clase 1 también pueden procesar **comprobaciones de redundancia cíclica** (CRC) de los comandos que reciben. Los CRC son unos bytes adicionales al final de los comandos para la detección de errores.
* Las etiquetas de **Clase 2** se pueden **escribir varias veces**.
* Las etiquetas de **Clase 3** pueden contener **sensores integrados** que pueden registrar parámetros ambientales, como la temperatura actual o el movimiento de la etiqueta. Estas etiquetas son **semipasivas**, porque aunque **tienen** una fuente de energía integrada, como una **batería**, no pueden iniciar **comunicación** inalámbrica con otras etiquetas o lectores.
* Las etiquetas de **Clase 4** pueden iniciar la comunicación con otras etiquetas de la misma clase, lo que las convierte en etiquetas **activas**.
* Las etiquetas de **Clase 5** pueden proporcionar **energía a otras etiquetas y comunicarse con todas las clases de etiquetas anteriores**. Las etiquetas de Clase 5 pueden actuar como **lectores RFID**.
### Información Almacenada en Etiquetas RFID
La memoria de una etiqueta RFID generalmente almacena cuatro tipos de datos: los **datos de identificación**, que **identifican** la **entidad** a la que está adjunta la etiqueta (estos datos incluyen campos definidos por el usuario, como cuentas bancarias); los **datos complementarios**, que proporcionan **más detalles** sobre la entidad; los **datos de control**, utilizados para la **configuración** interna de la etiqueta; y los **datos del fabricante de la etiqueta**, que contienen un Identificador Único de la etiqueta (**UID**) y detalles sobre la **producción**, **tipo** y **proveedor** de la etiqueta. Encontrarás los dos primeros tipos de datos en todas las etiquetas comerciales; los dos últimos pueden diferir según el proveedor de la etiqueta.
El estándar ISO especifica el valor del Identificador de Familia de Aplicación (**AFI**), un código que indica el **tipo de objeto** al que pertenece la etiqueta. Otro registro importante, también especificado por ISO, es el Identificador de Formato de Almacenamiento de Datos (**DSFID**), que define la **organización lógica de los datos del usuario**.
La mayoría de los **controles de seguridad** de RFID tienen mecanismos que **restringen** las operaciones de **lectura** o **escritura** en cada bloque de memoria de usuario y en los registros especiales que contienen los valores AFI y DSFID. Estos **mecanismos de bloqueo** utilizan datos almacenados en la memoria de control y tienen **contraseñas predeterminadas** preconfiguradas por el proveedor pero permiten a los propietarios de las etiquetas **configurar contraseñas personalizadas**.
### Comparación de etiquetas de baja y alta frecuencia
## Etiquetas RFID de Baja Frecuencia (125kHz)
Las **etiquetas de baja frecuencia** se utilizan a menudo en sistemas que **no requieren alta seguridad**: acceso a edificios, llaves de intercomunicador, tarjetas de membresía de gimnasios, etc. Debido a su mayor alcance, son convenientes para su uso en estacionamientos pagados: el conductor no necesita acercar la tarjeta al lector, ya que se activa desde más lejos. Al mismo tiempo, las etiquetas de baja frecuencia son muy primitivas, tienen una baja tasa de transferencia de datos. Por esa razón, es imposible implementar una transferencia de datos bidireccional compleja para cosas como mantener un saldo y criptografía. Las etiquetas de baja frecuencia solo transmiten su ID corto sin ningún medio de autenticación.
Estos dispositivos se basan en la tecnología **RFID** **pasiva** y operan en un **rango de 30 kHz a 300 kHz**, aunque es más común usar 125 kHz a 134 kHz:
* **Largo alcance** — una frecuencia más baja se traduce en un mayor alcance. Hay algunos lectores EM-Marin y HID, que funcionan desde una distancia de hasta un metro. A menudo se utilizan en estacionamientos.
* **Protocolo primitivo** — debido a la baja tasa de transferencia de datos, estas etiquetas solo pueden transmitir su ID corto. En la mayoría de los casos, los datos no están autenticados y no están protegidos de ninguna manera. Tan pronto como la tarjeta está dentro del alcance del lector, comienza a transmitir su ID.
* **Baja seguridad** — Estas tarjetas pueden ser fácilmente copiadas, o incluso leídas desde el bolsillo de otra persona debido a la primitividad del protocolo.
**Protocolos populares de 125 kHz:**
* **EM-Marin** — EM4100, EM4102. El protocolo más popular en la CEI. Puede leerse desde aproximadamente un metro debido a su simplicidad y estabilidad.
* **HID Prox II** — protocolo de baja frecuencia introducido por HID Global. Este protocolo es más popular en los países occidentales. Es más complejo y las tarjetas y lectores para este protocolo son relativamente caros.
* **Indala** — protocolo de baja frecuencia muy antiguo que fue introducido por Motorola, y luego adquirido por HID. Es menos probable que te encuentres con él en la naturaleza en comparación con los dos anteriores porque está cayendo en desuso.
En realidad, hay muchos más protocolos de baja frecuencia. Pero todos utilizan la misma modulación en la capa física y pueden considerarse, de una forma u otra, una variación de los mencionados anteriormente.
### Ataque
Puedes **atacar estas etiquetas con el Flipper Zero**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](../todo/radio-hacking/flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
## Etiquetas RFID de Alta Frecuencia (13.56 MHz)
Las **etiquetas de alta frecuencia** se utilizan para una interacción lector-etiqueta más compleja cuando se necesita criptografía, una gran transferencia de datos bidireccional, autenticación, etc.\
Generalmente se encuentran en tarjetas bancarias, transporte público y otros pases seguros.
**Las etiquetas de alta frecuencia de 13.56 MHz son un conjunto de estándares y protocolos**. Por lo general, se les llama [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), pero eso no siempre es correcto. El conjunto básico de protocolos utilizado en los niveles físico y lógico es ISO 14443. Los protocolos de alto nivel, así como los estándares alternativos (como ISO 19092), se basan en él. Muchas personas se refieren a esta tecnología como **Near Field Communication (NFC)**, un término para dispositivos que operan sobre la frecuencia de 13.56 MHz.
Para simplificar, la arquitectura de NFC funciona de la siguiente manera: el protocolo de transmisión es elegido por la empresa que fabrica las tarjetas e implementado en base al estándar de transmisión ISO 14443. Por ejemplo, NXP inventó su propio protocolo de transmisión de alto nivel llamado Mifare. Pero en un nivel inferior, las tarjetas Mifare se basan en el estándar ISO 14443-A.
Flipper puede interactuar tanto con el protocolo de transmisión ISO 14443 de bajo nivel, como con el protocolo de transferencia de datos Mifare Ultralight y EMV utilizado en tarjetas bancarias. Estamos trabajando en agregar soporte para Mifare Classic y NFC NDEF. Una mirada detallada a los protocolos y estándares que componen NFC vale un artículo separado que planeamos tener más adelante.
Todas las tarjetas de alta frecuencia basadas en el estándar ISO 14443-A tienen un ID de chip único. Actúa como el número de serie de la tarjeta, como la dirección MAC de una tarjeta de red. **Por lo general, el UID tiene una longitud de 4 o 7 bytes**, pero rara vez puede llegar **hasta 10**. Los UIDs no son un secreto y se pueden leer fácilmente, **a veces incluso impresos en la tarjeta misma**.
Hay muchos sistemas de control de acceso que dependen del UID para **autenticar y otorgar acceso**. A veces esto sucede **incluso** cuando las etiquetas RFID **soportan criptografía**. Este **mal uso** las reduce al nivel de las tarjetas **125 kHz** en términos de **seguridad**. Las tarjetas virtuales (como Apple Pay) utilizan un UID dinámico para que los propietarios de teléfonos no abran puertas con su aplicación de pago.
* **Corto alcance** — las tarjetas de alta frecuencia están diseñadas específicamente para que tengan que colocarse cerca del lector. Esto también ayuda a proteger la tarjeta de interacciones no autorizadas. El alcance máximo de lectura que logramos fue de aproximadamente 15 cm, y eso fue con lectores de largo alcance hechos a medida.
* **Protocolos avanzados** — velocidades de transferencia de datos de hasta 424 kbps permiten protocolos complejos con transferencia de datos bidireccional completa. Lo que a su vez **permite la criptografía**, transferencia de datos, etc.
* **Alta seguridad** — las tarjetas sin contacto de alta frecuencia no son en absoluto inferiores a las tarjetas inteligentes. Hay tarjetas que admiten algoritmos criptográficos fuertes como AES e implementan criptografía asimétrica.
### Ataque
Puedes **atacar estas etiquetas con el Flipper Zero**:
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
O utilizando el **proxmark**:
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
{% endcontent-ref %}
## Referencias
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
Aprende a hackear AWS desde cero hasta convertirte en un experto conhtARTE (Experto en Red Team de AWS de HackTricks)!
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).