Beruflich Dokumente
Kultur Dokumente
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.
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.
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>
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.
Como siempre, para protegerse de estos ataques, lo mejor es utilizar noscript, para
firefox.
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.
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.
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
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.
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.