Algo de Linux: agosto 2008

domingo, 17 de agosto de 2008

In-seguridad WEP en los routers wifi de Telefónica

Para tener un poquito de seguridad (aunque no mucha) todos los usuarios con routers wifi de Telefónica deberían cambiar la clave WEP que viene por defecto en el router, entre otras cosas, como por ejemplo, el nombre de la red, pero sobre todo, la clave WEP. Aunque para estar seguros, la verdad es que deberían cambiar la seguridad WEP por WPA con una clave fuerte.

Vamos a ver cómo obtener la clave WEP por defecto de los routers de Telefónica:

Sabemos que un router wifi tiene una interfaz WAN y una interfaz WIFI, al menos.

Sabemos que los nombres de las redes wifi de los routers de telefónica son de la forma WLAN_XX, donde XX son los dos últimos dígitos de la dirección MAC de la interfaz WAN del router.

Además, sabemos que la clave WEP de los routers de Telefónica (Comtrend, Xavi y Zyxel), está formada por:
* La primera letra del nombre del router en mayúsculas, es decir: C (Comtrend), X (Xavi) o Z (Zyxel).
* Seguido de la parte que identifica al fabricante en la dirección MAC, es decir, los tres primeros octetos de la dirección MAC, representados en hexadecimal. En total 6 caracteres.
* Seguida por dos octetos más representados en hexadecimal, que son la parte que varía en la clave => Cuatro caracteres hexadecimales.
* Y, por último, los dos últimos dígitos de la dirección MAC del interfaz WAN del router.

Como esto parece un lío, veamos un ejemplo:

Imaginemos que tenemos la red: WLAN_36 con la siguiente dirección MAC en la interfaz wifi: 00:02:CF:B3:89:90.

La clave WEP será de la forma: Z0002CFXXXX36

Por el comienzo de la dirección MAC (00:02:CF) sabemos que se trata de un router Zyxel, por tanto la clave WEP comenzará por Z.
Luego tendrá también los caracteres que identifican al fabricante: 0002CF.
Tendrá cuatro caracteres desconocidos para nosotros.
Y terminará en 36, que aparece en el nombre de la red.

Pues bien, WlanDecrypter es un programa (disponible tanto para linux como para windows) que, utilizando esta información, genera todas las posibles claves WEP que puede tener un router de dicha compañía.

Con este programa, averiguar la clave WEP es tan sencillo como capturar al menos un vector de inicialización (un paquete IV) y ejecutar aircrack-ng pasándole como parámetro el fichero con todas las posibles claves que hemos generado usando WlanDecrypter.

Bien, pero cómo se hace eso? Pues muy sencillo. Siguiendo el ejemplo anterior, tenemos la red: WLAN_36 con la siguiente dirección MAC: 00:02:CF:B3:89:90, que utiliza el canal 12.

Ejecutamos wlandecrypter para obtener un fichero con todas las posibles claves WEP para esta red.
La sintaxis de wlandecrypter es: wlandecrypter bssid essid fichero_destino
Es decir, a wlandecrypter tenemos que indicarle la dirección MAC de la red objetivo, el nombre de la red objetivo y el nombre del fichero donde vamos a guardar las posibles claves WEP.

# wlandecrypter 00:02:CF:B3:89:90 WLAN_36 WLAN_36

Ahora que tenemos el fichero con las claves WEP, vamos a ejecutar airodump-ng para capturar algunos paquetes. Como ya dijimos con un vector IV es suficiente. De todos modos, por si acaso, capturamos al menos 4 o 5 paquetes:

# airodump-ng etho --channel 12 --bssid 00:02:CF:B3:89:90 -w captura_WLAN_36

Suponemos que nuestra interfaz wifi es eth0.
Además especificamos que airodump-ng escuche en el canal 12 solamente y que capture tan sólo el tráfico de 00:02:CF:B3:89:90.
Con el parámetro -w captura_WLAN_36 indicamos que el tráfico capturado se almacene en el fichero captura_WLAN_36.cap. No hay que poner la extensión del fichero en la llamada a airodump-ng.

Una vez que veamos que hemos capturado 4 o 5 paquetes, podemos parar airodump-ng y ejecutar aircrack-ng para intentar sacar la clave WEP. No obstante, puede ocurrir que la red no tenga tráfico inalámbrico. En este caso, puede que no obtengamos paquetes con vectores de inicialización. Para forzar un poco que el router lance algún paquete con vector de inicialización, podemos seguir capturando tráfico y hacer una autentificación falsa:

