Pruebas y chanchullos con RFID

Iniciado por Codename!!, 7 Agosto 2009, 23:46 PM

0 Miembros y 6 Visitantes están viendo este tema.

jnavarro

Ya lo lei de nuevo, error mio.

Cada sector con dos claves de 6 bytes, ya veo que por fuerza bruta es tonteria incluso intentarlo.

Ha que usar el handshake capturado con el proxmark3 y utilizar el crypto para hayarla verdad?

Saludos

DR$6=N

#131
Hola, soy muy nuevo en el tema ... estoy leyendo este post .. q bien largo si esta jejeje .. y tengo un aoporte en lo que se refiera a "armar" el sniffer por asi decirlo, que depronto puede servir q no han mensionado, yo todavia no lo he probado pero me gustaria saber si alguien si;

Tema: RFIDuino.

No se si han consultado estos link:

http://iloapp.marcboon.com/blog/rfid?Home&category=2
http://rfid.marcboon.com/
http://marcboon.com/rfiduino/docs/rfiduinokit.pdf

Se hay sale mucha informacion importante creo yo   ;D.. lo malo es que estan en ingles pero eso no es nada que san google no pueda solunionar.

Espero poder ayudar un poco.

jnavarro

Comprobar los comentarios que hago en el archivo adjunto, aunque estan en ingles se entienden, si tengo tiempo traducire lo mas importante.

http://www.hispalan.com/archivos/MF1S50.pdf

Caracteristicas de la tarjeta y estructura:

La tarjeta esta compuesta de 1k = 1024bytes* x 8bits**, cion la siguiente distribucion (pagina 9):

La tarjeta dispone de 16 sectores independientes, y cada sector dispone de 4 bloques y cada bloque de 16 bytes*.
Por lo que cada bloque tiene 16 caracteres, multiplicamos x 4 y nos da 64 caracteres por bloque y si multiplicamos por 16 sectores nos da exactamente 1024 caracteres = 1 k

Bloque 0, informacion del fabricante (pagina 10)

La informacion esta guardada en el sector 0 y bloque 0, de la siguiente forma

4 primeros bytes es el numero de serie, el 5 byte es el byte de comprobacion y los restantes (6-16) son datos del fabricante, lo imporante es que se puede editar.

Bloques de datos

Son los primeros 3 bloques de cada sector(0,1,2), excepto en el sector 0 que tiene el bloque 0 con la informacion del fabricante y es de solo lectura.

Cada bloque de datos dispone dispone de 16 bytes, organizados asi

0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
   VALUE   |  VALUE |  VALUE | adr|ADR|adr|ADR

Las grupos VALUE de datos, son los mejores, en cuanto a almacemaniento de datos y el tratamiento de los mismos, ya que permiten leer, escribir, incrementar, descontar, restaurar y transferir) aparte tienen un comprobante de la transmision, por lo que si no se hace correctamente esta se vuelve a enviar.
Los bytes ADR  son para direcciones de bloques y restaurar informacion (hasta 3 cambios).


Bloque 3 en los 16 sectores (pagina 11)
Este bloque en todos los sectores contiene las dos keys A y B de 6 bytes cada una, 12 en total, mas 4 bytes de acceso...

0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
           KEYA    |  Access  |      KEYB


Funcionamiento (pagina 12)

identificacion y seleccion de la operacion a realizar

Para por autentificarse con la KEY A Y/O B y de ser positiva se concede el acceso

Entonces pasaremos a operar en los distintos bloques:

Bloques 0,1,2 de todos los sectores (excepto el bloque 0 del sector 0) VALUE: leer, escribir, incrementar, descontar, restaurar y transferir.

SECTOR 3 de todos los sectores, READ/WRITE: leer y escribir

Hace la comprobacion y da el ok.

Bits de acceso

EN LA PAGINA 13,14, 15 SALEN DOS FIGURAS QUE LO EXPLICAN PERFECTAMENTE

Son combinaciones de 3 bits, que hacen activar una u otra key, o las dos, asi como los permisos para operar en dicho sector, leer, escribir, incrementar....

Contraseña y acceso

Cada sector dispone de 2 keys, key A y key B, cada contraseña esta compuesta por 6bytes, que en hexdecimal (como vamos a usarla) son 12 caracteres a elegir entre el 0 al 9 y de la A a la F

