Cómo explotar un 0day en las VCard en Windows 10 con Metasploit
La semana pasada comenzó fuerte con una vulnerabilidad que fue descubierta y publicada por el investigador John Page o @hyp3rlinx. La vulnerabilidad es considerada de tipo fileformat y requiere de la interacción por parte del usuario. La idea es sencilla, como se puede ver a continuación. El usuario recibe una VCard, la abre y cuando pincha sobre el campo de ‘website’ pero la URL no se estará accediendo a una URL de Internet, si no que se estará haciendo un acceso a disco duro, en concreto a un archivo.
Figura 1: Cómo explotar un 0day en las VCard en Windows 10 con Metasploit
El archivo habrá sido creado por el atacante y será una DLL con código “arbitrario”. El vector del ataque radica en el uso de un fichero comprimido que contenta la VCard y una carpeta con el fichero DLL “disfrazado” de fichero CPL. Un fichero CPL no es más que un fichero de extensión de panel de control. Una manera sencilla de hacer un Hacking a Windows con interacción del usuario.
La vulnerabilidad ha sido denominada como ‘Microsoft Windows vcf File Insufficient UI Warning Remote Code Execution Vulnerability’. El CVSS que tiene la vulnerabilidad es de 7.8, por lo que entra en el grupo de críticas. En resumen, es una incorrecta o insuficiente validación del campo URL, el cual permite ejecutar archivos locales cuando no se debería desde la propia VCard. Ahí es donde tenemos la ejecución de código.
¿Cómo podemos hacer para que el fichero esté en la máquina de la víctima? El investigador muestra un camino sencillo: enviar un fichero comprimido, el cual tiene la DLL “vestida” de CPL y la propia VCard. Sea cual sea la vía, ambos ficheros deben estar en el equipo.
PoC: Jugando con la VCard
En Exploit-DB se dispone de una prueba de concepto sobre cómo crear la VCard, lo cual es sencillo, ya que el formato es normal. Además, se muestra cómo crear una DLL para realizar la prueba. En nuestro caso, vamos a utilizar msfvenom - como si fuera un Ethical Hacking normal - para generar una DLL con un payload que nos interese.
Si nos fijamos en el código de la VCard tenemos una serie de campos, aunque el que nos interesa es el de la URL. Si vemos la URL, no lo es. Empieza por HTTP, pero luego se indica un ‘.’, en vez de ‘:’. Además, el sentido de ‘\\’ nos indica que hablamos del disco y no de la URL. El fichero se denomina ‘www.pablo.go.cpl’.
Figura 5: VCard creada con la URL maliciosa
El fichero ‘www.pablo.go.cpl’ es realmente una DLL a la que se le ha cambiado la extensión. Si ejecutamos directamente el fichero, se ejecutará el código implementado en la DLL.
Figura 6: La URL apunta a un fichero cpl
La DLL se generó a través de la herramienta de Metasploit llamada msfvenom. Los parámetros utilizados son:
• -f para aplicar formato DLL
• -p para indicar el payload que se quiere introducir en la DLL, en nuestro caso un Meterpreter de tipo inverso.
• LHOST si fuera necesario.
Además, debemos tener en cuenta que necesitamos un handler para recibir la conexión del Meterpreter cuando el usuario ejecute la VCard y pinche sobre la URL. En la siguiente imagen se puede ver cómo el handler queda configurado introduciendo el payload y el parámetro LHOST.
Cuando el usuario abre la VCard, como se puede ver en la siguiente imagen, se puede encontrar una serie de campos. Entre ellos, se puede ver el campo ‘website’ apuntando a una supuesta URL. Lo que ocurre es que el esquema no es el de una URL y sí el de la ruta de un fichero de disco.
Figura 8: VCard creada con URL maliciosa
Al hacer clic sobre el enlace se ejecutará el fichero ‘www.pablo.go.cpl’ que se encuentra en la carpeta http. Este fichero será nuestra DLL con el Meterpreter por lo que tendremos acceso al sistema de forma completa. Seguramente pronto tendremos un módulo de tipo fileformat en Metasploit que implemente la generación de la VCard.
Figura 9: Sesión de Meterpreter obtenida tras la interacción del usuario
Por último, podemos ver cómo se recibe la conexión del Meterpreter ejecutándose y dando el control al atacante. Sin duda es un método sencillo y funcional por una mala validación del campo URL de las VCard en Windows.
Figura 10: PoC de explotación de la vulnerabilidad
En la Figura 10, os dejamos un vídeo del proceso de creación de la VCard y de explotación de la vulnerabilidad paso a paso, con el que se puede aprender más sobre ello. Sin duda, una vulnerabilidad crítica y sencilla que puede afectar a muchos usuarios que utilizan diariamente el correo electrónico en su trabajo y manejan cientos de VCards.
No hay comentarios:
Publicar un comentario