jueves, 31 de mayo de 2012

El sitio es el oficial, pero ¿y el archivo que estoy descargando?


Michal Zalewski, conocido como 'lcamtuf', ha publicado una interesante prueba de concepto que demuestra cómo sería posible engañar a un usuario haciéndole creer que está descargando un archivo de un sitio legítimo.

En la prueba, al hacer click, el usuario ve cómo su navegador abre una nueva pestaña, se dirige al sitio oficial (y auténtico) de Adobe y descarga un archivo que parece ser una actualización de flash.

En realidad este archivo no se descarga desde la página oficial, sino desde la pestaña anterior. Aun así el usuario no detectará ningún cambio en la barra de direcciones ni ninguna señal aparente que le advierta que el archivo no pertenece a la pestaña activa. En ningún navegador.

Veamos el código de la página atacante, situada aquí (http://lcamtuf.coredump.cx/fldl/):




Es un simple botón que llama a la función 'doit' cuando se pulsa.



La función javascript 'doit' abrirá una nueva ventana (o pestaña) que apuntará al sitio de descarga de flash. Adicionalmente ejecutará la función 'donext' cuando pasen 4,5 segundos.





 


La función 'donext' abrirá una segunda ventana que no será visible ya que únicamente se dirige a http://199.58.85.40/download2.cgi e inicia la descarga de un ejecutable.

Lo interesante es que el inicio de la descarga no será evitado, ni el navegador cambiará a la pestaña o ventana donde se origina. Sin embargo la sensación del usuario es que la descarga se ha efectuado desde la página original de Adobe.

Un efecto que hemos observado es que posteriormente sí se descarga el archivo original que pertenece a Adobe. Se verá en disco como una copia del anterior. Chrome es el único que avisa de que el sitio está intentando la descarga de varios archivos. En Opera, por ejemplo, se observaría una dirección diferente en el diálogo de descarga, al igual que Internet Explorer. Pero ninguna de estas advertencias parecen muy llamativas.

También merece ser señalado que durante unos instantes se observa en la barra de direcciones de la ventana objetivo la carga del manejador:

data:text/html,<meta http-equiv="refresh" content="0;URL=http://get....

Es precisamente el uso del pseudo protocolo 'data' el que permite crear una nueva página al abrir la nueva ventana. 'data' es comúnmente usado para incrustar pequeñas imágenes (favicons) en base64. La página creada tan solo contiene un elemento 'meta' que cargará la página de Adobe.

Las implicaciones de seguridad que podrían ser potencialmente explotadas son bastante obvias. Un atacante podría engañar a un usuario para que descargue un archivo malicioso haciéndole ver la página oficial de un producto cualquiera.

Zalewski ha reportado la vulnerabilidad a los principales navegadores, si bien la respuesta que ha obtenido a sido tibia, incluso Microsoft, según Zalewski, le ha comunicado que no considera esté fallo una vulnerabilidad. Firefox no ha confirmado su parcheo y Chrome ha indicado que lo parcheará pero no ofrece una fecha concreta.

Más información:

Yes, you can have fun with downloads


David García

8 comentarios:

  1. Bastante ingenioso, se puede engañar hasta los mas listos :O

    Gracias por la información

    ResponderEliminar
  2. Muy curioso, he probado la "prueba de concepto", efectivamente chrome solo avisa de que varios archivos intentan descargarse, Avast si avisa (desde la dirección real de descarga) de que un archivo "antiguo" y "desfasado" esta intentando ser descargado y recomienda abortar la conexión. Es muy ingenioso, seguro que se explotará ampliamente...

    ResponderEliminar
  3. He visto la demo y en Firefox si te muestra la dirección de donde se descargará el archivo, siempre y cuando se tenga configurando antes en el navegador, donde se desea guardar el archivo a descargar.

    Considero que esa opción es clave para que determinemos de donde se descargan los archivos.

    ResponderEliminar
  4. Buen articulo, es correcto en FireFox se puede ver la linea cuando llama a la función doit que es la siguiente:
    data:text/html,<(meta) http-equiv="refresh" content="0;URL=http://get.adobe.com/flashplayer/download/?installer=Flash_Player_11_for_Internet_Explorer_(64_bit)&os=Windows 7&browser_type=MSIE&browser_dist=OEM&d=Google_Toolbar_7.0&PID=4166869">

    Tengo una duda, cuando vemos la prueba, nos redirije a esta dirección:
    http://lcamtuf.coredump.cx/fldl/
    y empieza la descargar de flash11_update.exe de forma automatica sin preguntar nada, ?Es real esta descargar? o es maliciosa?.

    Saludos.

    ResponderEliminar
  5. Gracias por tan interesante artículo.
    Después de realizar la prueba de concepto, he visto que en Firefox se distinguen, efectivamente, dos popup de descarga en donde se puede apreciar que uno de ellos es de un sitio desconocido (sólo una IP).
    Habrá que tener mucho cuidado hasta que aparezca u parche.

    Gracias de nuevo.

    ResponderEliminar
  6. Excelente articulo.Sin duda esta vulnerabilidad va a ser ampliamente explotada, espero que microsoft y el resto retiren las negativas.
    No seria dificil implementar una medida de seguridad, con cambiar al usuario hacia la pestaña desde la que se realiza la descarga seria mas que suficiente, no se por que razon tantas negativas...

    Saludos, gracias por ofrecer tan excelente servicio ;)

    ResponderEliminar
  7. Hola, el navegador maxthon, que uso porque para asuntos de java me funciona muchísimo mejor que los otros, no se ve afectado; al entrar en la página de adobe se queda con el mensaje de "preparando instalación, espere...", pero ésta no se produce.

    Un saludo

    ResponderEliminar
  8. Me parece gravísimo que a pesar de estar en una página oficial, los archivos que te bajes no sean los legítimos. ¿Qué puede pasar si esto lo trasladamos a la página de la Agencia Tributaria (www.aeat.es), por ejemplo? Creo que debería solucionarse de forma inmediata.

    ResponderEliminar