# iwconfig eth0 essid WLAN_36 key 1111111111

O si no, dejar airodump-ng todo el tiempo que sea hasta que haya capturado esos 4 o 5 paquetes. A veces, el router los suelta enseguida y otras veces tarda mucho.

El caso es que una vez que tengamos esos paquetes, ya podemos obtener la clave. Siguiendo nuestro ejemplo:

# aircrack-ng captura_WLAN_36.cap -w WLAN_36

Con esto le decimos a aircrack-ng que obtenga la clave del fichero captura_WLAN_36.cap, tomando como fichero de claves el fichero WLAN_36.
Si hemos tenido suerte y entre los 4 o 5 paquetes hay un vector de inicialización, aircrack-ng nos mostrará un maravilloso KEY FOUND!! con la clave WEP del router.

Si todo va bien, con este procedimiento podemos obtener una clave WEP en 5 minutos. ¿Es o no recomendable cambiar al menos la clave WEP que viene por defecto en el router?
Lo dicho: Si podéis, cambiar la seguridad WEP por WPA con una clave fuerte que combine al menos números con letras mayúsculas y minúsculas y vuestra red estará protegida. Pero, si no podéis hacerlo, al menos cambiad la clave por defecto. Os sacarán la clave, pero al menos, reduciréis el número de posibles asaltantes.

jueves, 14 de agosto de 2008

RutilT: Soporte gráfico para la conexión wifi de las tarjetas Ralink

Tengo en casa tarjetas wifi C54Ri, con el chipset rt61. Recientemente me propuse cambiar la seguridad de mi red a WPA y el problema que tuve es que el administrador de red sólo maneja seguridad WEP, así que tuve que buscar otra herramienta que soportara WPA: RutilT.

RutilT es una aplicación en GTK2 para Linux que nos permite configurar las interfaces de las tarjetas Ralink.

Entre otras cosas nos permite ver la intensidad de señal de la conexión establecida. Además nos permite crear perfiles para diferentes redes. Y, una de las cosas más interesantes es que nos permite ver la lista de redes wifi que hay a nuestro alcance.

A día de hoy va por la versión 0.17, lanzada el 28-07-2008.

Podéis descargarla desde http://bonrom.cbbknet.com/

Se instala desde código fuente. Para instalarla, primero descomprimimos el archivo descargado:

# tar xfvz RutilTv0.17.tar.gz

Se nos creará un directorio: RutilTv0.17. Entramos en él.

# cd RutilTv0.17

Antes de nada, y puesto que esta herramienta está hecha con GTK2, quizás debamos instalar las librerías de desarrollo de GTK2:

# apt-get install libgtk2.0-dev

Después ejecutamos el fichero configure.sh:

# ./configure.sh

Si todo ha ido bien, y no nos falta nada, compilamos:

# make

Y si el proceso de compilación finaliza sin errores, podemos proceder a instalar:

# make install

Un detalle importante: Cuando utilicéis rutilt, cada vez que queráis conectar a una red, os pedirá la contraseña de root. Si queréis evitarlo es mejor que ejecutéis el configure.sh de la siguiente manera:

# ./configure.sh --launcher=nopasswd

martes, 12 de agosto de 2008

Convertir router C54APRA en DLink-G624T

Cuando llegó ADSL2+ a los operadores nacionales, Conceptronic sacó un nuevo firmware que actualizaba el router C54APRA a ADSL2+ (Recordemos que la llegada de ADSL2+ suponía poder tener una conexión de 20 megas). Pero después de actualizarlo, nos damos cuenta de que la velocidad más alta a la que sincronizará van a ser 8 Mbits/seg, igual que con el antiguo firmware.

Así que, si queremos tener soporte para ADSL2+, la opción anterior no nos vale.

Lo que tenemos que hacer es, aprovechando que el hardware del C54APRA es el mismo que el Dlink-G604T y el Dlink-G624T, actualizar nuestro C54APRA con el último firmware disponible para el Dlink-G604T o con el del Dlink-G624T que sí soporta ADSL2+.


Yo lo he actualizado por ver si se solucionan los cortes de señal wifi que tiene mi router, más que por el ADSL2+, porque no lo tengo, pero si ya dejo de paso preparado el router para esta tecnología, mejor que mejor.

