AYUDA Editar Tarjeta NFC de autobús


Almikello

Miembro muy activo
Buenas tardes, creo que soy el 3º en publicar un post de este tema. Al ver este me vi motivado para intentarlo por mi cuenta, me compré una proxmark3 (De las baratas) y empecé a trastear. Con el Flipper Zero conseguí 2 claves y con la función "autopwn" del programa de la proxmark3 ya tuve acceso a la tarjeta, al abrir el archivo .*** no entendía nada y lo deje ahí por un tiempo; esta mañana lo volví a intentar y al cambiar el número de viajes pude trastear un poco más, ya se cual es la parte que contiene el número de viajes el problema es que no es tan fácil cambiarla, aquí es donde necesito ayuda. He intentado buscar un patrón e ir cambiando datos de uno sin que se corrompa la tarjeta pero nada.

Aquí adjunto unas imágenes:
Esta tiene 7 viajes:
1694275783815.png

Esta tiene 17 viajes:
1694275831445.png


Lo amarillo y rojo son las diferencias entre las dos tarjetas y lo azul lo común, en la columna 03 (4º) se almacena el número de viajes en hexadecimal (07 -> 7, 11 -> 17) el resto de columnas no se que es, pero al cambiar cualquier valor no se puede utilizar la tarjeta. He intentado cambiar los valores de la de 7 por la de 17, los de la 17 por la de 7 y más combinaciones. Al copiar las dos filas enteras si funciona, pero al cambiar un solo valor deja de funcionar.

Perdón por el tostón, no se si me he explicado bien. Os leeré.
 

Sakst

IIIIIIIIIIIIIIIIIIIIIIIIIII
Noderador
Nodero
Noder
yo probaria a comparar una de las dos con otra de exactas características para ver si cierta parte de el código va vinculado a la tarjeta
 
  • Like
Reacciones : Almikello

Almikello

Miembro muy activo
yo probaria a comparar una de las dos con otra de exactas características para ver si cierta parte de el código va vinculado a la tarjeta
Entendí mal lo que me dijiste, esta mañana probé la tarjeta de un amigo que tiene el mismo número de viajes que yo, al compararlo volví a ver partes comunes y otras distintas, decidí buscar las partes propias en la tarjeta y di con una línea que tiene varios valores distribuidos, los mismos que los que estan en el saldo pero en separados por unos valores con son comunes entre las dos tarjetas, me explico como el culo, una imagen es más facil:
La mía:
image.png


La de mi amigo:
image.png

Al ver que están en distintas filas me da la impresión de que es de las veces que se ha usado la tarjeta, por eso puede que mi amigo la tenga en la fila 290 y yo en la 200.
 
Última edición por un moderador:
  • Like
Reacciones : Sakst

Emma-Senpai

Miembro muy activo
2 cositas.
1. Seguramente son valores ligados por lo que veo a cuando haces un viaje, dudo mucho que sea tipo hora ultimo viaje, fecha o una zona de destino o origen, ya que como has dicho intercambiándolos no funciona, una especie de checksum creo para verificar estas cosillas y que algun listillo no se ponga viajes gratis.
2. Suda, simplemente haz viajes y sobrescribe la tarjeta con el dump de X viajes y ya esta, déjate de bobadas.
(pd: hay una aplicaccion en android que te ayuda a identificar el checksum y te lo cambia al adecuado cuando quieres cambiar el valor del viaje)
Buen trabajo
 
  • Like
Reacciones : Almikello y RubRub

Wh3zz

Miembro muy activo
Noder
No tengo ni puta idea de nada de esto pero voy a dar mi opinion: Por que no haces una inversion por ej. 60 Viajes, y guardas esa config, y asi solo tienes que cambiar los datos cada 1/2 meses
 
  • Fumón
  • Like
Reacciones : Almikello y Gerbo

Almikello

