Ingresando al mundillo del “hacking de modems”

Siempre digo que una de las mejores virtudes del ser humano es la curiosidad. Ser curioso es una bondad que nos ofrece nuestra existencia como seres pensantes y uno opta por serlo o no. Muchos pasan por alto la mayoría de las tareas cotidianas “porque simplemente son así y así funcionan” y otros, como yo y seguramente muchos de ustedes solemos intentar entender este maravilloso mundo que nos rodea, desde mundos inmensos como la astronomía o la física hasta algo básico como un modem/router. Todo se puede llegar a estudiar y entender, hoy, vamos a intentar entrar un poco más dentro de estos pequeños aparatos que nos permiten bueno… tener internet y leer a gente como yo en sitios cómo este

El funcionamiento, al menos mirándolo desde una perspectiva de bloques, es sencillo.

Conectamos el cable coaxil – en el caso de los cablemodems o rj 11 en caso de los módems ADSL – se digitalizan datos, estos se transforman y “sale internet” por un cable de red. Tenemos un portal para administrarlo donde colocamos la configuración del wifi o los puertos que deseamos abrir y listo. Hasta ahí no hay nada raro ni curioso, más que investigar a fondo el portal que nos ofrece el aparato. Pero.. Te pusiste a pensar como funciona eso? Donde se aloja ese portal? Cómo se cargó al router por primera vez? Cómo se define el límite de velocidad?

Muchos cerebros inquietos del mundo se dedican a analizar este tipo de cosas y de ellos salen geniales proyectos como DD-WRT (www.dd-wrt.com), un firmware alternativo compatible con un montón de equipos que convierte nuestro simple router en una terrible máquina que corre Linux (aunque por lo general la mayoría de los routers corren Linux).

Para poder analizar un montón de cosas y cargar y chequear firmwares siempre con posibilidad de arreglarlo (no es muy buen negocio romper 1500 routers para armar un firmware) se utilizan conexiones alternativas. Si bien un router puede tener un puerto USB, este no nos va a proveer de una conectividad directa al núcleo, por lo tanto necesitamos profundizarnos mucho mas.

Lo mas seguro es que quienes abrieron un modem o router alguna vez, hayan divisado algunos conectores sobre la placa base del mismo, como estos:

hacking-router-1

Estos no son ni mas ni menos que conexiones de datos serie, se encuentran en diversas interfaces, ya sean TTL o JTAG (los mas utilizados). A través de esos pines (conectados correctamente) podemos comunicarnos con el procesador del router sin problema alguno, ofreciéndonos la otra cara de lo que sabíamos hasta el momento.

Hace un tiempo una amiga me regaló un modem WebStar de Fibertel (el 2100) y también un  ZTE zx10 W300 de Speedy. Ambos aparatos archireconocidos en el país y el 2100 mundialmente por sus capacidades de hacking, es decir, de “poder meterle mano y hacer cosas interesantes con ellos”.

Una vez preparados deberíamos identificar la conexión de datos, en mi caso en vez de usar JTAG voy a utilizar la conexión TTL, en el caso del ZX10 se encuentra a la izquierda del chipset Trendchip T3162, son 4 islas estañadas que no dicen nada de nada.

hacking-router-2

Para poder identificar los pines lo mejor es utilizar un tester. Cualquiera sirve, ya que lo mas importante es medir corriente continua.

Empezando de izquierda a derecha deberíamos identificar en principio el pin negativo (GND). Para eso en modo de continuidad, colocamos una punta de pruebas sobre la isla deseada y la otra punta de pruebas sobre una isla que sabemos que tiene negativo (como el pin de energía por ejemplo)

hacking-router-3

Midiendo continuidad, 0.1 ohms entre el que yo supongo que es GND y GND

Una vez identificado el punto de negativo deberíamos identificar las conexiones de datos, son sólo dos, TX y RX (Transmisión y recepción).

hacking-router-4

Por lo general están próximos al pin negativo y lo más fácil es probar. Podemos averiguar si son de datos ya que los mismos entregan un pulso de 3.3 volts de manera intermitente. De ser continua la entrega de electricidad estaríamos midiendo un pin de alimentación.

Y ahora.. Cómo conecto esto a la pc? Podemos usar una interfaz USB-Serie bastante económica y sencilla como esta:

hacking-router-5

En eBay podemos conseguirlo por menos de dos dólares. Para terminar la parte eléctrica, lo mas cómo es soldar una hilera de pines, si ya no lo incorpora la placa base de esta manera:

hacking-router-6

Así con unos simples cables podemos conectar el router a nuestro adaptador serie. Una vez identificados los contactos de datos procedemos a cablear:

hacking-router-7

La configuración por parte del software es muy sencilla, en mi caso utilizo GTKTerm para comunicarme y por lo general el modo de comunicación es 115200 8N1, que significa 115.200 bps, 8 bits de datos, sin bit de paridad, y un bit de stop.