Para convertir nuestro Conceptronic C54APRA en un Dlink DSL-G624T, primero es necesario actualizar el Conceptronic a la última versión de su propio fabricante. Y, una vez hecho lo anterior, ya podemos cambiarle el firmware por el del Dlink. Tras actualizarlo, veremos como la apariencia de la interfaz de administración del router ha cambiado a la del Dlink.

Las pruebas que yo he hecho son las siguientes:

* Partiendo del firmware V1 del 22-02-2005 del C54APRA instalado en el router (C54APRA_FW_V1.00B02T02.CT.20050222.exe), he actualizado al firmware DLinkEU_DSL-G604T_V1.00B02T02.EU.20050815, con lo que mi router quedó funcionando como un Dlink-G604T. Esta primera actualización la hice mediante el software de recuperación del firmware del C54APRA (que también sirve para el Dlink), una herramienta de Texas Instruments que nos servirá para cambiar el kernel y el sistema de ficheros del router: C54APRA_FW_Recover.exe

* Después he intentado actualizarlo directamente al firmware DLinkEU-A_DSL-G624T_V3.02B01T02.EU-A.20061124, para que funcione como un Dlink-G624T, pero no ha sido posible porque daba errores. Por la información que he encontrado lo que sucede es que no se puede actualizar desde la V1 a la V3 directamente, sino que hay que actualizar desde la V1 a la V2 para posteriormente pasar de V2 a V3.

* Como el paso de G604T (con V1 de firmware) a G624T (con V3 de firmware) no funcionaba, he actualizado el G604T con un firmware para G604T V2 australiano, concretamente el DSL-G604T_V2.00B12.AU_20070509, y todo ha ido bien. Esta actualización la he realizado mediante un programa ejecutable (tiupgrade.exe) que viene con el firmware.

* Ahora que ya tengo el router actualizado con el firmware de un G604T V2, pruebo a actualizarlo a un G624T V3, concretamente con el firmware DSL-G624T_V3.02B01T02.EU-A.20061124, y ¡bingo!. Ya tengo convertido mi Conceptronic C54APRA en un Dlink-G624T.
Esta última actualización la he realizado mediante el interfaz web del propio router.

Cuestiones a tener en cuenta en las actualizaciones de firmware:

Lo primero de todo es conectar el router al pc mediante cable ethernet. La actualización vía wifi nos dará problemas.

Además, es recomendable resetear el firmware de Conceptronic para partir limpiamente con valores de fábrica.


También es recomendable desconectar el router de la línea de teléfono, cerrar firewall, antivirus y todos los programas residentes en la barra de tareas para asegurarnos de que no hay procesos que puedan interferir en la actualización.

Actualización:
Hace tiempo que pasé la última actualización disponible para el Dlink DSL-G624T (V3.10B01T02.EU-A.20070613) y el router funciona de maravilla.

Pero, si queréis tener soporte WDS, recomiendo dejar DLinkEU-A_DSL-G624T_V3.02B01T02.EU-A.20070413

Recuperar el firmware del router C54APRA

Veréis que últimamente tengo poca actividad en el blog. Bueno, la verdad es que, como estoy de vacaciones he decidido tomarme un respiro. Pero como me ha surgido algo que me pareció interesante publicar, aquí estoy escribiéndolo...

Tengo un router Conceptronics C54APRA, que compré en ebay a alguien que lo vendía porque no soportaba ADSL2. A mí me daba igual que lo soportase o no porque no iba a usarlo como router ADSL. Pero el caso es que pronto Conceptronics publicó una actualización del firmware para que este router soportase ADSL2. Así que, aunque no iba a necesitarlo, lo actualicé. Y listo.

Antes de nada, pensé en los problemas de actualizar el firmware, entre ellos, el de dejar el router inservible, pero por lo que pude leer, era posible recuperar el firmware del C54APRA usando una herramienta de Texas Instruments que Conceptronics nos ofrece para tal fin:
C54APRA_FW_Recover.exe

Hoy he podido comprobar que funciona. Había intentado convertir mi C54APRA en un Dlink G624T y por lo que sea el proceso no se había completado bien, dejándome el router inservible, y sin acceso vía web. Así que he descargado el firmware de mi C54APRA y la herramienta de recuperación de la web de Conceptronics y he vuelto a tenerlo vivito y coleando.

Una vez que descarguéis la utilidad, la instaláis en un windows. Una vez instalada encontraremos un acceso a la misma en el menú de inicio. Se llama TI Remote Application.