Estas son obligatorias para acceder, por eso el fabricante tiene unas por defecto:

KEY A
FFFFFFFFFFFF
A1A1A1A1A1A1
A1A2A3A4A5A6

Key B:
FFFFFFFFFFFF
B1B1B1B1B1B1
B1B2B3B4B5B6

Si disponeis de un lector y una tarjeta virgen, solo debeis elegir un sector de los 16 disponibles, del 0 al 15, y en la key A, poner una de las siguientes:

**Bit, es en codigo binario la unidad, es decir, 0 o 1.
*Byte, es en codigo ascII un caracter de 256 posibles, que se producen al combiar 8 bits, a groso modo, quiere decir que un byte es un letra, numero o simbolo.

Sacar contraseña por fuerza bruta??


Pues poder se puede como todo en esta vida, pero vamos a dar unas explicaciones y que cada uno opine.

Como dije antes una contraseña tiene 6bytes, lo que equivale a 48 bits o 12 caracteres hexadecimales (siempre que la key b no este activa).


Posibilidades

La contraseña al ser de 6 bytes y cada byte al tener 256 caracteres diferentes, la cosa seria asi:

256 elevado a 6 = 256*256*256*256*256*256= 281.474.976.710.656, 281 billones de combinaciones

En comparacion con la primitiva, que son 45 bolas y 6 numeros, como salen del mismo bolo hay que ir descontando:

45*44*43*42*41*40= 586.4443.200, 586millones entre 1, creo que cuesta 1 eur la apuesta, y no quiero averiguar los premios que dan porque seran ridiculos, en comparacion con las posibilidades, pero ira por recaudacion, botes...

Como veis es mas facil acertar la primitiva que la contraseña, la ventaja de esta ultima, es que podemos intentarlo varias veces y no nos cobran por ello, pero aun asi de ser muchas combinaciones, tienes que autentificarte para comprobarla lo que lleva un segundo aprox, lo que son 281 billones de segundos lo que son 8.925.513 años con una key por segundo, pero claro se romperia antes el lector y la tarjeta, no suelen durar casi 9 millones de años, la unica posibilidad por fuerza bruta seria que se pudiera longear como un handshake (como en redes wap) y a partir de ahi comprobar contraseñas, siempre que esto utilizando programas como cowpatty, airolib, adaptados para esto, he visto que consiguen hasta 200.000keys segundo lo que lo reduce a 44,62 años cosa poco fiable si no se aumenta radicalmente la velocidad.

Se podria hacer, si descubrieramos algunos caracteres de la clave sean comunes, o que sean el numero de serie y fabricante..., para asi rebajar las posibles claves.

Ataque diccionario, hay poca info, deberiamos de tener muchas contraseñas de series correlativas para poder pensar en algo, aun asi, estas tarjetas suelen ser por provincias o por empresas, por lo que no podriamos contar con mucha gente para ello. A no ser que utilicen como dije antes algun calculo a partir del numero de serie, fabricante...


Continuare, si me he equivocado en algo no lo se, ya que es tarde y me he podido liar, la culpa al sueño k no se puede defender jiji...

elpit

'se prodria sniffar la clave??? no

srwik

Yo ya me perdí, seguíamos hablando de forfaits?

scorpion29

hola tengo un lecto escritor de rfid para mifare tengo instalado el rfdump pero leo las etiquetas y solo me aparece un numero de 8 digitos creo que es el uid no se como desencriptaar las key para tener acceso total ala tarjeta ,quiero instalar el rfidiot pero es sobre linux que publicacion me recomiendas para esta clase de trabajo,muchas gracias

bitmaniaco

¿ Podríais recomendar tiendecillas para comprar algún lector/escritor que no claven 300 €? Me interesa el tema, y estoy leyendo, pero es que son demasiado caros los aparatos.

Chaos.
"El secreto para sobrevivir es evitar las guerras, sobre todo con uno mismo"

pit27


*dudux

#138
......... ;D

Siscu.cab

http://www.youtube.com/watch?v=-XXaqraF7pI&feature=fvst  este vídeo explica el funcionamiento.
Andaros con ojos a ver si hay alguna persona mala con placa de cherif !! Pero alguna gente yo para mi que esta esperando a que le digan de que lucrarse para empezar a joder .... y eso no mola ....