Page cover

💳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:

  1. Ejecutar el ataque DarkSide y Nested con PM3.

  2. Encadenarlo con Hardnested para obtener todas las claves.

  3. En caso de no conseguir claves utilizar Script Recovery.

  4. 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.bin

  • Data: /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)

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-money

  • Realizar 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

Véase Show me the (e-)money para entender por qué esto no es un juego.

Última actualización

¿Te fue útil?