24 de noviembre de 2011

Jugando con la Wi-Fi desde Android (II)

En la entrada anterior estuvimos viendo cómo la configuración de fábrica de los routers que venden los ISP españoles no tiene nada de segura. En esta entrada os vamos a mostrar, desde un punto de vista práctico, lo importante que es el uso de canales cifrados cuando estemos trabajando con datos confidenciales o sensibles.

B.E.A.S.T hizo que nos empezáramos a plantear la seguridad del uso de canales cifrados por medio de SSL y TLS, aunque la realidad es que para su explotación en la práctica hacen falta una serie de requisitos que lo hacen relativamente complejo. Además, la vulnerabilidad publicada que explota B.E.A.S.T. tan sólo afecta a algoritmos de cifrado por bloques, por lo que bastaría con definir el conjunto de algoritmos soportados por el servidor a únicamente los algoritmos de cifrado por flujo que soportan tanto SSL como TLS (versión 1).

Dejando a parte el tema de B.E.A.S.T., la realidad es que a día de hoy el uso de SSL y TLS es una necesidad básica en Internet. Gracias a estos protocolos podemos confiar que transacciones bancarias, acceso a datos personales o confidenciales, conexiones a servidores que almacenan información sensible... son "seguras".

No obstante, aunque ya todos los bancos y la mayoría de comercios electrónicos implementan estos protocolos para realizar las transacciones comerciales, existen multitud de sitios web que todavía no los utilizan o dan a elegir al usuario. De los que usamos a diario yo destacaría algunas redes sociales como Facebook, Twitter o tuenti.

Teniendo en cuenta que en estas redes sociales tendemos a publicar toda nuestra vida "con pelos y señales", el hecho de que alguien pudiera entrar en nuestra cuenta para hacerse pasar por nosotros, además de un delito podría significar un DESASTRE en nuestra vida social (en la de unos más que en la de otros...).

Lo que vengo a decir es que muy pocos usuarios están concienciados de lo importante que es marcar la casilla "Activar navegación segura" una vez que hemos creado nuestros perfiles en estos servicios. Y si tenemos en cuenta lo fácil que nos resultó acceder a la red del amigo que no nos quería dar la clave de su Wi-Fi en la entrada anterior, el robo de sesiones de alguno de estos servicios es igual de trivial y tan sólo nos llevará un par de minutos.

En el siguiente vídeo vamos a ver cómo utilizando la herramienta para Android DroidSheep, tardamos menos de un par de minutos en robar la sesión de un usuario de Facebook que está conectado a la misma red Wi-Fi que nosotros.

Para los que no conocen la herramienta, os la comento un poco por encima antes de que veáis lo fácil que es utilizarla. Lo que hace es ejecutar un ARP Spoofing para interponerse entre la puerta de enlace (el router) y los usuarios de una Wi-Fi, es decir, un ataque MitM. A partir de ese momento, comienza a capturar todo el tráfico rescatando cookies de sesión en servicios conocidos (y no conocidos) que va mostrando por pantalla conforme las va analizando. Después proporciona diferentes opciones para enviar la cookie a una cuenta de correo electrónico o, directamente, acceder a la cuenta capturada desde el navegador del móvil.


Conozco a más de una persona que se configuró la navegación segura después de que le enseñara lo que podía hacer desde el móvil... Espero que esta entrada sirva para concienciar a más usuarios de lo importante que es fijarnos en que las páginas en las que introducimos nuestros datos comienzan por https en lugar de por http.

Entradas anteriores:
Jugando con la Wi-Fi desde Android (I) 
Otras entradas relacionadas:
Firesheep bajo Linux
FireSheep vs FireSheperd

14 de noviembre de 2011

Jugando con la Wi-Fi desde Android (I)

Las nuevas tecnologías han conseguido que prácticamente todos llevemos en el bolsillo un teléfono que sea más potente que los ordenadores de hace unos pocos años. Además de la potencia de cálculo, los nuevos smartphones nos permiten transmitir información por medio de diversas tecnologías.

En esta serie de entradas, voy a hablaros de algunas cosas básicas que podemos hacer con nuestro teléfono Android a través de Wi-Fi y sin apenas esfuerzo.

Lo primero de todo es conectarnos a una red. Pero si estamos en la calle o en casa de alguien que no nos quiera decir su clave de la Wi-Fi porque no se fíe de nosotros... podríamos tener un problema. Por suerte, los ISPs españoles distribuyen routers Wi-Fi con contraseñas por defecto y que son fácilmente predecibles conociendo el BSSID (MAC del punto de acceso) y el ESSID de la red (el nombre).

Para obtener la clave de alguno de los puntos de acceso que nos rodean, podemos utilizar muchas herramientas. Yo voy a pasar a describir las que, por uno u otro motivo, a mí más me gustan...

La primera de ellas es pulWifi, cuya pantalla principal tiene el siguiente aspecto:


Como vemos la aplicación, divide las redes que detecta en dos colores: verde, que se corresponde con aquellas redes que están abiertas o de las que podemos obtener la clave fácilmente; y rojo, las redes de las que no puede recuperar la clave. También nos indica con un diagrama la potencia de la señal para que sepamos a cuál nos interesa más conectarnos.

Si pulsamos sobre cualquiera de las redes de las que queremos recuperar la clave nos aparece la siguiente ventana. En ella nos da la opción de ver cuál es la clave (útil si necesitas copiarla en algún lado) y de copiarla directamente en el portapapeles.


Si optamos por la opción de copiar la clave, nos abre directamente el panel de Ajustes Wi-Fi de Android, en donde tan sólo nos quedaría buscar cuál es la red a la que estamos intentando conectarnos y pegar la clave desde el portapapeles:


Cuando le demos tiempo para que se autentique comprobaremos que nos hemos conectado sin ningún problema:


Dependiendo del tipo de red que sea, es posible que no nos indique una sola clave sino un repertorio de las posibles (suelen ser 10). En este caso tendremos que ir probando con cada una de ellas hasta que demos con la correcta.


En general, pulWifi es capaz de recuperar la clave de redes WLAN_XXXX, WLANXXXXXX, YACOMXXXXXX, WIFIXXXXXX y JAZZTEL_XXXX (aunque de esta última no siempre es cierto, como vamos a ver un poco más adelante...).

Otra herramienta tan útil como la anterior es WLANAudit.

Algunas diferencias con pulWifi es que en WLANAudit no podemos saber de una manera rápida de qué redes podemos recuperar la clave, sino que tenemos que ir mirando red por red cuáles es capaz de romper:


Este problema no lo tiene, por ejemplo, Auditfi. En este caso, se nos permite mostrar tan sólo las redes vulnerables y nos las lista con toda la información que nos interesa: ESSID, clave, potencia y BSSID.


Como podéis ver en las imágenes, una de las redes vulnerables es del tipo JAZZTEL_XXXX, que es de la que se muestra la segunda captura con la clave. Aunque, por motivos evidentes, he tapado el nombre de la red, si volvéis a la primera captura de pulWifi y os fijáis en la primera de las que aparecen en rojo (de las que no puede recuperar la clave) veréis que se trata de la misma red.

Es por ello que os comentaba que pulWifi no siempre funciona con las redes JAZZTEL_XXXX. Sin embargo tanto Auditfi, como wifiPass las soportan a la perfección.

Esta última herramienta de las que os voy a hablar (wifiPass) es muy parecida a Auditfi. Aunque en este caso directamente sólo muestra las redes vulnerables sin ninguna más información. Pulsando sobre cada una de las redes vamos viendo las claves y copiándolas al portapapeles:


Éstas son, tan sólo, algunas de las muchas herramientas para Android que nos permiten auditar la seguridad de NUESTRA red Wi-Fi. Otros ejemplos son HHG5XX WEP scanner o Penetrate Pro, de la que no hace mucho hablaron en Seguridad Wireless.

Como veis, aunque los ISPs nos vendan que la seguridad de nuestra Wi-Fi es la correcta por estar utilizando WPA2, no tenemos que dejad de cambiar las contraseñas y ESSID por defecto que vienen con los routers.

Espero que os haya resultado interesante la entrada y os animo a que os pongáis en contacto con nosotros si conocéis alguna herramienta parecida.

10 de noviembre de 2011

Estrenamos página en Google+


Con la llegada del concepto "página" a Google+ hemos creado un nuevo espacio en donde compartiremos noticias, publicaciones, nuevas herramientas, retos, curiosidades y muchas cosas más. Todo ello, eso sí, relacionado siempre con la Seguridad.

Para seguirnos, tan sólo tenéis que agregar a La X marca el lugar a alguno de vuestros círculos y estaréis al tanto de todo lo que vayamos publicando.

Os recordamos que también podéis seguirnos en Twitter  (@laXmarcaellugar) y en Facebook.

7 de noviembre de 2011

TapJacking, un juego peligroso en Android

En Android la gestión de permisos es llevada a cabo por el usuario, ya que al ser instaladas las aplicaciones somos nosotros mismos los que tenemos que decidir si otorgamos los permisos solicitados por la aplicación o si los denegamos, dando por cancelada la instalación.

Aquí un ejemplo:

De esta forma siempre vamos a ser conscientes o al menos vamos a tener una idea general, del el nivel de acceso a las funciones de nuestro terminal que puede llegar a tener cada aplicación.

Pero como el ingenio no tiene fin, se ha ideado una técnica de saltarse este paso, o mejor dicho, encubrirlo. Concretamente la técnica consiste en tener una aplicación que actúa de gancho (por ejemplo algún juego de habilidad) y que es transparente a las pulsaciones. Ya que nosotros vemos la aplicación gancho y tenemos la impresión de interaccionar con ella pero en realidad estaremos pulsando botones de una aplicación diferente que se encuentre en segundo plano.

Para poder hacer la trampa la aplicación gancho debe ser una notificación Toast modificada para que tenga apariencia de otra cosa, por ejemplo un juego. Este tipo de notificación en Android tiene la característica de dejar pasar los toques que se realizan en ella a la aplicación que este ejecutándose debajo. Por lo que teniendo la notificación constantemente en pantalla no se vería nada de lo que ocurre por detrás.

Esto permitiría al atacante todo tipo de libertad para hacer el mal, por ejemplo hacerte bajar un malware e instalarlo para obtener todas tus contraseñas, enviar SMS Premium y un sinfín de opciones más. Entre ellas, lo que comentábamos en un principio, camuflar la autorización de permisos por parte del usuario. Permitiendo que se instale cualquier cosa en su propio dispositivo sin saberlo.

Aquí podemos ver un vídeo de cómo funciona este sistema mediante una prueba de concepto:


Por suerte Google ya fue avisada del problema y ya han tomado cartas en el asunto. Por lo que a partir de la versión de Android 2.3, la GigerBread, ya no hay que preocuparse por este tema. Pero dada la disgregación de versiones que tiene Android y el poco soporte de actualizaciones que dan la mayoría de fabricantes y operadoras todavía existe un alto número de personas con este problema latente en sus terminales. ¿Eres tu uno de ellos?