Normalmente, estamos acostumbrados a escalar privilegios desde la consola de comandos, y de hecho, es así el 95 por ciento de las veces. Sin embargo, hay ciertas ocasiones en las que de forma gráfica, cuando instalamos o abrimos un programa, si se hace como administrador directamente sin pedirnos contraseña del mismo etc, es posible que tengamos la capacidad de escaparnos de la aplicación para poder ejecutarnos una cmd como el mismo usuario que esté ejecutando el proceso.
Vamos a ver un ejemplo usando el entorno vulnerable que te prepara el script de «tib3rius» y que podéis encontrar en su repositorio.
Índice:
- Ejemplo de Explotación
- Ejemplo real de esta explotación
- Referencias
Ejemplo de Explotación
En este caso, en este entorno, el programa que al ejecutarlo, se ejecuta como el usuario administrador es el paint:

Nosotros hemos iniciado sesión en el equipo como el usuario «user», somos un usuario sin privilegios:

Volviendo al paint, al darle doble click y abrirlo, no nos pide nada, se abre sin más, porque está configurado para ello:

Sin embargo, podemos comprobar que lo está ejecutando el usuario administrador a través del siguiente comando:
tasklist /V | findstr <programa>
Tasklist muestra la lista de procesos que están actualmente en ejecución en el equipo. Con el argumento /V muestra una salida más detallada
Findstr simplemente es el equivalente al grep en sistemas Linux

Bien, pues sabiendo esto, nos volvemos al paint y lo que se suele hacer en estos casos es dirigirnos a alguna característica del programa donde nos podamos escapar del mismo. Lo más típico es intentar abrir el explorador de archivos, ya sea para seleccionar una ruta o abrir un archivo o lo que sea:


Con el explorador de archivos abierto, podemos abrirnos una cmd de la siguiente manera:


OJO, también podríamos escaparnos y abrirnos una powershell.exe haciendo «SHIFT + Click Derecho»:


Y de esta forma, también conseguimos escaparnos y ejecutar una cmd en el contexto de quien está ejecutando el paint, en este caso, admin. Esto ocurre ya que como el proceso padre está ejecutándose como administrador (paint), la cmd se ejecutará con los mismos privilegios al ser un proceso hijo. Desde el Process Explorer, se ve así:

Por lo que no es una vulnerabilidad como tal de paint, sino que existe la mala configuración de que esta aplicación se ejecuta como administrador directamente.
Ahora, si somos «anti-interfaz-gráfica», pues simplemente podemos pasarnos un archivo «exe» generado con msfvenom para que nos ejecute una reverse shell:
- Me pongo en escucha en el Kali:

- Ejecuto el «exe» que he pasado al Windows, el cual me genera una reverse shell hacia el kali al puerto 4444:


De esta forma, habiéndonos aprovechado de una vulnerabilidad de forma gráfica, al final de todo, hemos conseguido escalar privilegios y obtener una shell como Administrador.
Ejemplo real de esta explotación
Hace no mucho (al menos a la hora de escribir este post), en agosto de 2021 salió una vulnerabilidad la cual permitía una escalada de privilegios usando dispositivos Razer. La escalada se realizaba prácticamente casi de la misma forma que se ha explicado en este post.
Básicamente, la idea básica consiste en que al conectar físicamente un dispositivo Razer, Windows automáticamente descargará e instalará el programa «Razer Synapse Software», este proceso lo realizará como el usuario SYSTEM (todo sin pedirnos permisos, lo hace automático). En el asistente de instalación, llega un momento en el que nos permite abrir el explorador de archivos para seleccionar la ruta donde queremos que se instale, en este punto simplemente ya hacemos lo que se ha explicado en este post.
Este es el tweet original de la vulnerabilidad, la cual contiene un video de la explotación:
Need local admin and have physical access?
— jonhat (@j0nh4t) August 21, 2021
– Plug a Razer mouse (or the dongle)
– Windows Update will download and execute RazerInstaller as SYSTEM
– Abuse elevated Explorer to open Powershell with Shift+Right click
Tried contacting @Razer, but no answers. So here's a freebie pic.twitter.com/xDkl87RCmz
Claro, esto literalmente permitía que cualquier persona con un dispositivo Razer y acceso físico a un equipo, tuviera la capacidad de escalar privilegios.
Para más información, aquí otras fuentes donde se habla en detalle de como funciona:
- Razer bug lets you become a Windows 10 admin by plugging in a mouse
- You Can Get Admin Privileges On Windows 10 With A Razer Mouse
Referencias
- Windows Privilege Escalation for OSCP & Beyond!
- Windows-PrivEsc-Setup
- Tweet Original de la vulnerabilidad en dispositivos Razer
- Razer bug lets you become a Windows 10 admin by plugging in a mouse
- You Can Get Admin Privileges On Windows 10 With A Razer Mouse
Recommended Comments