pySIM-Reader: Accediendo a una tarjeta SIM

La herramienta de la que vamos a hablar hoy, hace unos años tenía más sentido que ahora, ya que con los nuevos móviles y smartphones la tarjeta SIM ha quedado relegada a un segundo plano, en la actualidad prácticamente solo sirve de interacción con el operador. Ya podréis haceros a la idea de que hablamos de una herramienta que sirve para explorar la tarjeta SIM de un móvil en busca de datos. Para ello utilizaremos el software escrito en Python llamado pySIM.

Para ello necesitamos primero el hardware, en este caso hay dos posibilidades, una de ellas es la que comenta la web y otra encontrada por mí de pura suerte. El software del que hablamos se conecta a la tarjeta a través de un dispositivo por un puerto serial, pues bien, en la ya conocida web de DealExtreme encontramos un lector de tarjetas SIM por menos de 3€ que para funcionar necesita un driver USB-2-Serial (windows Mac OS X) y que funciona correctamente con pySIM-Reader. Y la otra opción más divertida y la que en un principio hice yo es comprarlo y montarlo yo mismo, es más caro, pero la satisfacción de hacerlo y que funcione para algunos es más gratificante.

Por otro lado para hacerlo funcionar depende del sistema operativo, en Windows podemos descargar el ejecutable de aquí, para Linux y Mac OS X necesitamos tener instalado Python, pySerial (librería para interactuar con un puerto serial [COM] y wxPhyton (librerías de Python para generar entornos gráfico), además del código del programa. Para que funcione correctamente en Mac OS X os recomiendo MacPort con Python 2.6 y instalar wxPhyton y pySerial desde MacPort también, a mi de otra forma me dio muchos problemas.

Interfaz pySIM

Interfaz pySIM

Para hacerlo funcionar puedes conectarlo a través de un conversor USB-Serial y al abrir el pySIM-Reader te pedirá que le digas el dispositivo, en Mac OS X y Linux os puede pasar que el dispositivo creado no sea el que aparece en la ventana del programa, mi solución fué hacer un ln entre el dispositivo real creado en /dev/ y el que te reconoce el programa, si os contáis directamente por cable serie puede que no tengáis este problema.

Creando el link al dispositivo requerido

Creando el link al dispositivo requerido

El programa tiene un pero muy grande y de cierto modo es lógico, y es que para extraer los datos de la SIM hay que facilitar el código SIM, por lo que solo podemos extraer información de nuestra SIM o en el caso de que tenga deshabitado el PIN, pero evidentemente al ser el software OpenSource podemos acceder al código y entender a un bajo nivel como accede al chip.

Informacion incial del programa (izquierda) y de la SIM (derecha)

El software permite entre otras cosas:

– Agenda:

  • Mostrar Agenda
  • Modificar Agenda
  • Mostrar última llamada
  • Hacer/Restaurar backup de Agenda

– SMS:

  • Mostrar SMS
  • Hacer/Restaurar backup de SMS

 – SIM:

  • Mostrar información de la SIM (no necesita PIN)
  • Cambiar el PIN
  • Habilitar/Deshabilitar el PIN

Petición de código PIN

El programa accede a la SIM de una forma más o menos sencilla de entender, la SIM funciona como una memoria de tamaño fijo (64K por ejemplo) la cual está dividida en sectores o partes y cada parte tiene habilitada varios espacios de memoria fijos en los que se almacena la información. De esta forma el programa, de acuerdo con la RFC de la arquitectura de una tarjeta SIM, sabe que si accede a la posición X,N accede por ejemplo a un registro que guarda un número de teléfono y si accede a X,N+1 accedería a el número de teléfono siguiente almacenado. Podemos decir que está estructurada en una especie de matriz.

pySIM recorriendo la estructura interna de la SIM

Para poder acceder a esta matriz hay que conocer el PIN, ya que entre los datos y la petición del teléfono o el lector existe un microprocesador que es el que se encarga de comunicar ambos lados.
Este programa con sus limitaciones puede ser interesante si por ejemplo lo usamos para hacer un forense a un móvil de empresa que conocemos el código PIN.

Os enseño una foto del resultado una vez soldado:

SIM-Reader montado (clic para ampliar)

SIM-Reader montado (clic para ampliar)

También podéis leerlo visitando http://blog.buguroo.com

Acerca de dan1t0

Conocete a ti mismo
Esta entrada fue publicada en forense, instalacion, linux, mac os, windows y etiquetada , , , . Guarda el enlace permanente.

13 respuestas a pySIM-Reader: Accediendo a una tarjeta SIM

  1. Pope dijo:

    Muy interesante el post. Te recomiendo que te pongas con iPhone y Android, que tienen mucha chicha 🙂

  2. 0xroot dijo:

    Te ha quedado genial, espero que cuando nos veamos por barcelona me dejes trastear un rato con tu nueva maquinita :D.

  3. petroaudios dijo:

    Muy interesante el post, pondré una referencia en mi blog.

  4. Pingback: Accediendo a una tarjeta SIM y obtención de datos forenses. « Petroaudios's Blog

  5. Pingback: Forense em SIM CARD | Mundo Tecnológico

  6. Juan Manuel dijo:

    El trabajo está fenomenal. Pedì el kit y lo he montado, pero no puedo saber si funciona. He instalado el pySIM. El problema es que al intentar conectar, no me lista ningún puerto serie, no sé si será porque utilizo un portátil y un adaptador de puerto serie para USB.
    Si conoces la solución, te agradeceré tus consejos.

    • dan1t0 dijo:

      hola Juan!

      que sistema operativo usas? yo las pruebas las hice en mac os como comento y en XP con maquina virtual, si usas windows instala los drivers del cable (los hay genéricos) de cable tipo Serial-to-USB, en la misma web del kit los tienes!!!

      un saludo y gracias por comentar

      • Juan Manuel dijo:

        Gracias, Dan1to.
        Ya descubrí que el problema venia por haber instalado el pySIM. He desinstalado el software y he descomprimido el fichero pySimReader-Serial-Win32-v2, he sacado un acceso directo y ya funciona en WVista.
        Este software es muy limitado, sólo te muestra las llamadas y los contactos de la tarjeta.
        A mí me interesaría saber si hay otro programa más completo que me permita hacer un clon de la sim. Poder copiar toda la información en un fichero Windows y después poderla copiar completa en otra sim diferente, para poder usarlas en dos teléfonos, aunque ya he leido por ahí que responde el primero que descuelgas.
        Gracias por todo de nuevo. Sigo buscando un soft que haga lo que te comento. Si lo encuentro, lo pongo en tu blog por si le interesa a alguien.
        Un Saludo.

      • dan1t0 dijo:

        Hola, me alegro de que te funcione, te cuento:

        Por un lado, la limitación de estos programas viene con la entrada al mercado de los smartphones que hacen que toda la información que antes se almacenaba en la SIM, como los números, los SMS y otros datos ahora se almacenan en el teléfono por lo que es más complicado encontrar datos interesantes.
        Se que hay software para copiar SIM pero no ninguno en concreto, mírate por google y no recuerdo si el modulo este vale para escribir en SIM o solo lee.

        Espero haberte sido de ayuda, un saludo

  7. criptoclub dijo:

    que buen blog, muy bueno turorial, felicitaciones lo voy a poner como referencia en el mio

Replica a dan1t0 Cancelar la respuesta