Durante el desarrollo de la Navaja Negra de 2014 desvirtualicé a Ignacio Sorribas, el cual es un crack profesionalmente y como persona. Me comentó una forma con la que conseguía saltarse el UAC y elevar privilegios en sistemas operativos Windows de 64 bits, y tras probarlo en Windows 7 y 8 me gustó la idea. Yo pensaba que el módulo de bypassuac que trae Metasploit valdría, pero ciertamente no, en algunos entornos hay que moverse un poco más para conseguir elevar los privilegios.
¿Cuál es el punto de partida? Comenzamos ya con una sesión
abierta en Metasploit, con un Meterpreter. En la imagen podemos ver que
somos el usuario pablo, ejecutando una sesión sobre una máquina Microsoft Windows 7 de 64 bits.
Figura 1: Usuario sin privilegios |
Es importante tener algunos comandos claros con Meterpreter, ya que este payload
está en continuo crecimiento en lo que a funcionalidades se refiere.
Necesitamos subir un binario que se encuentra en la ruta data/post,
dónde Metasploit se encuentre instalado. En la imagen podemos visualizar
que realizamos la subida del binario a través del comando upload, y lo dejamos en el escritorio del usuario. El nombre del fichero a subir es bypassuac-x64.exe.
Figura 2: Subida de fichero bypassuac-x64.exe |
Una vez subimos el fichero al equipo de la víctima, debemos recapitular y
ver cual es la estrategia. La estrategia para lograr una elevación de
privilegio es subir un fichero que nos permita bypassear el UAC. Este punto ya lo tenemos, pero ¿Cómo conseguimos que dicho exploit local devuelva el control en remoto? Es fácil, debemos generar un binario que dentro disponga de un Meterpreter inverso, el cual al ejecutarlo nos devuelva la conexión. Este fichero también deberemos subirlo mediante la ejecución del comando upload.
¿Cómo generamos el binario con el Meterpreter inverso dentro? Es fácil, cargamos el módulo payload/windows/meterpreter/reverse_tcp y lo configuramos con la dirección IP a la que el binario debe devolver el control. Una vez hecho esto, utilizamos el comando generate para generar el fichero, tal y como puede verse en la imagen.
Figura 3: Generar binario con Meterpreter |
Ahora que tenemos los dos binarios en la máquina remota, vamos a ejecutar a través de la shell de Meterpreter el binario bypassuac-x64.exe.
Para ejecutar este binario, como puede verse en la imagen, debemos
indicar que comando queremos lanzar con elevación. Tras la ejecución del
fichero obtenemos una shell con privilegio de System, por lo que podemos ejecutar desde esa shell el binario que hemos subido, en este caso se denomina post.exe, y obtener el control remoto. Hay que tener en cuenta que antes de ejecutar post.exe, debemos configurar el handler para recibir la conexión.
Figura 4: Ejecución de bypassuac-x64.exe |
Antes de lanzar el binario post.exe debemos configurar el handler, por lo que debemos cargar el módulo exploit/multi/handler, y configurar el atributo PAYLOAD, en este caso con el valor windows/meterpreter/reverse_tcp. En la siguiente imagen se puede ver como debemos configurar el módulo. Es importante resaltar la ejecución de exploit -j.
Figura 5: Configuración de exploit/multi/handler |
Figura 6: Obtención del privilegio |
Fuente: http://www.flu-project.com/2014/12/bypass-uac-x64-con-metasploit-y.html
No hay comentarios:
Publicar un comentario