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.
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
Publicar un comentario