Controla tu mac de forma remota

Siguiendo el post anterior de como configurar mail.app para recibir los emails de Gmail, en este post vamos a buscar las opciones avanzadas de mail.app para poder controlarlo desde fuera. La forma en la que se enviará la orden será mediante email, por lo que puedes hacerlo desde cualquier ordenador con internet o, incluso, desde un teléfono móvil. El tutorial está hecho bajo tiger, pero imagino que en leopard funcionará igual.

En primer lugar debemos crear el script que queremos que se ejecute. Para ello, debemos usar AppleScript, que lo programaremos mediante la utilidad que viene preinstalada en Mac OSX llamada “Editor de Scripts” (puedes ponerlo directamente en spotlight o abrirlo en Aplicaciones > Applescript > Editor de Scripts). Una vez abierto debemos crear el script. Para ello debes copiar y pegar el código que quieras en el Editor de Scripts, o si sabes, puedes programarlo tu mismo. En Aplicaciones > Applescript > Example Scripts tienes muchos de ejemplo que también pueden ser usados, pero como los mas comunes para controlar remotamente es apagar y cerrar o abrir aplicaciones, estos son los códigos:

Abrir aplicación (Cambia iTunes por el nombre de la aplicación que quieras abrir)

tell application "iTunes" to activate

Cerrar aplicación (Cambia iTunes por el nombre de la aplicación que quieras abrir)

tell application "iTunes" to quit

Apagar el mac

tell application "Finder" to shut down

En el ejemplo que hay debajo, lo que haría seria abrir el iTunes y Zattoo a la vez.

Ahora vamos a pasar a la configuración de mail.app para que ejecute el AppleScript. Abrimos mail.app y nos vamos a preferencias (mail > preferencias…). En la ventana de preferencias abrimos la pestaña Reglas, que se encuentra arriba a la derecha. Pulsamos el botón Añadir regla y se nos abrirá una nueva pestaña. Ahí deberemos seleccionar las reglas que queremos para que se ejecute el AppleScript, añadiendo nuevos campos en el botón “+”. La configuración que recomiendo la dejo en la imagen de abajo, pero puedes configurarlo a tu manera, haciéndolo mas o menos seguro.

Donde pone origen@dominio.com debes poner la dirección desde enviarás el email (este campo es recomendado ya que si no cualquiera que enviara un email cumpliendo el resto de reglas, ejecutaría el script). Donde pone abrir, debes poner el texto del asunto con el que lo enviarás. A continuación, abajo, debes seleccionar Ejecutar AppleScript y selecciona el archivo donde hallas guardado el script.

De esa forma, con la configuración que está en la imagen cada vez que recibas un email de “origen@dominio.com” con el asunto “abrir” se abrirá la aplicación iTunes.

La gran desventaja de este sistema es que solo puede ser usado si has configurado previamente la opción en mail y has creado el script.

Bluetooth integrado de Toshiba Satellite U300 – 13H en GNU/Linux

Si tienes un Toshiba Satellite U300 – 13H seguramente sepas que viene con bluetooth integrado, que bajo Vista (el OS con el que te venden este portátil funciona perfectamente, supongo por que no lo he probado) pero que GNU/Linux ni lo huele.

Básicamente sabe que está ahí presente pero no es capaz de iniciarlo.

Para muchos, este problema se solucionaba con instalar los Toshiba Utils,

En Debian: # apt-get install toshutils

y luego iniciaba el bluetooth ejecutando un programa que se llama dmabt (que lo puedes encontrar aquí, al final de la página) y todo listo. El problema es que para el U300 -13H no vale esta solución por que dispone de una BIOS diferente.

Para ello necesitamos utilizar el proyecto omnibook. Pero hay que reconocer que con este proyecto yo logré que funcionara el bluetooth pero la gente del proyecto avisa de los portátiles compatibles y este no aparece en la lista, y ellos mismos se lavan las manos diciendo que lo usemos para estos casos bajo nuestra responsabilidad y no garantizan éxito alguno e incluso avisa de un posible mal funcionamiento del ordenador si utilizamos su código.

Bueno vamos al tema. Como indica la entrada primero voy a explicar cómo hacer funcionar el BT en un U300 – 13H, sin embargo después indicaré como puedes instalar mediante el proceso seguro el BT en otros portátiles totalmente si compatibles.

Para el Toshiba U300 – 13H

