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.
![](http://3.bp.blogspot.com/-1cEWMkuECEU/VIh13p6AqJI/AAAAAAAAAw0/3GelfyvLKBY/s1600/1.png) |
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.
![](http://2.bp.blogspot.com/-wZ49tZAU_h8/VIiM9SuXC7I/AAAAAAAAAxE/MorCMpnFct8/s1600/2.png) |
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.
![](http://2.bp.blogspot.com/-5PxW-Y89k34/VIiOU28dFWI/AAAAAAAAAxQ/XGb0WkyE1pg/s1600/3.png) |
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.
![](http://4.bp.blogspot.com/-wGjvELN-NsA/VIiQ1jblXeI/AAAAAAAAAxc/5JzOloJ3Ljg/s1600/5.png) |
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.
![](http://4.bp.blogspot.com/-cT-s-W5Ox-M/VIiRe4rKltI/AAAAAAAAAxk/-xDNWP2zQbI/s1600/6.png) |
Figura 5: Configuración de exploit/multi/handler |
Una vez se ejecuta el fichero
post.exe se recibe la nueva sesión, la que tiene privilegios de
System. Para interactuar con la nueva sesión debemos ejecutar
sessiones -i [identificador de la sesión], tal y como puede verse en la imagen. Una vez dentro de la sesión, debemos ejecutar el comando de
Meterpreter getsystem, con el que conseguir el
uid deseado.
![](http://1.bp.blogspot.com/-AB7rjyPUwO4/VIiSUJcFv0I/AAAAAAAAAxs/GJljSbjsj34/s1600/7.png) |
Figura 6: Obtención del privilegio |
Tal y como podemos ver, en algunas ocasiones necesitamos ejecutar otras
vías para conseguir una sesión con privilegio, y aunque pueda parecer
tedioso, no hay más que tener
paciencia. Para
aprender más sobre Metasploit y sus secretos os recomiendo el libro de
Metasploit para Pentesters.