Después configuráis la dirección IP del equipo con la dirección IP de recuperación. En mi caso ha sido: 10.0.0.5. En cuanto a la máscara de red, yo he especificado 255.255.255.0 (Leed el manual, porque hay otras).

El siguiente paso es ejecutar la aplicación TI Remote Application.

Una vez arrancada la aplicación, desconectamos la alimentación del router.

Seguidamente conectamos la alimentación al router y exactamente tres segundos después de haberla conectado, hacemos clic sobre el botón Retrieve/Assign IP Address que hay en la aplicación. Ésta es la mayor dificultad que tiene el recuperar el firmware, porque no sirve hacer clic antes ni después, sino a los tres segundos exactamente. A mí me ha dado algunos quebraderos de cabeza porque no sabía si lo estaba haciendo mal o es que había algo que no funcionaba.

No obstante, existe una forma más sencilla de saber cuándo hay que pulsar sobre dicho botón, y es fijándose en las luces de la parte delantera del router:
Al conectar la alimentación del mismo, las luces se encienden en el siguiente orden:
* Primero se enciende el led de Power y los 4 leds de LAN Link/Act al mismo tiempo.
* Después se encienden los 4 leds de LAN Link/act progresivamente, desde el 4 hasta el 1.
* Seguidamente se vuelven a encender los 4 leds de LAN Link/Act al mismo tiempo.
* Finalmente se enciende el led de LAN Link/Act del puesto en el que tenemos conectado el cable de red. Pues bien es justo cuando se enciende este led cuando tenemos que pulsar el botón Retrieve/Assign IP Address. Veremos como se mueven los logs, indicación de que estamos conectados.

Podemos comprobar que lo hemos conseguido fijándonos en los logs. Si la cosa no ha funcionado, volvemos a desconectar la alimentación y lo intentamos de nuevo.

En la ventana de la aplicación haremos clic en Browse y seleccionaremos el fichero mtd-4m.txt. Éste es un script. Lo ejecutamos haciendo clic sobre el botón Run script. En la ventana de logs veremos que todo ha ido bien si nos aparece Successfull.

Una vez hecho lo anterior, seleccionamos el botón de radio Flash en la aplicación.

Seguidamente, seleccionamos la opción Firmware - Kernel/FS y hacemos clic sobre el botón Download. Se nos abrirá una ventana en la que seleccionaremos el fichero que lleve la palabra kernel.
Al seleccionarlo y hacer clic en Abrir, la aplicación actualizará el kernel del C54APRA. Si todo ha ido bien, se habrá actualizado el kernel y veremos una ventana que nos informará de que la actualización ha sido exitosa.

Hacemos clic en Aceptar, cerramos la aplicación y desconectamos la alimentación del C54APRA para apagarlo.

Ahora que ya hemos actualizado el kernel, vamos a actualizar el sistema de ficheros del router.

Así que, volvemos a conectar la alimentación al router y exactamente tres segundos después de haberla conectado, hacemos clic sobre el botón Retrieve/Assign IP Address que hay en la aplicación (Recordemos que podemos hacerlo fijándonos en las luces de la parte delantera del router, tal y como comentamos anteriormente).

Si todo ha ido bien veremos que estamos conectados. Si es así, seleccionamos el botón de radio Flash en la aplicación.

Seguidamente, seleccionamos la opción Firmware - Kernel/FS y hacemos clic sobre el botón Download. Se nos abrirá una ventana en la que seleccionaremos el fichero que lleve la palabra FS.

Al seleccionarlo y hacer clic en Abrir, la aplicación actualizará el sistema de ficheros del C54APRA. Si todo ha ido bien, veremos una ventana que nos informará de que la actualización ha sido exitosa. Presionamos Aceptar y listo.

Una vez hecho todo, desconectamos la alimentación del router y volvemos a conectarla, esperando a que el led de Status se encienda.

Ahora podemos resetear el router, dejando pulsado el botón de Reset que hay en la parte posterior del mismo unos 15 segundos (o hasta que el botón de status se apague).
Cuando el led de status vuelva a encenderse, el router ya estará operativo. Así que, modificamos la configuración TCP/IP de nuestro equipo para que obtenga la dirección IP automáticamente.

Después de estos pasos, podemos acceder al router en la dirección 10.0.0.1. El nombre de usuario es admin y la password admin.

Aquí tenéis el manual completo para recuperar el firmware del router C54APRA:
Manual PDF