Primero lo que necesitamos es obtener el código de omnibook y solo lo podemos obtener mediante subversion (para ello necesitamos tenerlo instalado: # apt-get install subversion bajo Debian/Ubuntu)

Una vez tenemos subversión vamos a una terminal y si queremos (para tener todo ordenado) creamos un directorio, por ejemplo:

$ mkdir omnibook

$ cd omnibook

Como indicamos en el comando navegamos hasta el directorio omnibook recientemente creado y ejecutamos el comando para obtener el código:

$ svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk

Con este comando obtenemos el código en la carpeta trunk. Navegamos a este directorio y compilamos el código (necesitamos tener instaldo gcc, make, build-essential, en Debian: # apt-get install gcc make build-essential)

$ cd trunk

$ make

Luego lo instalamos mediante el comando:

# make install (o $ su -c “make install” o si tienes sudo instalado $ sudo make install)

Ahora necesitamos copiar el módulo a nuestro kernel, para ello ejecutamos:

# cp omnibook.ko /lib/modules/`uname -r`/kernel/drivers/misc

Generemos los módulos:

# depmod -a

Y añadimos el módulo al kernel:

# modprobe omnibook ectype=14

Este último es el paso arriesgado, esto no indican en su web:

WARNING: Forced load on an unsupported machine may cause unpredictable result. You have been warned…

Por último para que se cargue el módulo al iniciar el OS tenemos que añadirlo al /etc/modules, bien añadiendo a mano mediante una editor al final del archivo:

# vi /etc/modules

y añadir omnibook ectype=14, presionar ESC y escribir :wq (para guardar y salir)

o bien ejecutando esta línea en la terminal (son comillas simples normales, no curvadas):

# echo ‘omnibook ectype=14′ >> /etc/modules

Y con esto ya estaría todo, probablemente en la bandeja del sistema te aparecería el símbolo del bluetooth y si ejecutas:

$ hcitool dev

te econtrarás algo parecido a esto:

Devices:

hci0 XX:XX:XX:XX:XX:XX

Para activar y desactivar el BT tienes estos dos comandos:

Activar:

# echo 1 > /proc/omnibook/bluetooth

Desactivar:

# echo 0 > /proc/omnibook/bluetooth

Para saber si está activado o desactivado:

# cat /proc/omnibook/bluetooth

(y te devolverá algo en Inglés como) Bluetooth presente y activado o desactivado.

Ahora bien, para trabajar con el BT puedes instalar los paquetes de bluetooth, bluez, y su utilizas gnome, gnome-bluetooth (desde synaptic en Debian/Ubuntu). Para compartir ficheros necesitas ejecutar Aplicaciones > Accesorios > Compartición de Archivos por Bluetooth.

Por último aclarar que a mi esto me ha funcionado, y supongo que si tienes el mismo modelo de portátil a ti también te funcionará. No me ha dado problemas hasta el momento pero puede que a ti si, por eso piensa bien antes si aplicar estos cambios en tu portátil.

Después del corte explicaré como instalar el BT para otros modelos compatibles mediante omnibook.

EDITADO: ¡ATENCIÓN! (28/04/2008)

A mi la primera vez esto me funcionó pero ahora por motivos ajenos tuve que reinstalar y todo funciona bien menos cuando reinicio e intento entrar en el modo gráfico, que después de poner mi nombre de usuario y contraseña el ordenador se me apaga.

SI os pasa esto, no os asustéis, simplemente entrar en modo de prueba de fallos (tango en gráfico como en terminal) y eliminar la línea del /etc/modules que se refiere a omnibook (o comentarla poniendo delante el símbolo #) reinicia y ya estará todo solucionado. También puedes hacer esto montando la partición desde otro OS o desde un LiveCD mismo.

Entonces, ¿Renunciamos al bluetooth? Pues yo diría que no. Ya que he probado que solo se te apaga el ordenado cuando ejecutas el módulo al inicio, si lo cargas una vez iniciado no afecta al comportamiento del PC.

Por lo tanto lo que podéis hacer es iniciarlo a mano cada vez que lo queráis utilizar. Esto se hace simplemente ejecutando en una terminal como root el siguiente comando:

# modprobe omnibook ectype=14

Y se activaría (te aparece el símbolo del bluetooth)

Si veis que no os vais a acordar de esta línea podéis crearos un simple script que ejecute la misma y le dais un nombre del que os acordéis. Os pongo un ejemplo:

Creáis un archivo con el nombre blueon y le añadís el siguiente contenido (son dobles comillas normales):

#!/bin/bash

su -c “modprobe omnibook ectype=14″

Le dais permisos de ejecución:

$ chmod +x blueon

y lo movéis a /usr/local/bin

# mv blueon /usr/local/bin

Luego simplemente se cargará el módulo cuando queráis ejecutando en terminal:

$ blueon

NOTA: Si lo ejecutas como root no te pedirá contraseña y si lo ejecutas como user normal te pedirá las contraseña de root para ejecutarlo.

NOTA2: Si eres de los de Ubuntu que no tienes cuenta de root puedes cambiar el su -c del script por sudo quitar las dobles comillas y en vez de pedir la contraseña de root te pedirá la tuya. Al igual que con su -c, si ejecutas desde terminal solo $ blueon te pedirá tus contraseña desde el script y si ejecutas $ sudo blueon primero te pedirá la contraseña y después ejecutará el script que cargará el módulo)

POSIBLES PROBLEMAS: Pues por ejemplo si una vez cargado el módulo del bluetooth tenemos que, por algún motivo, reiniciar el sistema gráfico, al volver a hacer loggin se nos volverá a apagar el ordenador.

Esto parece un coñazo pero por ahora es con lo único que ha funcionado mi bluetooth y pocas veces no pasará que una vez iniciado el módulo tengamos que reiniciar las X.

EDITADO 2: ¡ATENCIÓN! (04/05/2008)

Hace unos días comentaba que tuve que volver a instalar a compilar omnibook y que a partir de ahí me dió problemas en el arranque. Esto puede ser debido a cambios en la versión del módulo. He llegado a esta conclusión después de volver a compilar el módulo con la versión anterior (que guardaba en mi portátil) y con el mismo ectype=14 y al arrancar no se me apagaba el PC.

En cambió descargué la versión actualizada y si lo hacía (como comentaba en el anterior EDITADO). Pero se me dio por hacer una cambio en el ectype de estar versión y puse un 12 (que la primera vez de todas no me había funcionado) y ahora va bien y al arrancar no se apaga, como funcionaba todo al principio sin complicaciones.

Resumiendo, para no liar más, ahora mismo con la revisión 274 de omnibook he cargado el módulo con el ectype 12 y me va perfectamente (como al principio de todo con el ectype 14 para las revisiones anteriores ); Con el ectype 14 sigue funcionando en esta revisión pero el PC se apaga al inicio (como comentaba en el EDITADO anterior)

Sigue leyendo

COMO hacer tu Debian inestable (actualizar a Sid)

Para empezar, voy a comentar como van las distintas versiones de Debian (para quien no sepa muy bien cómo va todo esto).
Debian cuenta con tres versiones diferentes, estas son la stable, la testing y la unstable, que van cambiando su nombre según se vayan liberando los diferentes cambios en la mismas.
Por ejemplo hoy en día la stable es Etch, y la testing es Lenny. A día de hoy la stable es Lenny y la testing es squeeze. En cambio la unstalbe siempre mantiene su nombre (ya que nunca llega a liberarse) y este es Sid.
Cuando la versión testing llega a un nivel de fallos aceptable se incorpora a la versión stable. Esto viene siendo que lo que ahora es Lenny se llegará a convertir algún día en lo que hoy es Etch (lenny será la estable y Etch se archivará), Esto viene siendo que lo que ahora es squeeze se llegará a convertir algún día en lo que hoy es Lenny (squeeze será la estable y Lenny se archivará), y lo que se está trabajando en la versión Sid (que recordemos que no se libera y no cambia de nombre) se irá incorporando en la versión testing.
Existen también otros “estados” como es la versión congelada. Que como explica la wikipedia:

Cuando la versión de pruebas llega a un nivel aceptable de fallos, entonces se “congela”, lo que significa que ya no se aceptan más paquetes. A continuación se trabaja para pulir el mayor número de bugs posibles, para así liberar la versión Estable. Ese periodo puede durar un mes o más, dependiendo del registro de errores de software. Cuando éstos son muy pocos, entonces se libera como versión estable, y la que era la anterior estable se archiva.

También existe la rama “Experimental” que más que una versión en sí, es un repositorio de paquetes.

Básicamente, ¿Qué diferencia a unas versiones de otras?

Pues lo probados y actualizados que estén los paquetes que nos podemos encontrar en las mismas. Y esto podemos resumirlo diciendo que básicamente se diferencian en los repositorios que utilizan.
Por ejemplo la versión stable suele tener este tipo de repositorios en el sources.list:

# Repositorio para la versión estable
deb http://ftp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.debian.org/debian/ stable main contrib non-free

Para la versión testing:

# Repositorio para la versión en pruebas
deb http://ftp.debian.org/debian/ testing main
deb-src http://ftp.debian.org/debian/ testing main

Y para Sid:

# Repositorio para la versión inestable
deb http://ftp.debian.org/debian/ unstable main
deb-src http://ftp.debian.org/debian/ unstable main

Para cambiar de una versión a otra…

Por todo esto, pasar de una versión a otra es bastante fácil.
Simplemente hay que cambiar los repositorios en el sources.list de la siguiente manera.

$ su
# vi /etc/apt/sources.list

Y cambiar en las líneas dónde pone etch (si tienes la estable en este momento, por ejemplo) por lenny.
Y si lo que quieres es la versión inestable, lo que pones es sid.
Luego actualizas los repos:

# apt-get update

A partir de aquí ya dispondrías de los paquetes de la versión que quisiste en tu Debian. Pero claro no actualizaste los paquetes en si que tienes instalados.
Para hacer esto (lo más recomendable) es que lo hagas a mano, vayas actualizando los distintos paquetes con paciencia para que no se creen problemas de dependencias.
Pero si lo que quieres es actualizar todo a lo bruto tu solución es:

# apt-get dist-upgrade

Y todos los paquetes se actualizarán automáticamente a la nueva versión (¡Utilizar con cuidado!).
Por ejemplo esto estaría bien recién instalado Debian en tu máquina.

No se recomienda que el usuario de Escritorio utilice la versión Sid, y lo que se recomienda para este perfil es la versión testing (lenny en estos momentos).
Personalmente yo te recomiendo que utilices testing, con toques de lenny, y algo de sid. Pero sin llegar a causar problemas de versiones de paquetes.
Es decir, utiliza los paquetes de testing, y cuando quieras añade los de sid para un paquete en cuestión y vuelve a eliminarlos del sources.list inmediatamente.
Esto también puede causar problemas de dependencias por eso tienes que tener ojo en que paquetes instalas de diferentes repositorios.
Para terminar dejo una copia de lo que podría ser un sources.list de algún usuario de Desktop de Debian:

# Repositoris de seguridad para Lenny:
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
# Repositorios normales para lenny:
deb http://ftp.de.debian.org/debian lenny main contrib non-free
deb-src http://ftp.de.debian.org/debian lenny main contrib non-free
# Repositorios multimedia para lenny:
deb http://www.debian-multimedia.org lenny main
# Repositorio de paquetes en un servidor Francés para lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
#Repositorio Español para lenny
deb http://ftp.es.debian.org/debian/ lenny main contrib non-free
# Ahora comentados, repositorios para Sid:
#Oficiales
#deb http://ftp.us.debian.org/debian sid main contrib non-free
#deb-src http://ftp.us.debian.org/debian sid main contrib non-free
# Multimedia
#deb http://www.debian-multimedia.org sid main

Resumiendo (03/03/2009):

  • STABLE –> Lenny
  • TESTING –> squeeze
  • UNSTABLE –> Sid (Siempre se llama así)

Versiones anteriores:

PCs que ejecutan Leopard… por $400


Pues puede ser una revolución o simplemente un fracaso, pero el caso es que la compañía Psystar se ha arriesgado a que le caiga una cantidad de demandas por parte de Apple y ha lanzado el llamado OpenMac, que curiosamente acaba de cambiar su nombre a OpenComputer.

El ordenador en cuestión, no es nada del otro mundo, aunque tiene mas capacidad que el Mac mas básico (el mac mini), salvo por el puerto firewire que es opcional y la tarjeta gráfica (si se le puede llamar así) GMA 950. Además, PC cuenta en su versión mas barata con un procesador core2duo de 2,2 GHz, 250GB de disco duro y 2GB de memoria RAM.

Su principal característica no está en que tenga mas capacidad que el mac mini, si no en que es el primer PC low cost que permite ejecutar (sin necesidad de modificarlo) MacOS leopard. El ordenador tiene un precio en su modelo mas básico de $399 (lo que vienen a ser hoy unos 250€): Si quieres que venga con Leopard instalado, tendrás que pagar $155 mas, y, por supuesto, te incluirá el CD original.

No se si Apple lo permitirá, pero está claro que es una muestra de que hay mucha gente que quiere un mac sin necesidad de dejarse mucho dinero en el ordenador. Ojalá que Apple saque un ordenador, mas feo, pero mas barato que los modelos actuales.

Vía AppleWeblog

Descarga torrents a un servidor web

 

greylogo.png

Sin duda este es un buen movimiento por parte de una empresa que estaba prácticamente desaparecida. Se trata de ImageShack, web que con la llegada de Flickr y por culpa de su abundante publicidad ya casi estaba en desuso. Han creado una nueva aplicación que permite descargar torrents a su servidor, lo que supone una descarga mas rápida y además las 24h del día y una vez que se haya descargado a su servidor, podrás descargártelo vía descarga directa a tu ordenador, con lo que se gana velocidad. Es bastante sencillo de usar, simplemente buscas en tu ordenador el archivo .torrent que te quieras descargar, lo subes y ya comenzará a descargarse.

Su principal ventaja está en los usuarios de compañías como ONO que limitan el uso de las redes P2P, o países que lo prohiben, pero también beneficia a los demás, por ejemplo, si estás trabajando, puedes poner el archivo para que se descargue y cuando llegues a casa descargártelo automáticamente o simplemente si prefieres aprovechar la velocidad de transferencia de un servidor frente a la conexión de tu casa.

Lógicamente también tiene algún inconveniente como que de momento solo está disponible para antiguos usuarios del servicio (por eso no lo he podido probar, nunca me interesó ese hosting de imágenes) o que “solo” puedes descargar 15GB de torrents al mes y tener 15GB de transferencia (para ser gratuito y estar en fase beta no nos podemos quejar).

Enlace: ImageShack Torrent Service

Vía: Alt1040

Configura una cuenta de Gmail en mail.app

Voy a hacer un breve tutorial de como se tiene que configurar la aplicación mail.app para que te permita recibir directamente los correos que te han sido enviados y también para poder enviar emails a otras cuentas.

En primer lugar debes tener una cuenta Gmail (puede ser otra, siempre y cuando te permita descargar el correo mediante POP). Una vez creada la cuenta, debes entrar en Gmail y luego accede a configuración. En esta página debes hacer click en la pestaña Reenvío y correo POP/IMAP. Una vez ahí, debes seleccionar Habilitar POP para todos. El resto de la configuración la puedes poner como quieras y después da a guardar.

imagen-2.png

Ahora nos dirigimos a mail.app. Seleccionamos Mail (a la derecha de la manzana) y luego damos a preferencias (o pulsamos comando y la tecla de la coma). En el menú de preferencias, seleccionamos la pestaña cuentas y pulsas en el botón “+” (abajo a la izquierda). En tipo de cuenta seleccionas POP, el nombre de la cuenta, introduces un nombre (quien reciba tu mensaje le aparecerá ese nombre) y tu dirección de la cuenta Gmail (o la que tengas). Cuando hayas completado todos los datos pulsa en continuar.

imagen-1.png

Después deberás configurar el servidor de correo entrante. Como dirección deberás poner pop.gmail.com y en nombre de usuario y contraseña deberas introducir los datos para entrar en Gmail (usar solo el nombre de usuario, sin el @gmail.com) y cuando lo rellenes pulsa continuar.

imagen-3.png

En servidor de correo saliente debes poner smtp.gmail.com, seleccionas la casilla de usar autentificación y vuelves a poner tu nombre de usuario y contraseña de Gmail, igual que en el paso anterior.

Finalmente, te aparecerá un resumen con los datos, pulsas continuar y si hay algún dato incorrecto pulsas en retroceder para editarlo. Después pulsa Salir y ya tendrás tu cuenta lista para enviar y recibir emails.

Lo fácil que es descifrar una clave WEP

Siguiendo con la temática del post “Las claves WEP no son seguras” voy a publicar en esta entrada lo fácil que es descifrar la clave WEP de una red wifi.
Pongo a disposición de los lectores la información de esta entrada (en la que por otro lado no entraré en detalles) con propósitos educativos y sin más fin que el de ayudar a la gente que no conoce en profundidad el funcionamiento de una red. Esta entrada se debe de ver complementada con el post anteriormente mencionado para que todo el mundo pueda ver lo fácil que es descifrar una clave WEP y saber como solucionarlo.

Entrando en materia explicaré brevemente como funciona más o menos el procedimiento de descifrado de una clave WEP.
Generalmente son entre 3 y 4 partes diferenciadas.
Primero hay que escanear la redes posibles a las que da alcance nuestra tarjeta wireless en los diferentes canales. Con Kismet, por ejemplo, obtenemos todos los datos necesarios para empezar a obtener paquetes de una red en cuestión (BSSID, ESSID, canal…)
Lo segundo que hay que hacer es obtener un conjunto de paquetes suficiente para proceder al descifrado de la clave (para una clave de 64bits 250.000 paquetes aprox., 700.000 para una clave de 128bits). Con airodump-ng, por ejemplo, esto se hace fácilmente.
Lo tercero y opcional es lanzar un ataque para conseguir más velocidad en la recepción de paquetes (Ataques de autentificación falsa, chopchop…)
Lo cuarto y último es descifrar la clave mediante los paquetes recibidos. Con los paquetes suficiente y con, por ejemplo, aircrack-ng es cuestión de segundos.

aircrack


Con este resumen podemos ver claramente que cualquier persona que se aprenda 3 comandos en cuestión de poco tiempo puede descifrar una clave WEP. Lo más difícil puede ser lograr un ataque con éxito, pero hoy en día existen scritps que hacen esto de forma automatizada, y el tiempo en la mayor parte de los casos tampoco es un problema, sin comentar ya que si la red tiene un poco de actividad ni siquiera hace falta lanzar un ataque para conseguir rápidamente un número de paquetes suficientes como para descifrar una clave WEP.

También existe el caso de las claves WEP de los router de telefónica, las redes cuyo ESSID es WLAN_XX. Si comentábamos antes que quizás lo más laborioso era concentrar un número de paquetes determinado (alto en algunos casos), con las claves por defecto de estas redes los paquetes necesarios bajan excesivamente hasta el punto de que con unos 100 paquetes nos puede llegar a ser suficientes (o menos incluso).

Esto es debido a que solo tiene que descifrar un número reducido de los 13 caracteres de la clave ya que por defecto se saben los 7 primeros y los 2 últimos. De los 7 primeros, el que comienza la clave es una letra que puede ser Z, X o C, según la marca del router (ZyXEL, Xavy o Comtrend respectivamente), los siguientes 6 serian los primeros 5 caracteres de la MAC del router. Y los 2 últimos son los dos caracteres de las XX de WLAN_XX. Todos los datos de marca de router y demás se saben con un simple escaneo de la red y el programa wlandecrypter, que además nos compone una lista de todas las claves posibles en un archivo para que sea más fácil descifrarla con aircrack-ng y su opción ‘-w’ para añadirle un diccionario de donde probar las opciones.

A todos los consejos dados en la entrada anterior, añado uno dirigido a los propietarios de las redes WLAN_XX. Por lo menos cambiarle el nombre a la red, ya que ver un WLAN_XX es invitar a todos los niñatos que se creen el mejor cracker del mundo por saber teclear 4 comandos en una terminal a violar la seguridad de vuestra clave WEP.

Por último decir que si queréis aprender el funcionamiento de las redes y ver lo fácil que puede llegar a ser para una persona normal robar la clave de una red os aconsejo el LiveCD de Wifiway que lo podéis descargar de su página web aquí. (Si alguien quiere que publique un post de como crackear una clave WEP con Wifiway que deje constancia en los comentarios y lo publicare de una manera más explicita, siempre que su intención sea la de aprender a proteger su propia red)

Las claves WEP no son seguras

¿Porqué las contraseñas WEP no son seguras?

Hoy en día romper con la seguridad que ofrece una contraseña WEP es casi un juego de niños. Estas contraseñas pueden ser violadas en cuestión de pocos minutos. Para explicar fácilmente el gran problema de estas claves hay que remontarse un poco a como se produce la autentificación entre un cliente y un punto de acceso, y como la wikipedia lo explica muy bien os lo pego:

Con el sistema WEP se pueden utilizar dos métodos de autentificación: mediante Sistema Abierto o mediante Clave Compartida.

En la autenticación de Sistema Abierto, el cliente WLAN no se tiene que identificar en el Punto de Acceso durante la autentificación. Así, cualquier cliente, independientemente de su clave WEP, puede verificarse en el Punto de Acceso y luego intentar conectarse. En efecto, la no autentificación (en el sentido estricto del término) ocurre. Después de que la autentificación y la asociación, el sistema WEP pueden ser usado para cifrar los paquetes de datos. En este punto, el cliente tiene que tener las claves correctas.

En la autenticación mediante Clave Compartida, WEP es usado para la autentificación. Este método se puede dividir en cuatro fases:

I) La estación cliente envía una petición de autentificación al Punto de Acceso.

II) El punto de acceso envía de vuelta un texto modelo.

