viernes, 4 de enero de 2013

[Hack] Tarjetas magnéticas al descubierto.

Aclaración: Esto no es un tutorial. Gonzac Studios no se hace responsable por el mal uso de este material.

En el recuerdo quedo aquella vieja escena de Terminator 2 donde John Connor utilizaba su Atari Portafolio para extraer dinero de un cajero con una tarjeta robada. La escena aunque impresionante carecía de fundamentos en lo que respecta al funcionamiento de las tarjetas magnéticas.

Como la mayoría sabrá, las tarjetas magnéticas tienen una banda magnética que le permite almacenar información (generalmente identificación del usuario, pero puede almacenar otro tipo información). Y quizá sea los únicos medios magnéticos que se ven en la actualidad, ya que cassettes,  video cassettes, disckettes, etc; han quedado obsoletos.
Hoy en día, ha tenido muchísima difusión el skimming. Un tipo de fraude, consiste en clonar las tarjetas magnéticas. Y generalmente es difícil de detectar sino hasta que ya es tarde, debido a que cualquiera puede acceder a un lector de tarjetas, y no requiere ningún de método de comprobación. Inclusive en Internet venden kits para cajeros automáticos.
Recuerdo cuando tuve un poco mas de conocimiento en electrónica pude darme cuenta lo fácil que podía ser guardar la información incluyendo la proveniente del tecleado, con un circuito integrado programable. Y es por eso que hoy se ha expandido este tipo de robo.
*Pueden ver varios ejemplos en el blog de krebs.

¿Puedo clonar mi propia tarjeta?
La verdad que seria muy útil poder tener un duplicado de nuestra tarjeta en ciertos casos, por razones de seguridad, para reemplazar una tarjeta deteriorada etc.
La respuesta es si, ¿es legal? No. Las entidades se toman muy enserio la seguridad con respecto esto, ademas de cualquier "error" que pueda ocasionar una demanda. Y lo mas probable es que si te descubren con una tarjeta clonada, aunque sea tuya, tengas que dar declaraciones al respecto.

¿Hace falta un lector especifico, un software especializado y/o descifrar los datos?
Basándome en el principio de funcionamiento, la respuesta es: No necesariamente.
La banda magnética tiene almacenada la información en un formato determinado. Pero al leer esta información los datos deben ser enviados en forma de señal eléctrica y estas ondas son las que pueden almacenarse y reproducirse.
Como no hace falta "interpretar" la información, todos los "datos" se puede capturar en forma de señales.
Y para hacerlo mas entretenido voy a mostrar un ejemplo con un viejo walkman.
Obviamente antes hay que desarmarlo y hacerles unas pequeñas modificaciones.
El walkman va conectado directamente al pc, mediante un cable desde salida de los auriculares del walkman y la entrada del micrófono del pc. Se Agrega un capacitor de 10uF y una resistencia de 4,7k para mejorar la respuesta.
 Para alimentar el walkman se utilizó un circuito similar al visto en el "regulador de ventiladores de pc", solo que este se conecta al usb.
Lo ideal seria conectar la entrada al pin 2 y entre la 1 y 2 conectar un polyswitch (fusible rearmable) de 100 a 300mA para cuidar de posibles cortos.
Obviamente el lector magnético debe estar fijo y a una altura que permita leer la banda a una medida especifica. Según lo que se desea almacenar, las tarjetas pueden utilizar hasta 3 franjas dentro de la banda oscura.
Si observamos unos repuestos de lectoras, podemos ver que hay de 2 franjas y de 3. Esto es porque muchas dejan la tercer franja sin utilizar.
Una vez conectado todo, solo se graba y se almacena. Obviamente esa señal de onda al ampliar la escala de tiempo se puede descomponer en distintos ciclo de onda que representa niveles lógicos. Como en redes, la conversión digital/digital es decir niveles lógicos a señal puede hacerse de múltiples formas y también es utilizado en otros medios. En este caso se encuentra relacionado con la conversión bifásica, mas específicamente "manchester diferencial" donde por cada dígito le corresponde un valor alto y bajo. Siempre comenzando por uno alto, repitiéndose el patrón anterior por cada 0 e invirtiéndose la onda al aparecer un 1.
Como la idea no es leer y descifrar el contenido de la tarjeta. Lo que voy a hacer es simular la cinta magnética induciendo la señal en un material ferromagnético. Y para ello es necesario amplificar la señal, así como cuando se tiene un parlante mas grande.
Se utiliza un potenciometro de 10k (VR1) para graduar la intensidad, y la bobina esta hecha de un material ferromagnetico que corte al cual se le enrolla un alambre de cobre esmaltado ultra delgado similar al de las bobinas de las radios viejas, con aproximadamente 90 vueltas.
Y así quedaría terminado el "prototipo", luego solo habría que pasarlo a una plaqueta para poder transportarlo con facilidad.
Acá un vídeo de la prueba de funcionamiento

-------------------------------------------------
Quería hacer solo una analogía a la escena de Terminator, el dispositivo puede ser modificado para usarlo en cualquier dispositivo portátil, o inclusive con un integrado de la familia del isd2560.
Saludos