💳Ataques NFC/RFID
Ya conocemos cómo funcionan las MIFARE Classic 1K, cómo se comunican y qué ataques existen (Nested, Hardnested, DarkSide…). Ahora toca lo que todos esperábais: ponerlos en práctica.

Lanzaremos los ataques contra una pulsera de gimnasio RFID, con el objetivo de extraer las claves y conseguir clonarla en otro dispositivo como una blank card o ”Chinese Magic Card” GEN 1A.
En este ejemplo veremos cómo:
Ejecutar el ataque DarkSide y Nested con PM3.
Encadenarlo con Hardnested para obtener todas las claves.
En caso de no conseguir claves utilizar Script Recovery.
Clonar, analizar y comparar tarjetas.
Lanzando los ataques
Aunque muchas tarjetas nuevas han endurecido el PRNG, el firmware del RRG sigue ofreciendo técnicas muy efectivas.
Conectamos la Proxmark3 y ejecutamos pm3:
Si aparece PRNG: weak… estamos de suerte.

Paso 1: comprobar claves por defecto

Vemos que no hemos conseguido extraer todas las claves, por lo que empezaremos a intentar extraerlas con un ataque Darkside.
Paso 1: Ataque Darkside

Si no es vulnerable, pasamos a un ataque Nested.
Paso 2: Ataque Nested con una clave válida
Por ejemplo, con la clave A del bloque 0:

Si el ataque Nested falla, pasamos al Hardnested
Paso 3: Ataque Hardnested
Aquí se realizan miles de autenticaciones para construir el ataque hasta conseguir las claves.

Si el ataque hardnested falla, podemos usar algún script de pm3 como el fm11rf08s_recovery.py
Paso 4: Script Recovery

FInalmente conseguimos las claves, y nos crea 2 archivos de dumpeo:
Claves dumpeadas:
/home/kali/hf-mf-7DC36259-key.binData:
/home/kali/hf-mf-7DC36259-dump.bin
¿Qué podemos hacer con todas las claves?
Cuando ya tenemos todas las claves A y B:
✔ Dumpear la tarjeta
Hacemos un dumpeo y lo restauramos en una tarjeta writable, incluso modificando el bloque 0 del sector 0 para clonar el ID.

Eso nos crea 2 archivos:
✔ Clonar la tarjeta (incluyendo UID)
Necesitas una “Chinese Magic Card” (CUID / GEN 1A). Estas permiten escribir el bloque 0, algo que las originales NO permiten.
Borrar la tarjeta virgen
(En magic cards, block 0 es escribible)
Restaurar el dump completo
Esto copia TODOS los sectores, todas las claves, todos los accesos y datos.
👉 Has clonado completamente la tarjeta.
✔ Analizar la tarjeta (antes y después)
Dump inicial:
Usas la tarjeta (pago, acceso, vending, monedero…)
Dump después:
Comparar sector a sector:
Esto te muestra:
qué sectores cambian
qué bloques cambian
cómo cambian
Es perfecto para:
detectar valor de saldo
encontrar contadores
ver flags de uso
ver sectores de autenticación
✔ Manipular monederos (value blocks)
Las posibilidades son tan amplias como peligrosas:
Recargar saldo
Vaciarlas
Clonar tarjetas de
e-moneyRealizar fraude en máquinas vending
Etc.
Muchos sistemas vending basados en Classic usan value blocks:
Un bloque valor tiene este formato:
Proxmark puede leerlo así:
Modificar valores:
Incrementar saldo
Decrementar saldo (gasto)
Escribir un valor directamente
Mucho cuidado: Modificar bloques valor sin entender la lógica del sistema puede romper la tarjeta o hacer que el lector la bloquee.
Véase Show me the (e-)money para entender por qué esto no es un juego.
Última actualización
¿Te fue útil?
