Visualiza tus passwords (y asústate)

Una gran nube de puntos conectados en un extremo de la imagen, y multitud de puntos separados o en parejas en el resto
A veces ver la magnitud de la tragedia ayuda...

Eso de ahí arriba es la visualización (generada por Password Reuse Visualizer, más información) de las contraseñas que mi Firefox tiene almacenadas. La enorme ‘flor’ de arriba es un enjambre de sitios en los que, confieso avergonzado, uso una misma contraseña. El resto de la imagen corresponde a un comportamiento bastante más concienciado, de sitios con contraseñas únicas o casi únicas. El diagnóstico es que si uno solo de los sitios de la flor tiene un agujero de seguridad, mi identidad en todos los demás sitios conectados está en absoluto riesgo :-S

Casi todos tenemos la manía de usar y reusar una y otra vez la misma contraseña. Somos conscientes (sí, ¿no?) de que eso pone en riesgo nuestra identidad y seguridad digitales, pero pensar en una estrategia de contraseñas y recordarla cada vez que nos damos de alta en un sitio nuevo, o buscar alternativas, nos da una pereza tremenda…

Una herramienta como Password Reuse Visualizer puede hacer que, como mínimo, apreciemos la magnitud de la tragedia, se anule nuestra falsa sensación de invulnerabilidad y nos animemos a dar los pasos necesarios para asegurar un poco nuestra identidad digital.

PS Sí, decirle a Firefox que recuerde todos esos passwords tampoco es exactamente la mejor política de seguridad… :-S

PPS Para activar el plug-in, una vez instalado, deberéis hacer clic en el candadito azul que os aparecerá en la barra inferior del navegador.

XSS en algunos temas de WordPress

Hace un par de días un compañero de trabajo me avisaba de que la web de Mosaic, en la que hago «más o menos» de responsable técnico tenía un problema de XSS (inyección de código) en el formulario de búsqueda.

Alarmado, rápidamente actualicé la versión de WordPress a la 2.9.1, pero no conseguí solucionar el problema. La prueba era fácil, poniendo este sencillo script en el formulario de búsqueda

<script>alert("hola");</script>

Se abría un cuadro de diálogo de alerta.

Hoy, con tranquilidad, me he dedicado a investigar. El error se produce sólo en algunos blogs de WordPress, no en todos. Por tanto no es un problema del gestor de contenidos.

Después de algunas pruebas y algunos cambios, el error ha aparecido. Es un problema de algunos temas de WordPress y es muy fácil de arreglar. En el formulario de búsqueda de los temas que tienen la vulnerabilidad podemos ver algo parecido a esto:

<label for="s"><input type="text" name="s" id="s" size="50" maxlength="200" value="<?php echo get_search_query(); ?>" /></label>

El problema es el echo del código php. Eliminándolo se elimina el problema. Fácil :)

Actualización: Tal como apuntan Javier y Oscar en los comentarios, el problema no es tanto del echo (que permite mostrar la cadena buscada) como el hecho que no se filtre adecuadamente get_search_query().

Por tanto, tal y como propone Javier, en vez de eliminar el echo la solución más elegante es <?php echo htmlentities(get_search_query()); ?>

Reventar passwords WEP con un Acer Aspire One

WEP es un [poco seguro] sistema de cifrado usado en muchas redes Wi-Fi domésticas de España. Suele ser el método por defecto en la mayoría de routers de las grandes operadoras, lo que facilita su gran uso a pesar de su inseguridad.

Obtener la contraseña de una red Wi-Fi encriptada con WEP es fácil y está ampliamente documentado, así que, de hecho, no vamos a explicar nada nuevo. Sin embargo, estos días hemos estado haciendo algunas pruebas con un Acer Aspire One y dada la popularidad de este ordenador hemos pensado que podía ser interesante explicar cómo lo hemos hecho.

Aclarar que se explica sobre todo para que toméis conciencia de lo fácil que es reventar la Wi-Fi que tenéis en casa y que, naturalmente, es ilegal acceder a redes ajenas sin autorización. Nosotros las pruebas las hemos hecho con la red de la oficina, a la que, evidentemente, ya teníamos acceso.

No cualquier ordenador puede ser usado para obtener una contraseña WEP: es necesaria una tarjeta de red capaz de actuar en modo monitor y no todas lo permiten. Precisamente la de nuestro Acer Aspire One sí permite hacerlo, así que es este ordenador con el que hemos hecho las pruebas. No todos los netbooks ni portátiles disponen de una tarjeta así. De hecho, es probable que corran por ahí Aspire Ones que no lo permitan. Pero nada os impide hacer el experimento con el primer ordenador Wi-Fi que tengáis a mano.

Para hacer nuestras pruebas nos basamos en el post How to Crack a Wi-Fi Network’s WEP Password with BackTrack de Lifehacker, que seguramente sea una mejor opción para quien no tenga problemas con el inglés.