Una vez abierta la sesión, le damos energía al router y…

hacking-router-8

Tenemos algo!!! Bien, si llegaste hasta acá y en la consola no tenés información alguna, puede que tengas invertidos TX y RX en la placa. En el caso de que veas caracteres raros, simbolos y cosas sin sentido, lo mas probable es que la velocidad de conexión no sea la correcta, si no es 115.200, seguramente sea 9.600.

Aquí el modem router ZTE de Speedy conectado y booteando,

hacking-router-boot-1

Si nos avivamos a tiempo, podemos llegar al menu de debugging del modem!

hacking-router-boot-2

Y modificar algunas cosas muy facilmente:

hacking-router-boot-3

Esta es sin dudas, una de las cosas mas divertidas donde podemos mezclar la computación con la electrónica y hacer cosas increíbles. (Si, como clonar modems y esas cosas…).

Experimentando podemos hacer ingeniería inversa a prácticamente cualquier dispositivo que albergue un microcontrolador, esto incluye alarmas, controles remotos y cosas similares.

En el mercado existen aparatos como el Bus Pirate que no es mas que una simple interfaz serie con muchos agregados. Sirve para leer, reversear, programar, borrar, etc. Es realmente un dispositivo muy completo y lo recomiendo para aquel que desee interiorizarse mas en este maravillosa área donde se cruzan informática y electrónica.

12 Comentarios

  1. Muy buen artículo para el que no conoce de este tema. Habría que aclarar en la parte de “Conectamos el cable coaxil – en el caso de los cablemodems o rj 11 en caso de los módems ADSL -“, RJ11 es el conector, el cable es un UTP CAT3

  2. El otro dia estaba leyendo e investigando un poco sobre todo este tema. Siempre sacan estos articulos justo cuando me sirven, jaja. Buena lectura para complementar lo que sabia.

  3. Excelente artículo, muy pero muy interesante.
    Soy técnico electrónico y estas cosas me fascinan realmente.

    Te felicito.

  4. Me parecio muy interesante el articulo. Pero que uso util podria darle a esto? Perdon por mi ignoracia soy medio newbie.

    • Por ejemplo, podrias revivir algun router que se cago luego de una actualizacion de firmware.
      O reprogramar la pedalera de una guitarra electrica para que tenga mas funciones (propias de un modelo mucho mas costoso). El principio es el mismo.
      Las Lenovo serie T guardan el password del BIOS en un chip alterno. Con algo parecido a esto podrias leer el password soldando cables al chip.
      No solo routers, hay un sin fin de gadgets que tienen interface jtag con los que se puede jugar.
      Abrazo

  5. buenisimo el articulo. mas que interesante.
    yo tengo un modem adsl de speedy (BHS-RTA) el cual tiene una mini distro linux dentro. Segun pude ver es algo recortado de un busybox 1.4.x
    Por mas que miro y miro dentro del sistema (conectado con putty siendo root) no encuentro como conectar-deconectar la conexion adsl. Esto en particular me interesa porque si quiero reconectar a internet para cambiar mi ip tengo que apagar el modem y eso hace que dicho equipo tenga que resincronizar; lo cual lleva mucho tiempo en comparacion con un desconectar-conectar.
    Si alguno entendio lo que quise decir y sabe como hacerlo… please, i need your help!!!

  6. Muy buen articulo. Lo que me llama la atencion es la poca seguridad de los modem. En el caso del WebStar de Fiber con el solo hecho de clonar la Mac de otro modem “funcional” tenemos acceso libre.
    Al menos hasta hace un año atras esto me dio resultado.

  7. Esto puede servir para hacerle uncapping al modem? Supongo que las empresas de internet deben estar prevenidas contra eso. Me gustaria saber si es posible, es solo por curiosidad

  8. Esta muy buena la guia, te comento, tengo un router tplink al cual le instale un firm de openwrt, anduvo muy bien durante mucho tiempo hasta que meti mano en las configuraciones y vaya uno a saber porque nunca mas pude acceder a la configuracion, intente resetearlo de mil maneras diferentes pero siempre fue un fracaso tras otro, me tope con una guia en la cual habia que conectar con el puerto serie el router a la pc, mas o menos como lo haces en la guia, pero nunca me anime. La idea es que mediante esta tecnica instalar el firm directamente

    Aun tengo el router, solo me sirve para armar un lan de “juegos” ya que no hay manera de que se conecte a internet y tiene el wifi deshabilitado. Cosas que pasan. En algun momento juntare coraje para hacer algo util como lo que explicas. Saludos!

  9. Hace ya tiempo con este mismo ttl revivi un disco seagate de 500 Gb que mero modelo daba ese mismo problema solo fué cuestion de unos cuantos codigos ttl y zaz disco duro funcionando.

Dejar respuesta

Please enter your comment!
Please enter your name here