Herramientas en powershell: Escala privilegios en Windows con PowerUp

PowerUp es una herramienta escrita en powershell que forma parte del framework Veil y que facilita la auditoría de sistemas Windows con el propósito de escalar privilegios sin recurrir a alguna vulnerabilidad concreta, como por ejemplo el CVE-2015-1701. Mediante PowerUp se comprueban servicios vulnerables, aplicaciones susceptibles a DLL Hijacking, configuración del registro y otras comprobaciones.

En los servicios comprueba si se almacenó la ruta del binario en el registro tiene comillas o no (Get-ServiceUnquoted), si el binario tiene permisos incorrectos (Get-ServiceEXEPerms) y un usuario puede sobrescribirlo o servicios con permisos incorrectos (Get-ServicePerms).

En el caso de las DLL, permite detectar aplicaciones vulnerables en ejecución (Invoke-FindDLLHijack) o buscar en el PATH del sistema (Invoke-FindPathHijack).

De el registro se comprueba si está habilitado el permiso especial "AlwaysInstallElevated" que permite instalar aplicaciones sin ser administrador (RegAlwaysInstallElevated) y las credenciales de autologon (RegAutoLogon).

Como complemento, la función Get-UnattendedInstallFiles busca ficheros pendientes de instalaciones no atendidas, Get-Webconfig permite descifrar cadenas cifradas de ficheros web.conf y Get-ApplicationHost comprueba el cifrado de los pool de aplicaciones y directorios virtuales.

Una vez identificados todos los problemas; para el análisis de todo el sistema es posible usar Invoke-AllChecks, también existe la opción de explotarlos. Por ejemplo, Write-UserAddMSI genera un instalable que crea un usuario y será útil en caso de que AlwaysInstallElevated esté habilitado o Write-UserAddServiceBinary genera el binario de un servicio al ser arrancado que crea un usuario administrador.

Comentarios