Monday, 4 February 2019

BlackHat Arsenal: Tools for Research & Pentesting [Parte 1 de 2] UAC-a-Mola

El pasado viernes 1 de Febrero se celebró en Tenerife la VI Edición de Hackron, el congreso de las Islas Canarias en el que se juntan grandes profesionales del sector de la seguridad informática. Por tercera vez he tenido la inmensa suerte de estar en el congreso, aunque tocase un viaje relámpago. Ida y vuelta Madrid – Tenerife – Madrid. Tengo que agradecer el esfuerzo del equipo de Hackron, en especial a Igor y Cecilio. Por desgracia me perdí la comida “The Originals”, a la cual quería ir sí o sí, ya que juntarnos otra vez los compis Informática 64 siempre es algo especial. Espero que haya más encuentros “Originals”.

Figura 1: BlackHat Arsenal: Tools for Research & Pentesting [Parte 1 de 2] UAC-a-Mola

Este año otros compañeros míos, como los CSA de ElevenPaths Pablo San Emeterio y Deepak Daswani, tenían participación en el evento. Por parte del equipo de Ideas Locas del área CDO de Telefónica, yo presentaba nuestros trabajos de BlackHat: UAC-A-Mola e iBombShell. Proyectos ambos Open Source, colaborativos y vivos.

En esta ocasión los ponentes disponíamos de 30 minutos para hablar, para contar lo que querías contar. En mi caso, quería hablar sobre cómo surgieron estas dos ideas (locas) y en qué ayudan a investigadores y pentesters en sus proyectos de Ethical Hacking. El titulo: “Tools for Research & Pentesting” lo dice todo.

Esto es así porque UAC-A-Mola es una herramienta que nace para la investigación y aprovechamiento de patrones conocidos a la hora de detectar un bypass de UAC. Es aquí donde cuento que hemos estado un año, sobretodo el 2017 que fue el año que bypasseamos UAC peligrosamente, estudiando y aprendiendo sobre los bypass de UAC. En concreto, mi ex compañero Santiago Hernández y yo, trabajamos en profundidad con ellos y queríamos realizar una herramienta que ayudase a encontrar estos bypasses.

Ya hemos contado en este blog decenas de bypasses de UAC, pero lo que era más interesante para nosotros era poder ayudar a encontrar otros basados en patrones que se repetían y que podían ayudar a los investigadores a detectar nuevos. De aquí surge UAC-A-Mola una herramienta que, como bien dice su paper, tiene una metodología IDEM: Investigación, Detección, Explotación yMitigación.

En la parte de UAC-A-Mola se habló de qué era un bypass de UAC, en qué condiciones se puede dar, por qué se produce y por qué es importante en un proyecto Ethical Hacking. En algunas ocasiones, se puede dudar de la importancia de éste, pero está demostrado que puede ser utilizado, y lo es, en un pentesting de forma normal. También se habló del manifest de los ficheros, de la firma de Microsoft y del cambio en la política por defecto de UAC en la transición de Windows Vista a Windows 7.

Figura 2: Control de ejecución de aplicaciones por usuarios

Con todo esto, nació UAC-A-Mola, una herramienta con vocación de Idea Loca, con vocación de investigación y que permite investigar, detectar, explotar y mitigar un bypass de UAC. Respecto a los módulos de investigación se habló de los siguientes:

Figura 3: Módulos de investigación en UAC-a-Mola
UAC-A-Mola se apoya en procmon como herramienta de monitorización del sistema de archivos, del registro, de la red, sin duda, un pilar importante para saber qué ocurre en un sistema Windows. Módulos como el de AutoElevate_Search permite descubrir binarios potencialmente utilizables en un bypass de UAC.

Por otro lado, están los módulos de automatización de patrones DLL Hijacking y Fileless. Estos módulos permiten al investigador detectar binarios que son susceptibles de un DLL Hijacking o de una manipulación del registro no adecuada o peligrosa que puede acabar siendo un Fileless.

Como dije en la charla, si utilizas este tipo de módulos, ten en cuenta que puedes necesitar horas y horas de ejecución, siempre en función del número de binarios que quieras probar y todas sus casuísticas.

También comenté el caso que tratamos en este blog sobre el binario que fue detectado por uno de estos módulos de automatización en la búsqueda de patrones fileless. UAC-A-Mola ya infirió esa potencialidad en el bypass. El binario slui.exe salía en los resultados en la ejecución sobre Windows 8.1.

Figura 4: Binarios descubiertos por UAC-a-Mola como sospechosos.

Dentro del apartado detección y explotación se hizo una demo sobre cómo funciona UAC-A-Mola. En este vídeo se puede ver la demo, un simple bypass de UAC que es realizado desde la herramienta. Como se puede ver es muy sencillo de configurar, parametrizar y ejecutar.


Figura 5: UAC-a-Mola Bypassing UAC using Fileless techniques

Como dije en la charla, lo interesante y fuerte de UAC-A-Mola es la parte de investigación, ya que en detección y explotación podemos hacer módulos, pero ya hay otras herramientas como Metasploit. Al final, UAC-A-Mola es un All-in-One orientado a investigación y que puede ser utilizado para tareas de Ethical Hacking e incluso verificación de políticas de UAC por parte de administradores de sistemas.

Por último, en la parte de UAC-A-Mola se habló de la mitigación. Como comenté, la mitigación de un bypass o de la gran mayoría es sencilla. Se cambia la política por defecto y se configura por política de equipo un comportamiento diferente ante una elevación de privilegio. Sencillo. Pero nosotros, dentro del equipo de Ideas Locas quisimos ver si se podía evitar o detectar un comportamiento basado en DLL Hijacking o en Fileless que nos permitiese detectar que un bypass de UAC iba a ser ejecutado.

En el artículo de Santiago Hernández sobre Debugger Registry Key se habla de esta problemática y de la solución que se adoptó para UAC-a-Mola. En este magnífico artículo, Santiago habla sobre Deviare como framework de hooking muy interesante que permitía implementar la mitigación del bypass de UAC. Pero había un problema y es que consumía bastante en recursos, ya que se genera un gran número de llamadas, tanto en registro como en el sistema de archivos.

Figura 6: PoC UAC bypass mitigation

Al final, se descubrió el Debugger Registry Key como técnica para que el propio Windows haga ese hooking del binario que queramos “ojear”. En el caso de que se invoque el binario de estudio, Windows lanza un script configurado por nosotros, el cual evaluará si este binario tiene la configuración conocida para provocar un bypass de UAC. Interesante técnica de mitigación y bastante limpia y liviana. En la Figura 6 tienes un vídeo de la PoC.


Por último, dejo el paper de UAC-a-Mola para que se pueda conocer más sobre esta herramienta de la que ya os hemos contado mucho.

- BlackHat Arsenal: Tools for Research & Pentesting [Parte 1 de 2] UAC-a-Mola
- BlackHat Arsenal: Tools for Research & Pentesting [Parte 2 de 2] iBombShell

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advance Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.

No comments:

Post a Comment