III) El cliente tiene que cifrar el texto modelo usando la clave WEP ya configurada, y reenviarlo al Punto de Acceso en otra petición de autentificación.

IV) El Punto de Acceso descifra el texto codificado, y lo compara con el texto modelo que había enviado. Dependiendo el éxito de esta comparación, el Punto de Acceso envía una confirmación o una denegación. Después de que la autentificación y la asociación, WEP puede ser usado para cifrar los paquetes de datos.

Y como también explica la wikipedia:

El principal problema con la implementación del algoritmo anteriormente descrito es el tamaño de los vectores de iniciación. A pesar de que se pueden generar muchos vectores, la cantidad de tramas que pasan a través de un punto de acceso es muy grande, lo que hace que rápidamente se encuentren dos mensajes con el mismo vector de iniciación, y por lo tanto sea fácil hacerse con la clave. Por lo tanto es inseguro debido a su implementación. Aumentar los tamaños de las claves de cifrado sólo aumenta el tiempo necesario para romperlo.

De forma más cotidiana: Los paquetes cifrados que se envían, a pesar de que pueden tener varias “combinaciones” distintas, también son muchos las claves cifradas que viajan, con lo que en algunos casos coinciden en partes, por lo que mediante el uso de ciertos programas son más fáciles de desencriptar (Por favor, que los gurús de la informática me perdonen…).

