Cómo saltarse Device Guard en Windows 10 con CVE 2017 8625
Durante el mes de agosto ha seguido habiendo un gran movimiento en el mundo de la seguridad y Microsoft, y no debemos perder detalles de estos descubrimientos para mantener nuestro sistema operativo Microsoft Windows fortificado. En esta ocasi�n, el investigador Oddvar Moe ha publicado c�mo logr� hacer un bypass a Device Guard en Windows.
Este ha sido un hecho relevante que ha consigui� tener un CVE por ello, del cual pod�is obtener m�s detalle en MITRE. Vamos a ver c�mo funciona este bug.
�Qu� es Device Guard?
Como se indica en la web de Technet de Microsoft, Device Guard es una combinaci�n de caracter�sticas de seguridad de hardware y software, las cuales ayudan a bloquear un dispositivo para que pueda ejecutar aplicaciones de confianza. Es decir, si la aplicaci�n no es de confianza no se ejecutar�. El funcionamiento de Device Guard restringe a Windows 10 Enterprise para que ejecute c�digo que est� firmado y que se pueda verificar en la directiva de integridad de c�digo.
�Qu� partes tiene?
Puedes ver todos los detalles de sus componentes en la web de Device Guard en Technet, pero se resumen en los siguientes.
El investigador Oddvar Moe se fij� en el binario hh.exe, el cual es un programa que lanza la ayuda en Windows. El comportamiento del binario le llam� la atenci�n, ya que independientemente del par�metro que se le pasar� ocurr�an diferentes situaciones. La primera prueba que llama la atenci�n es la de ejecutar la siguiente instrucci�n hh.exe c: o hh.exe http://www.google.com. En la primera ejecuci�n, como se mostrar� m�s adelante, se obtiene la posibilidad de navegar por el sistema de archivos a trav�s del binario hh.exe y en el segundo caso se obtiene la posibilidad de obtener un browser embebido en hh.exe, muy similar a c�mo se puede navegar por Internet sin navegador dentro de Microsoft Word para poder saltarse protecciones de seguridad.
Otra cosa interesante es el nivel de integridad. Cuando se ejecuta un proceso iexplore, se ejecute con integridad low, aunque el padre lo haga con media. Sin embargo, el browser que se ejecuta con hh.exe se ejecuta con integridad media. Esto se puede ver f�cilmente con la herramienta procmon.
En la siguiente imagen se muestra un ejemplo de lo que se comentaba anteriormente, cuando ejecutamos hh.exe c:, se abre el binario hh.exe y se puede ver un contenido embebido que es un explorador de archivos. Esto hace pensar, ya que puede ser interesante para lograr realizar el bypass de Device Guard, como pens� Oddvar Moe.
Oddvar Moe cre� un script de Powershell que permite crear un fichero CHM o fichero de ayuda, el cual abrir� la ayuda y ejecutar� una calculadora a trav�s de ActiveX. El script puede ser descargado desde su Github y es bastante sencillo de entender. Adem�s, est� basado en un script que forma parte de Nishang, un framework de pentesting con Powershell bastante interesante.
La ejecuci�n del script, como puede verse en la imagen, es totalmente sencilla. El resultado es un fichero CHM almacenado en la carpeta hhpoc.
Una de las partes interesantes del script es la que se puede ver a continuaci�n. En ella se puede ver c�mo se ejecuta c�digo, d�nde primero nos mostrar�n un alert indicando lo que viene a continuaci�n. La calculadora ser� ejecutada salt�ndose las medidas de protecci�n asociadas a Device Guard, por lo que se est� aprovechando los archivos de ayuda y el binario asociado para lograr el bypass.
Al ejecutar el fichero CHM nos encontramos que el binario hh.exe es ejecutado, y muestra una p�gina de ayuda d�nde Oddvar ha escrito un texto. Adem�s, se ejecuta el alert, como puede verse en la imagen, y nos indica lo que ocurrir� a continuaci�n.
En el momento que el usuario pulse sobre el �Yes�, la calculadora se ejecutar�, por lo que el c�digo se ejecutar�. Esto sirve para demostrar que el c�digo se puede lograr ejecutar salt�ndose la protecci�n de Device Guard.
�Podemos ejecutar otro tipo de c�digo m�s interesante?
L�gicamente s�. Como ejemplo pongo este proyecto de Github llamado StarFighters, con el que se puede lograr ejecutar c�digo interesante a trav�s del JavaScript.
En la imagen se puede ver como se produce la ejecuci�n de la calculadora. Para ejemplificar la sencillez de m�todo y la facilidad con la que hoy en d�a puede funcionar os dejamos un video.
Adem�s, hay que indicar que a d�a de hoy Windows 10 v1703 tiene parcheada esta vulnerabilidad, por lo que si actualiz�is no deber�ais tener este problema, el cual ha sido parcheado muy recientemente. Tenemos todos los datos sobre la vulnerabilidad aportados por Microsoft en este enlace.
![]() |
| Figura 1: C�mo saltarse Device Guard en Windows 10 con CVE-2017-8625 |
Este ha sido un hecho relevante que ha consigui� tener un CVE por ello, del cual pod�is obtener m�s detalle en MITRE. Vamos a ver c�mo funciona este bug.
�Qu� es Device Guard?
Como se indica en la web de Technet de Microsoft, Device Guard es una combinaci�n de caracter�sticas de seguridad de hardware y software, las cuales ayudan a bloquear un dispositivo para que pueda ejecutar aplicaciones de confianza. Es decir, si la aplicaci�n no es de confianza no se ejecutar�. El funcionamiento de Device Guard restringe a Windows 10 Enterprise para que ejecute c�digo que est� firmado y que se pueda verificar en la directiva de integridad de c�digo.
�Qu� partes tiene?
Puedes ver todos los detalles de sus componentes en la web de Device Guard en Technet, pero se resumen en los siguientes.
� UMCI. Integridad de c�digo en modo usuario.
� Nuevas reglas de integridad de c�digo del kernel.
� Arranque seguro con restricciones de base de datos.
� Seguridad basada en la virtualizaci�n para proteger la memoria del sistema y los controladores.
� Como opcional, Microsoft indica el m�dulo de plataforma segura TPM 1.2 o 2.0.El descubrimiento
El investigador Oddvar Moe se fij� en el binario hh.exe, el cual es un programa que lanza la ayuda en Windows. El comportamiento del binario le llam� la atenci�n, ya que independientemente del par�metro que se le pasar� ocurr�an diferentes situaciones. La primera prueba que llama la atenci�n es la de ejecutar la siguiente instrucci�n hh.exe c: o hh.exe http://www.google.com. En la primera ejecuci�n, como se mostrar� m�s adelante, se obtiene la posibilidad de navegar por el sistema de archivos a trav�s del binario hh.exe y en el segundo caso se obtiene la posibilidad de obtener un browser embebido en hh.exe, muy similar a c�mo se puede navegar por Internet sin navegador dentro de Microsoft Word para poder saltarse protecciones de seguridad.
![]() |
| Figura 2: Navegando con hh.exe |
Otra cosa interesante es el nivel de integridad. Cuando se ejecuta un proceso iexplore, se ejecute con integridad low, aunque el padre lo haga con media. Sin embargo, el browser que se ejecuta con hh.exe se ejecuta con integridad media. Esto se puede ver f�cilmente con la herramienta procmon.
![]() |
| Figura 3: Process Monitor de hh.exe en Windows 10 |
En la siguiente imagen se muestra un ejemplo de lo que se comentaba anteriormente, cuando ejecutamos hh.exe c:, se abre el binario hh.exe y se puede ver un contenido embebido que es un explorador de archivos. Esto hace pensar, ya que puede ser interesante para lograr realizar el bypass de Device Guard, como pens� Oddvar Moe.
![]() |
| Figura 4: Navegando por el disco duro con hh.exe |
Oddvar Moe cre� un script de Powershell que permite crear un fichero CHM o fichero de ayuda, el cual abrir� la ayuda y ejecutar� una calculadora a trav�s de ActiveX. El script puede ser descargado desde su Github y es bastante sencillo de entender. Adem�s, est� basado en un script que forma parte de Nishang, un framework de pentesting con Powershell bastante interesante.
![]() |
| Figura 5: Script en PowerShell para el CVE-2017-8625 |
La ejecuci�n del script, como puede verse en la imagen, es totalmente sencilla. El resultado es un fichero CHM almacenado en la carpeta hhpoc.
![]() |
| Figura 6: Ejecuci�n del script que genera el fichero CHM a explotar |
Una de las partes interesantes del script es la que se puede ver a continuaci�n. En ella se puede ver c�mo se ejecuta c�digo, d�nde primero nos mostrar�n un alert indicando lo que viene a continuaci�n. La calculadora ser� ejecutada salt�ndose las medidas de protecci�n asociadas a Device Guard, por lo que se est� aprovechando los archivos de ayuda y el binario asociado para lograr el bypass.
![]() |
| Figura 7: Ejecuci�n de la calculadora |
Al ejecutar el fichero CHM nos encontramos que el binario hh.exe es ejecutado, y muestra una p�gina de ayuda d�nde Oddvar ha escrito un texto. Adem�s, se ejecuta el alert, como puede verse en la imagen, y nos indica lo que ocurrir� a continuaci�n.
![]() |
| Figura 8: Alerta al abrir el fichero CHM creado para explotar el bug |
En el momento que el usuario pulse sobre el �Yes�, la calculadora se ejecutar�, por lo que el c�digo se ejecutar�. Esto sirve para demostrar que el c�digo se puede lograr ejecutar salt�ndose la protecci�n de Device Guard.
![]() |
| Figura 9: Ejecuci�n de c�digo salt�ndose Device Guard en Windows 10 |
�Podemos ejecutar otro tipo de c�digo m�s interesante?
L�gicamente s�. Como ejemplo pongo este proyecto de Github llamado StarFighters, con el que se puede lograr ejecutar c�digo interesante a trav�s del JavaScript.
![]() |
| Figura 10: La calculadora en ejecuci�n |
En la imagen se puede ver como se produce la ejecuci�n de la calculadora. Para ejemplificar la sencillez de m�todo y la facilidad con la que hoy en d�a puede funcionar os dejamos un video.
Figura 11: PoC Saltarse Device Guard en Windows 10 con CVE-2017-8625
Adem�s, hay que indicar que a d�a de hoy Windows 10 v1703 tiene parcheada esta vulnerabilidad, por lo que si actualiz�is no deber�ais tener este problema, el cual ha sido parcheado muy recientemente. Tenemos todos los datos sobre la vulnerabilidad aportados por Microsoft en este enlace.
Autor: Pablo Gonz�lez P�rez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root" y �Pentesting con Powershell�, Microsoft MVP en Seguridad y Security Researcher en ElevenPaths
download file now










