Un Fantasma en el Sistema Ghost AcademySecLearn // RFID & NFC Pentesting
Módulo 1 Duración: 6 Horas 60% Práctica Técnica Autocontenido

Fundamentos de Radiofrecuencia y Protocolos

Identificación visual y de señales en control de accesos, acoplamiento electromagnético, tramas ISO 14443-A/B, decodificación ATQA/SAK y payloads NDEF.

🎯 Objetivo Operativo del Módulo:

Que el auditor aprenda a clasificar e identificar cualquier tarjeta plástica, llavero de proximidad o lector mural a simple vista mediante inspección física y electromagnética antes de desplegar costosas herramientas digitales.

📑 Índice de Contenidos del Módulo

  1. El Espectro Electromagnético en Control de Accesos
    • Acoplamiento inductivo (campo cercano) vs radiación electromagnética (campo lejano)
    • Frecuencias esenciales: LF (125-134 kHz), HF (13.56 MHz) y UHF (860-960 MHz)
    • Lab 1.1: Triage e inspección física a contraluz y bobinas detectoras LED
  2. Estándares y Tramas: ISO 14443-A/B vs ISO 15693
    • Fases de anticolición y cascadas de UID (4, 7 y 10 bytes)
    • Interpretación de bytes ATQA y SAK para deducir fabricante y modelo de silicio
    • Lab 1.2: Extracción e interpretación de tramas crudas con ACR122U y Smartphone
  3. NFC en Profundidad y Registros NDEF
    • Modos de operación: Reader/Writer, Peer-to-Peer y Host Card Emulation (HCE)
    • Estructura de mensajes NDEF (TNF, Record Headers, Payloads)
    • Lab 1.3: Inyección de payloads NDEF maliciosos (Redirección forzada y Evil Twin WiFi)

1. El Espectro Electromagnético en Control de Accesos

La tecnología RFID (Radio-Frequency Identification) y su subconjunto NFC (Near Field Communication) fundamentan la totalidad de los sistemas modernos de control de accesos físicos (PACS - Physical Access Control Systems). Para realizar un pentesting riguroso, el primer paso no es lanzar scripts automatizados, sino comprender los principios físicos de acoplamiento de la señal.

🎯 Objetivos de Aprendizaje

  • Identificar las tres frecuencias principales de RFID y sus aplicaciones típicas.
  • Reconocer el bobinado interno (número de vueltas de la antena) para predecir la frecuencia.
  • Entender el principio de acoplamiento inductivo (campo cercano) vs radiación electromagnética (campo lejano).

🔑 Conceptos Clave

Campo cercano (Near-Field) Resonancia LC Acoplamiento inductivo Modulación ASK/FSK/PSK

🧰 Herramientas de este Laboratorio

Linterna LED de alta potencia RFID Detector Coils (LED stickers) Multímetro

1.1 Acoplamiento Inductivo (Campo Cercano) vs Radiación (Campo Lejano)

La propagación de la energía electromagnética se divide en dos regímenes físicos fundamentales en función de la longitud de onda ($\lambda = c / f$):

┌────────────────────────────────────────────────────────────────────────────────────────┐ │ FÍSICA DEL CAMPO ELECTROMAGNÉTICO EN RFID │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ CAMPO CERCANO REACTIVO (Near Field) CAMPO LEJANO RADIATIVO (Far Field) │ │ Distancia r < λ / (2π) Distancia r >> λ │ │ │ │ [ Lector ] ~ ~ ~ Líneas de Campo Magnético ~ ~ ~> [ Antena Tarjeta ] │ │ Bobina L1 (Transformador de núcleo de aire) Bobina L2 │ │ │ │ * LF (125 kHz): λ ≈ 2400 metros → Campo cercano hasta ~380 metros │ │ * HF (13.56 MHz): λ ≈ 22.1 metros → Campo cercano hasta ~3.5 metros │ │ * En la práctica: El alcance está limitado a 2-10 cm por la baja potencia del lector.│ │ * Transferencia de energía: Ley de Faraday-Lenz (Inducción mutua M). │ │ * Retorno de datos: MODULACIÓN DE CARGA (Load Modulation). La tarjeta no emite señal,│ │ sino que varía su impedancia interna forzando caídas de tensión en el lector. │ │ │ │ * UHF (868/915 MHz): λ ≈ 33 cm → Campo lejano (Backscatter Radiativo). │ │ Ondas electromagnéticas transversales (E y H acoplados). Alcance: 3 a 12 metros. │ └────────────────────────────────────────────────────────────────────────────────────────┘
💡 La Modulación de Carga (Load Modulation)

Una tarjeta pasiva HF o LF nunca transmite una señal de radio propia generada por un oscilador interno activo. En su lugar, el chip modifica la carga resistiva o capacitiva conectada a su propia bobina. Esto altera la corriente absorbida del campo magnético del lector, lo que induce variaciones de amplitud o fase en la bobina del lector. Escuchar una tarjeta a distancia requiere receptores ultrasensibles que detecten estas microvariaciones.

1.2 Comparativa de las 3 Bandas Esenciales

Banda Frecuencia Acoplamiento Interferencia Materiales Tecnologías Típicas
LF (Baja Frecuencia) 125 kHz - 134.2 kHz Inductivo Puro (H) Excelente penetración en agua y cuerpo humano. Inmune a líquidos. EM4100/4200, HID Prox II, Indala, Keri, Tiris (identificación animal).
HF (Alta Frecuencia) 13.56 MHz (Banda ISM) Inductivo Resonante Afectada moderadamente por metales adyacentes (requiere blindaje ferrítico). MIFARE (Classic, Plus, DESFire), NFC (NTAG), HID iCLASS, Calypso, FeliCa.
UHF (Ultra Alta Frecuencia) 860 MHz - 960 MHz Radiativo (Campo Lejano) Muy sensible a agua (absorbida) y metales (reflejo total). EPC Gen2, ISO 18000-6C, peajes de autopista (Telepeaje/TAG), logística.
🛠️ Lab 1.1: Triage e Inspección Física a Contraluz y Bobinas LED
Práctica Física

Meta del Lab: Determinar la tecnología de un lote de credenciales ciegas (sin serigrafía) usando únicamente una linterna potente de smartphone y una bobina detectora pasiva con LED bicolor.

1
Inspección a Contraluz (Transiluminación):

Coloca la linterna del teléfono directamente pegada a la parte posterior de la tarjeta plástica en una habitación a oscuras. Observa la periferia:

  • LF (125 kHz): Verás una bobina cilíndrica gruesa con centenares de vueltas de hilo de cobre muy fino (bobinado denso y compacto, típicamente en una esquina o centro en llaveros).
  • HF (13.56 MHz): Verás 3 a 5 espiras gruesas y separadas que recorren todo el borde exterior de la tarjeta en forma rectangular, conectadas a un chip milimétrico diminuto mediante pistas de soldadura.
  • Dual (Híbrida LF+HF): Verás ambas antenas presentes simultáneamente (muy común en credenciales corporativas en procesos de migración).
2
Detección de Campo en Lectores Murales con Bobina LED:

Aproxima la bobina detectora al lector mural de la pared (sin tocar):

  • Si se ilumina el LED Rojo (LF 125 kHz): El lector genera un campo continuo de baja frecuencia.
  • Si se ilumina el LED Verde (HF 13.56 MHz): El lector opera en 13.56 MHz.
  • Si ambos parpadean alternativamente: El lector es multi-frecuencia (ej. HID multiCLASS).
✅ Resultado Esperado

Clasificación inequívoca de tarjetas en LF vs HF antes de usar cualquier lector digital.

2. Estándares y Tramas: ISO 14443-A/B vs ISO 15693

En el rango de 13.56 MHz conviven dos familias de estándares principales:

🎯 Objetivos de Aprendizaje

  • Comprender la diferencia entre ISO 14443 Tipo A y Tipo B.
  • Analizar el proceso de anticolisión y obtención del UID/CSN (Card Serial Number).
  • Entender por qué el UID por sí solo NO es una medida de seguridad criptográfica.

🔑 Conceptos Clave

ATQA (Answer To Request) SAK (Select Acknowledge) UID Cascade Levels Baud rate (106 kbps)

🧰 Herramientas de este Laboratorio

Lector USB ACR122U Smartphone Android (NFC TagInfo) Proxmark3 CLI

2.1 Cascada de Anticolición y Longitudes de UID

