Cómo saltarse AppLocker en Windows 10 con las reglas por defecto

Cómo saltarse AppLocker en Windows 10 con las reglas por defecto


La semana pasada hablamos de un Bypass a AppLocker mediante el uso de la aplicaci�n BgInfo. Hoy hablaremos de la configuraci�n por defecto de AppLocker y los riesgos que esto proporcionan para la defensa del sistema. Las reglas por defecto de AppLocker permiten a todos los ficheros que se encuentran dentro de la ruta Windows y Program Files ser ejecutados, ya que, si no fuera as�, el sistema no funcionar�a de forma normal. Si no se establecen los permisos de forma adecuada en estas carpetas, un atacante podr�a explotar esto para conseguir bypassear AppLocker.

Figura 1: C�mo saltarse AppLocker en Windows 10 con las reglas por defecto

En Windows 2008 R2, se permite por defecto a los usuarios est�ndar del sistema tener acceso de lectura y escritura sobre estas carpetas: WindowsTemp y WindowsTracing. La herramienta accesschk se puede utilizar para identificar si el grupo de usuarios o �Users� tiene permisos de lectura y escritura dentro de la carpeta Windows. En la imagen se puede visualizar este hecho en Windows 10.

Figura 2: Ejecuci�n accesschk64 en Windows 10

Aunque en la imagen no se visualiza, la ruta WindowsTasks tambi�n est� disponible y podemos almacenar binarios en dicha ruta. Ahora vamos a ver c�mo funciona todo esto para hacer un bypass de AppLocker.

PoC: Jugando con las rutas y AppLocker

En primer lugar, vamos a ver las reglas que se crean por defecto en AppLocker al activarlo. Hay que recordar que tenemos que, en caso de no estarlo, tenemos que reiniciar el servicio de identidad llamado Application Identity. En la imagen se puede visualizar las reglas que Windows crea por defecto, cuando todo est� activo.

Figura 3: Reglas por defecto en AppLocker

Si analizamos vemos que nos dan acceso, a cualquier usuario del sistema, a ejecutar binarios que se encuentren en Program Files y Windows, pero en ninguna ruta m�s. Es decir, si tuvi�ramos un binario en el escritorio no podr�amos ejecutarlo.

Para comprobar este hecho, utilizamos el propio binario del accesschk.exe que hemos bajado con anterioridad. Si ejecutamos el fichero accesschk.exe en la ruta del escritorio, por ejemplo, obtendremos una denegaci�n en la ejecuci�n del fichero, tal y como se puede ver en la imagen.

Figura 4: Denegaci�n de acceso en accesschk

Pero bien, si utilizamos una ruta que se encuentre en Windows, d�nde el usuario puede copiar archivos y utilizar dicha ruta como v�lida, ante la configuraci�n por defecto de AppLocker, tendremos la posibilidad de hacer el bypass.

Como se puede ver en la anterior imagen, cuando lanzamos el fichero accesschk.exe en una ruta como Windows asks, la cual est� permitida por defecto por AppLocker, podemos lograr la ejecuci�n. Esto es un riesgo grande de las rutas por defecto. Adem�s, en sistemas como Windows 2008 R2 se prob� que usuarios sin privilegios pueden lograr la ejecuci�n en dicha ubicaci�n.

PoC 2: Meterpreteando el AppLocker por defecto

En esta segunda prueba de concepto, la idea es utilizar esta caracter�stica de Windows y su configuraci�n por defecto, para lograr ejecutar un Meterpreter a trav�s de un binario utilizando la t�cnica denominada Weak Path Rules.

Lo primero es generarse un binario con Metasploit, por ejemplo. Utilizamos el m�dulo payload/windows/meterpreter/reverse_tcp y configuramos LHOST para que apunte a la direcci�n IP de la m�quina del atacante/auditor. Despu�s, utilizamos el comando generate para generar el binario en el formato que queramos.

En la siguiente imagen, se puede ver el fichero app.exe, ya creado. Este fichero contiene un Meterpreter apuntando a la direcci�n IP del atacante/auditor. Si probamos a lanzarlo desde el escritorio no podremos hacerlo, pero si utilizamos la ruta de Windows asks lograremos su ejecuci�n.

Figura 5: app.exe con Meterpreter apuntando a la direcci�n IP del atacante.

En la siguiente imagen, se puede ver como se genera el binario y como se configura el m�dulo handler en Metasploit para recibir la conexi�n inversa. Adem�s, cuando se consigue el bypass de AppLocker vemos como logramos la sesi�n inversa en nuestra m�quina proveniente del equipo Windows.

Figura 6: Sesi�n recibida en Metasploit tras la ejecuci�n salt�ndose AppLocker

Para ejemplificar este proceso os dejamos dos videos que muestran en qu� consiste el bypass del AppLocker y en el segundo vemos c�mo aprovecharlo para lograr ejecutar una Meterpreter en el equipo Windows.

Figura 7: PoC ByPass de AppLocker por Weak Path Rules

Sin lugar a la duda, una interesante t�cnica a tener en cuenta y utilizable en un ethical hacking. Desde el punto de vista de la fortificaci�n de Windows, puede ser interesante utilizar reglas m�s concretas para evitar este tipo de t�cnicas, que muestran lo sencillo, que, en algunas ocasiones, puede ser esto.

Figura 8: PoC ejecuci�n de Meterpreter y recepci�n de shell salt�ndose AppLocker

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