sábado, 27 de septiembre de 2008

ClickJacking

Clickjacking es una técnica reciente que ha sido descrita por varios especialistas de seguridad que han podido tener acceso a los detalles de la vulnerabilidad como TERRORIFICA. Según los datos que se han facilitado, la vulnerabilidad permitiría a un atacante preparar un sitio web malicioso mediante el cual podría realizar un "secuestro de clicks", es decir, cada click que hagamos en el navegador podriamos estar clickando en otro sitio que no es el que pensamos, con el consiguiente riesgo de ejecución de malware y amenazas similares.

Los detalles de la vulnerabilidad, que afecta a practicamente todos los navegadores, iba a ser presentada en la OWASP AppSec de Nueva York pero parece ser que ha sido cancelada debido al riesgo de dar los detalles antes de que los fabricantes hayan podido desarrollar sus parches, hecho complicado puesto que según han confirmado ellos mismos no es una vulnerabilidad de fácil solución.

Por los datos que se han podido obtener, exploradores "lynx-like" no son vulnerables a este tipo de ataques. Otro de los datos que se ha publicado es que no tiene nada que ver con Javascript, por lo que usar complementos tipo NoScript no será 100% efectivo (aunque por lo que se ha podido averiguar sí que protegerá de algunos vectores de ataque).

A partir de estos datos que se han ido filtrando, varios especialistas en seguridad han "teorizado" sobre la posible vulnerabilidad, localizandola en un problema sobreponiendo un iframe transparente sobre otro que contenga otra web, de tal manera que al clickar en la web que consideramos inofensiva estamos clickando al mismo tiempo en enlaces de la web maliciosa.
Hay sitios en los que incluso han creado una pequeña prueba de concepto.

Efectivamente, la solución teorizada parece tener sentido a partir de la información que ha sido facilitada de forma pública, pero no existe ninguna seguridad de que este sea el único vector de ataque.

Por ello, realizamos las siguientes recomendaciones a seguir hasta que se conozcan más detalles sobre la vulnerabilidad:

  • No clickar en enlaces que provengan de correo, MSN, etc ,podrían llevarnos a una web maliciosa que parezca una web legítima.
  • Utilizar RUNAS (en Windows ó su en Linux) para lanzar un navegador con un usuario con mínimos privilegios en la máquina cuando queramos navegar libremente por páginas no conocidas, y NUNCA confiar en una web legítima que aparezca en este navegador.
  • Accede a las webs relevantes para tí desde los marcadores de tu navegador.
  • Esperar ansiosamente que en fabricante publique el parche que solucione la vulnerabilidad.

jueves, 25 de septiembre de 2008

Marathon Tool & Heavy Querys

Otra herramienta de las utilizadas en la DEFCON de este año es Marathon Tool, una herramienta para auditoría web basada en inyecciones de código SQL "pesado".

La inyección SQL, como todos sabemos, es una vulnerabilidad causada por una mala comprobación de los parámetros de entrada que finalmente se traducen en una solicitud SQL a base de datos diferente de la que la aplicación web está pensada para hacer.

Generalmente, si escogemos una página web aleatoriamente en todo Internet, buscamos un campo formulario y escribimos una comilla simple (') nos encontraremos algo como esto:


Encontrarnos un error de la base de datos o incluso una sentencia SQL completa como en este caso es un claro signo de que el campo formulario que hemos encontrado sufre de una vulnerabilidad de Inyección SQL.

Este es el caso más fácil, que nos muestre claramente la web algo como esto, pero no siempre esto es posible, en ocasiones está filtrada este tipo de salida, o simplemente la salida de la sentencia SQL no es utilizada para mostrar ningún contenido en la web, por lo que para detectar si la web es vulnerable o no y para intentar explotarlo tendremos que recurrir a un Blind SQL Injection, que como su propio nombre indican son "ciegas", o mejor dicho "no evidentes", puesto que obtenemos igualmente información aunque sea por otros medios.

De entre todas las técnicas de Blind SQL Injection que existen, la herramienta Marathon Tool utiliza una técnica basada en querys SQL pesadas, ¿que quiere decir esto exactamente?, pues bien, imaginaros que una aplicación SQL normal tiene una query que es ejecutada y ofrece una respuesta en un tiempo de X segundos, tiempo que podemos apreciar más o menos observando la respuesta de la página (en función también un poco de la latencia de la red, claro). ¿Que pasa si intentamos inyectar un código que en caso de funcionar correctamente realice una consulta sin ninguna intención específica de obtener información pero que sabemos que va a tener un coste para la base de datos de 1000X segundos?. Pues en el caso de que no funcione el tiempo de carga de la web será el habitual, mientras que si funciona observaremos que el tiempo de carga es muy superior al habitual.

A partir de ahí, podemos usar esta Query para ir "haciendo preguntas" a la base de datos que tengan como respuesta sí o no y comprobando mediante ese timing cual es la respuesta que nos da la base de datos, y así de esta manera ir obteniendo información de tablas, contenidos de tablas (usuarios y contraseñas) y un largo etcetera.

Sin duda alguna, menos cómodo que obtener el listado de usuarios y passwords mostrados directamente en el contenido de la web, pero igualmente factible con un poco más de trabajo.

Aquí es donde entra esta herramienta tan interesante, tras ser configurada adecuadamente permite automátizar el proceso de búsqueda de tablas y usuarios de tal manera que no tenemos que ir realizando esas preguntas que comentabamos de forma manual, sino que es la herramienta la encargada de realizar cuantas consultas sean necesarias e ir obteniendo esta información.


Una gran herramienta, sin duda.

martes, 9 de septiembre de 2008

BAFFLE: Fingerprinting de APs

Directamente de la BlackHat USA 2008 nos llega ésta herramienta de Fingerprint de puntos de acceso.

Tal y como explican los autores de la herramienta, identificar el Hardware de un punto de acceso puede ser más sencillo o (del mismo modo) más fácil de ocultar, puesto que basta con identificar/ocultar la MAC del dispositivo, que pertenecerá a un fabricante dado.

Sin embargo ésta herramienta tiene otro enfoque más parecido al de los clásicos fingerprinter para sistemas operativos. Chequeando la respuesta del dispositivo ante diversos tipos de tráfico el software es capaz de determinar el Firmware que se está ejecutando en el punto de acceso.

Aquí tenemos un demostración grabada por los propios autores de como funciona la herramienta BAFFLE:



De momento he intentado instalarlo pero me da algún problema, así que de momento tendréis que conformaros con el vídeo.

Para el que quiera trastearlo por su cuenta, el software está pensado para funcionar con una Atheros con Madwifi.