Cuando varias tarjetas entran simultáneamente en el campo del lector, se ejecuta un algoritmo de árbol binario de anticolición. El UID (Unique Identifier) identifica la tarjeta a nivel de silicio:

┌────────────────────────────────────────────────────────────────────────────────────────┐ │ CASCADA DE ANTICOLICIÓN ISO 14443-A │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ Nivel Cascade 1 (CL1): │ │ Lector emite: ANTICOLLISION CL1 (0x93 0x20) │ │ Si el UID es de 4 Bytes (Single Size): │ │ Respuesta: [ UID0 ] [ UID1 ] [ UID2 ] [ UID3 ] [ BCC ] │ │ BCC = Byte Check Character (XOR de los 4 bytes de UID). │ │ │ │ Si el UID es de 7 Bytes (Double Size): │ │ Respuesta CL1: [ 0x88 (CT) ] [ UID0 ] [ UID1 ] [ UID2 ] [ BCC ] │ │ (0x88 es el Cascade Tag CT, que indica que hay más bytes pendientes). │ │ Lector emite: ANTICOLLISION CL2 (0x95 0x20) │ │ Respuesta CL2: [ UID3 ] [ UID4 ] [ UID5 ] [ UID6 ] [ BCC ] │ │ │ │ Si el UID es de 10 Bytes (Triple Size): │ │ Se ejecuta CL1 (con CT 0x88) -> CL2 (con CT 0x88) -> CL3 (0x97 0x20). │ └────────────────────────────────────────────────────────────────────────────────────────┘

2.2 Decodificación de ATQA (Answer To Request A) y SAK (Select Acknowledge)

Al iniciar la comunicación con un comando REQA (0x26) o WUPA (0x52), la tarjeta responde con 2 bytes de ATQA. Tras completar la selección de anticolición con SELECT (0x93 0x70 ...), la tarjeta entrega 1 byte de SAK. Estos dos parámetros revelan la arquitectura exacta del silicio:

ATQA (2 Bytes Hex) SAK (1 Byte Hex) Longitud UID Modelo de Silicio y Familia Nivel de Seguridad
00 04 08 4 Bytes NXP MIFARE Classic 1K (o clon chino Gen1a/Gen2) CRÍTICO: Roto (Crypto-1)
00 02 18 4 Bytes NXP MIFARE Classic 4K CRÍTICO: Roto (Crypto-1)
00 44 00 7 Bytes MIFARE Ultralight / NTAG213 / NTAG215 / NTAG216 Sin Cifrado (OTP Locks)
03 44 20 7 Bytes MIFARE DESFire EV1 / EV2 / EV3 (ISO 14443-4 T=CL) SEGURO: Cifrado AES-128
00 04 28 4 Bytes JCOP (Java Card Open Platform) SEGURO: Tarjeta Inteligente
00 08 20 4 Bytes MIFARE Plus en Nivel de Seguridad SL3 SEGURO: AES-128
🛠️ Lab 1.2: Extracción e Interpretación de Tramas Crudas con ACR122U / Smartphone
Análisis de Silicio

Meta del Lab: Obtener las tramas crudas ATQA, SAK y UID de una tarjeta desconocida usando terminal Linux con el lector USB ACR122U (o la app NXP TagInfo en Android).

1
Instalación y Verificación de Herramientas PCSC en Linux:
# Instalar paquetes de comunicación con lectores de tarjetas
sudo apt update && sudo apt install -y pcscd pcsc-tools libnfc-bin

# Iniciar el daemon del servicio PC/SC
sudo systemctl enable --now pcscd

# Detener drivers conflictivos del kernel para ACR122U
sudo modprobe -r pn533_usb pn533 nfc
2
Extracción de Tramas con pcsc_scan y nfc-poll:
# Ejecutar nfc-poll para capturar el handshake crudo
nfc-poll

# Salida obtenida:
ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00  04
       UID (NFCID1): a4  12  9f  5c
      SAK (SEL_RES): 08

Diagnóstico Forense: ATQA 00 04 y SAK 08 con UID de 4 bytes confirman fehacientemente que la credencial es una MIFARE Classic 1K vulnerable a ataques criptográficos de recuperación de claves (Módulo 4).

✅ Resultado Esperado