El primer paso es bajarse la distribución BackTrack 3 (dedicada especialmente a aquellos que quieran dedicarse a los «test de penetración») e instalarla en un drive USB. Se puede hacer de diversas maneras, nosotros hemos usado UNetbootin, desde donde puedes seleccionar directamente la distribución que te interesa e instalarla en un USB de arranque (de hecho, Unetbootin permite hacer eso mismo con docenas de distribuciones, con lo que es una herramienta muy práctica).

Una vez tenemos el USB con BackTrack 3 conectado al portátil lo ponemos en marcha y pulsamos F12 para seleccionar el arranque a partir del USB.

Cuando arranca BackTrack es importante seleccionar la opción de arranque con VESA, porque si no no se cargará el entorno gráfico que vamos a necesitar dentro de un rato…

Una vez tenemos el entorno de ventanas abierto, debemos abrir un terminal y ejecutar las siguientes instrucciones (ojo, son específicas para el Acer Aspire One):

airmon-ng stop ath0
ifconfig wifi0 down
macchanger --mac 00:11:22:33:44:55 wifi0
airmon-ng start wifi0
airodump-ng ath0

Descargar este conjunto de instrucciones en un script.

Con todo esto lo que estamos haciendo es poner la tarjeta de red en modo monitor y arrancando una aplicación que nos permite ver qué redes tenemos a nuestro alcance (las partes específicas son el ath0 y el wifi0: con otros portátiles puede que haya que cambiarlos por otros valores…).

Llegado a este punto, en la ventana que tenemos abierta aparecerán todas las redes accesibles con, entre otros (listo sólo los más importantes) los siguientes datos:

BSSID
la dirección mac del router
PWR
la potencia de la señal
#Data
que nos indica si tiene transmisión de datos
CH
el canal
ENC
el tipo de encriptación
ESSID
el nombre de la red

Con esa información podemos seleccionar cualquier red «asegurada» con WEP. Cuando tengamos claro qué red queremos, hacemos un CTRL+C, copiamos la dirección BSSID y escribimos lo siguiente:

airodump-ng -c CH -w nombre_archivo --bssid BSSID ath0

Descargar esta instrucción en un script.

Donde CH es el canal y BSSID es la dirección MAC, los dos datos obtenidos de la aplicación anterior. Los datos que obtenga se guardarán en un archivo con el nombre nombre_archivo. Este programa se dedicará a capturar paquetes y guardarlos en el archivo, lo cual nos permitirá, más adelante, obtener la clave. Podremos ver cuántos paquetes ha obtenido en la columna #Data.

Pero para poder conseguir la clave necesitamos un mínimo de 10.000 paquetes y eso puede tardar mucho en conseguirse, así que el siguiente paso es forzar al router a enviar paquetes.

Esto lo haremos en una nueva ventana de terminal. Así, sin dejar de correr el airodump-ng, y en una nueva ventana, ejecutaremos lo siguiente:

aireplay-ng -1 0 -a BSSID -h 00:11:22:33:44:55 -e ESSID ath0
aireplay-ng -3 -b BSSID -h 00:11:22:33:44:55 ath0

Descargar este conjunto de instrucciones en un script.

Donde BSSID y ESSID deben substituirse por sus valores correspondientes.

La última instrucción genera tráfico, con lo que el contador de paquetes se dispara y llega rápidamente a la cantidad necesaria. Ojo, a veces le puede costar algo generar el tráfico, dependiendo de la potencia de la red y de si tiene tráfico o no (si no tiene tráfico cuesta mucho más).

Finalmente, si todo ha ido bien, queda parar los programas (con CTRL+C) y obtener la clave. Esto último se hace con la siguiente instrucción (que se puede ejecutar en cualquiera de las dos ventanas):

aircrack-ng -b BSSID nombre_archivo

Descargar esta instrucción en un script.

Si todo va bien, aircrack-ng nos devolverá la clave de la red. Si va mal nos informará de que ha fallado y que necesita más paquetes para reventar la clave.

Como puede verse, no es nada complicado obtener la contraseña de una Wi-Fi encriptada con WEP, con lo que vale la pena echarle un ojo al manual de instrucciones de nuestro router y cambiar el estándar de seguridad de WEP a WPA…

Google may harm your computer. Lo dice Google…

El resultado de una búsqueda devuelve la advertencia This site may harm your computer para varios sitios Google
Google may harm your computer. Lo dice Google. Será verdad

Puedo prometer y prometo que la captura de pantalla de aquí arriba está hecha hace cinco minutos y que no hay ni trampa ni cartón. Ahora mismo Google advierte de que visitar sus propios sitios puede ser dañino para el ordenador. A alguien se le va a caer el pelo…