Siendo tan inseguras, ¿Porqué se siguen utilizando?

Pues la respuestas es sencilla: compatibilidad con el hardware antiguo. Muchos sistemas antiguos no disponen de compatibilidad con las nuevas tecnologías como pueden ser WPA o WPA2. Por eso sigue siendo la configuración por defecto de la mayoría de los router a pesar que estos ya tengan la posibilidad de configurarlo con estándares más seguros.

¿Posibles soluciones?

Pues la verdad que seguro que tienes una solución al alcance de la mano. Seguro que el router que tienes en tu casa tiene soporte para claves WPA o incluso WPA2 y no lo sabes. Y seguro que no tienes problemas de compatibilidad con hardware que no soporte estas tecnologías (al menos que tengas una NintendoDS, o algún hijo que la tenga, y te quieras conectar a Internet a través de esta, ya que estas consolas solo aceptan redes abiertas o claves WEP).

Simplemente tendrás que entrar en la configuración de router y buscar el apartado dedicado a wireless o wifi y toquetear para dar soporte a una clave WPA, que además, si la configuras con mayúsculas y minúsculas, junto con números y algún signo, será prácticamente indescifrable.

¿Cómo entro en la configuración de mi router?

Pues tecleando en tu navegador preferido la dirección de la puerta de enlace predeterminada (gateway) que en muchos de los casos será por defecto: 192.168.1.1 (un comando útil en GNU/Linux para conocer el gateway (gw) es “route” y en Windows “ipconfig”).

Seguramente se te abrirá una ventana pidiendo que introduzcas un nombre de usuario y una clave (si no tienes ni idea busca en el libro de el router las claves por defecto. Para login suele ser la palabra ‘admin’ y para la contraseña ’1111′ o algo así, pero esto depende de marca y modelo).

Una vez dentro ya tienes que buscar un apartado llamado wireless o wifi y sistemas de encriptado.

NOTA: Si tienes contratada una ADSL de telefónica y no configuraste el router en ningún caso anterior tendrás que acceder a la configuración de tu router mediante el portal Alejandra. Además que sepas que si dispones de una red de telefónica de este tipo: WLAN_XX (donde XX son dos caracteres cualesquiera) que sepas que tu clave está más expuesta todavía a ser fácilmente violada. Más adelante, donde explicaré paso a paso cómo romper con la seguridad de una clave WEP, daré más detalles.

A parte de las contraseñas, ¿puedo proteger mi red de más maneras?

La respuesta a esta pregunta es SI. Aunque estos sistemas tampoco es que sean muy seguros (los básico de nivel usuario). Por ejemplo la mayoría de los router modernos dejan hacer un filtro según la MAC de un dispositivo.

A grandes rasgos esto significa que tu en la configuración de tu router puedes configurar una lista de macs que serán las que solo se pueden conectar a este. Y ¿Qué es una MAC? Pues quitándome trabajo recurro a la wikipedia:

En redes de computadoras la dirección MAC (Media Access Control address o dirección de control de acceso al medio) es un identificador hexadecimal de 48 bits que corresponde de forma única a una tarjeta o interfaz de red. Es individual, cada dispositivo tiene su propia dirección MAC determinada y configurada por el IEEE (los últimos 24 bits) y el fabricante (los primeros 24 bits) utilizando el OUI.

La dirección MAC es un número único de 48 bits asignado a cada tarjeta de red. Se conoce también como la dirección física en cuanto identifica dispositivos de red.

Esta acción no es más que disuasoria ante un cracker de pacotilla ya que cualquiera con un poco de conocimiento puede rastrear las MACs que están conectadas a la red y cambiar la suya por una de estas para poder conectarse a la red.

Mas cosas a nivel usuario serían, por ejemplo, desactivar el “broadcasting de SSID”, esto no es más que hacer que el nombre de tu red no esté visible a una busqueda poco exhaustiva (el lema es que si principalmente no eres visible menos ataques vas a tener). Esto lo puedes toquetear en tu router (toquetear la configuración de un router es una acción muy aconsejada para descubrir cosas y comprender un poquito mejor el funcionamiento de una red. Si las fastidias siempre lo puedes resetear).

A nivel también usuario, y siguiendo con la línea de toquetear en el router, se puede desactivar el servidor DHCP, si, este que nos da un ip local de forma totalmente automática para identificar a nuestro ordenador dentro de la red. Con esto lo que conseguimos es que no se le de acceso a peticiones extrañas que se intentan conectar a la red ya que no habrá un servidor que de forma automática les proporcione una ip, teniendo que configurar esta manualmente…

Más cosas, también seguramente tu router te permita la opción de cambiar el rango de ip que por defecto suele ser del estilo 192.168.X.X, aunque esto no merece la pena ni que te molestes en aprender a cambiarlo…

Estas sería más o menos las acciones recomendadas a un nivel usuario principiante/medio. Luego ya se podrían hacer cosas más complicadas y seguras del tipo de un tunel IPSEC o utilizar Radius, o incluso hacer que tu red funcione en canales más extraños como el 14 (que según tengo entendido no está aprobado en la UE, y no son capaces muchas tarjetas ni de rastrearlo, de ahí su eficacia para proteger redes wifi) pero esto ya es de nivel medio/avanzado y palabras mayores para cualquier propietario normal de una red wifi.

Me he leído todo el tocho y no he sacado nada en claro, ¿alguna CONCLUSIÓN?

Resumiendo. Las claves WEP no son buenas amigas. Pero pueden llegar a ser suficiente si no tienes a nadie “tocapelotas” viviendo cerca de ti.

mo_WEP

Decir que existen dos (algunos router disponen de hasta 3) tipos de cifrado WEP, el de 64 y 128 bits (también algunos el de 256), y su máxima diferencia radica en la extensión de la contraseña, que como se dijo atrás, lo único que hace es retrasar el tiempo de ‘crackeo’ pero no por ser más larga es más segura en cuanto a algoritmo se refiere.

Consejos finales:

Si puedes utilizar WPA o WPA2 a por ello, si no, la WEP más larga a la que tengas acceso (y siempre con frases poco predecibles, aunando mayúsculas con minúsculas, números y signos)

Si puedes configurar el filtrado por MAC mejor que mejor.

Ocultar el SSID y desactivar el servidor DHCP (con lo que tendrás que configurar las conexiones a mano)

Cambiar la contraseña periódicamente.

Apagar el router cuando no estés conectado por un periodo prolongado.

Todo lo demás ya exige un conocimiento bastante avanzado en redes. Y te aseguro que con una red protegida por un WPA2 complicada puedes estar tranquilo por un tiempo, aunque todo puede ser violado, nada es infalible.

La segunda parte de esta entrada que era como violar la seguridad de una clave WEP en general, y lo fácil que es descifrar una clave WEP de las redes de Telefónica WLAN_XX la dejo para la siguiente entrada.