Identificación de ATQA: 00 04, SAK: 08 (indicador clásico de MIFARE Classic 1K de 4 bytes de UID).

3. NFC en Profundidad y Registros NDEF

NFC (Near Field Communication) es una extensión directa de HF 13.56 MHz estandarizada por el NFC Forum. Soporta 3 modos de operación fundamentales:

🎯 Objetivos de Aprendizaje

  • Crear y analizar registros NDEF (URLs, vCards, Textos, MIME types).
  • Identificar vectores de ataque por inyección NDEF (URI schemes maliciosos, WiFi autopairing forzado).
  • Conocer las limitaciones de Host Card Emulation (HCE) en Android frente a chips seguros.

🔑 Conceptos Clave

NDEF Record Header TLV (Tag Length Value) HCE (Host-based Card Emulation) Secure Element (SE)

🧰 Herramientas de este Laboratorio

NFC Tools App NFC TagWriter Etiquetas NTAG213/NTAG215

3.1 Anatomía de los Mensajes NDEF (NFC Data Exchange Format)

Un mensaje NDEF está compuesto por uno o más NDEF Records. Cada registro posee un encabezado de control de 1 byte con banderas de control críticas:

┌────────────────────────────────────────────────────────────────────────────────────────┐ │ ESTRUCTURA DE UN NDEF RECORD HEADER │ ├────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 │ │ ┌──────┬───────┬───────┬───────┬───────┬───────────────────────┐ │ │ │ MB │ ME │ CF │ SR │ IL │ TNF │ │ │ └──────┴───────┴───────┴───────┴───────┴───────────────────────┘ │ │ │ │ * MB (Message Begin): 1 si es el primer registro del mensaje. │ │ * ME (Message End): 1 si es el último registro del mensaje. │ │ * CF (Chunk Flag): 1 si el payload está fragmentado en varios chunks. │ │ * SR (Short Record): 1 si Payload Length es de 1 byte (<= 255 bytes). │ │ * IL (ID Length): 1 si se incluye el campo ID Length y el campo ID. │ │ * TNF (Type Name Format - 3 bits): │ │ - 0x01: Well-Known Type (RTD del NFC Forum: URI 'U', Text 'T', SmartPoster 'Sp') │ │ - 0x02: Media-type (MIME Type: application/json, text/vcard) │ │ - 0x04: External Type (ej. android.com:pkg para lanzar aplicaciones) │ └────────────────────────────────────────────────────────────────────────────────────────┘
🛠️ Lab 1.3: Inyección de Payloads NDEF Maliciosos (Redirección y WiFi Evil Twin)
Vector de Ataque NFC

Meta del Lab: Programar una etiqueta NTAG213/215 con un payload NDEF malicioso que fuerce al smartphone de la víctima a conectarse sin consentimiento a un punto de acceso WiFi malicioso (Evil Twin) o abrir una URL maliciosa.

1
Payload 1: Redirección Forzada a Captive Portal (SmartPoster URI):

Usando la herramienta nfc-tools o la app NFC Tools:

  • Selecciona tipo de registro: URI / URL.
  • Prefijo de protocolo: 0x04 (https://).
  • Inserta el enlace al portal de credential harvesting: https://portal-wifi-autenticacion.local/login.
  • Escribe en la tarjeta y activa la opción de Protección contra escritura (Lock Permanent) para que la víctima no pueda borrar el tag.
2
Payload 2: Conexión Involuntaria a Red WiFi Gemela (MIME Handshake):

NFC Forum define el tipo MIME oficial application/vnd.wfa.wsc (WiFi Simple Configuration). Cuando un teléfono Android toca este tag:

# Estructura del Payload WiFi WSC:
Tipo: application/vnd.wfa.wsc
Network SSID: "Corp_Guest_Secure"
Authentication Type: WPA2-Personal (0x0020)
Encryption Type: AES (0x0008)
Network Key: "WiFiGratisSegura2026"

Al pasar el dispositivo a menos de 4 cm, el sistema operativo procesa el broadcast NDEF y presenta un diálogo de conexión inmediata. Al aceptar, el tráfico del atacante es interceptado a través del punto de acceso rogue (mitmproxy/Bettercap).

✅ Resultado Esperado

Ejecución automática de la solicitud de conexión al acercar el teléfono a la etiqueta programada.