Miembro muy activo
Hoy he comprado una tarjeta nueva, tiene 10 viajes y no la he usado, he conseguido borrar unos datos que había al empezar la parte donde se guardan los viajes realizados para comprobar que el saldo no dependía de esa parte y efectivamente no depende, ahora simplemente me queda entender la lógica que no tengo ni idea.
1694454138903.png
He intentado cambiando el valor del final, ya que parece que el saldo es 0A, pues al final A0, lo he probado con 11 que da igual como lo escribas y nada, da error.
Tengo que averiguar el 01, 02 y el A0 que se puede hacer con ellos, ya tengo unas cuantas ideas.

A los que habéis dicho lo de que use la tarjeta poniendo una copia antigua e ir recargándola, a ver si, es buena idea, de hecho puede que haga un post sobre ello (Es relativamente fácil y creo que se puede hacer con el móvil), el problema es que soy cabezón y quiero hacerlo así, pero aun así gracias, os iré informando.
 
  • Like
Reacciones : Sakst

Almikello

Miembro muy activo
Cuidado que en mi ciudad hubo detenidos por este tema... y cuando alguien pasa una pirata por la máquina del revisor se puede dar por muerto.
No tengo intención de usarlo a diario, simplemente porque quiero hacerlo para aprender y no se como funciona la verificación de la empresa para que no me pillen.
 

deathboy23

Miembro muy activo
Noderador
Nodero
Noder
si usas el increase o decrease de la proxmark te deberia dejar, si no usa miffare tools o algo asi, le dumpeas las claves, lo lees y le das a value block como entero y desde ahi te deja ver el valor y modificarlo y modifica tambien los q van enlazados para q no de error
 

XaeK

Miembro
Hoy he comprado una tarjeta nueva, tiene 10 viajes y no la he usado, he conseguido borrar unos datos que había al empezar la parte donde se guardan los viajes realizados para comprobar que el saldo no dependía de esa parte y efectivamente no depende, ahora simplemente me queda entender la lógica que no tengo ni idea.
Ver el archivo adjunto 25492 He intentado cambiando el valor del final, ya que parece que el saldo es 0A, pues al final A0, lo he probado con 11 que da igual como lo escribas y nada, da error.
Tengo que averiguar el 01, 02 y el A0 que se puede hacer con ellos, ya tengo unas cuantas ideas.

A los que habéis dicho lo de que use la tarjeta poniendo una copia antigua e ir recargándola, a ver si, es buena idea, de hecho puede que haga un post sobre ello (Es relativamente fácil y creo que se puede hacer con el móvil), el problema es que soy cabezón y quiero hacerlo así, pero aun así gracias, os iré informando.
Que parte es la que has borrado? Juraria que el saldo es el cuarto digito, ya que las tarjetas mifare classic estan en hexadecimal.
En la tarjeta que dices tener 7 viajes, efectivamente pone 07 (7 en hex)
En la tarjeta que dices tener 17 viajes, efectivamente pone 11 (17 en hex)
Y el la tarjeta nueva con 10 viajes, efectivamente pone 0A (10 en hex)

Tienes que hacer el cambio en ambos bloques. Y revisa si hay mas sectores con datos por si tiene respaldo/verificacion de modificacion no autorizada, esa verificacion puede tener otra encriptacion a mayores de estar en hexadecimal, en algunos sitios multiplican el saldo por 2 (por ponerte un ejemplo que hacen en el sur) en otros usan doble digito y lo invierten.

Edit:
Otra opcion en la que casi nadie piensa es en hacer un dump de una tarjeta nueva, una vez agotados los viajes, restauras el dump y vuelve a ser “nueva” (haz antes otro dump por si no funciona poder recuperar la tarjeta y no te quede inutil).
No siempre funciona, hay sitios donde la maquina de cobro revisa en la nube si el saldo corresponde a esa tarjeta. Por lo que entendi, has intercambiado saldo de una a otra y ha funcionado, asi que ahi no hacen esa comprobacion.

Edit2:
Tienes una app para Android muy chula para cambiar el saldo muy facil (una vez obtenidas las key, localizados los digitos de saldo y el metodo de encriptado):
Mtools
 
Última edición: