Saltar al contenido

PrivescCheck, verifica si Windows es vulnerable a escalado de privilegios

PrivescCheck, verifica si Windows es vulnerable a elevación de privilegios

No hace mucho me topé casualmente con una pequeña herramienta que he considerado útil como para comentarla brevemente. Gracias a PrivescCheck es posible verificar si nuestro sistema operativo Windows es susceptible a la elevación de privilegios.

Podría deberse, como suele pasar, a configuraciones inapropiadas en el sistema operativo (un hardening insuficiente) así como a fallos en el código de nuestro software, que podría desembocar en que un atacante obtenga privilegios de administrador en el sistema, a través de un fichero, un programa, un LoLbin, etc.

Esto lo podemos verificar desde la comodidad de una consola de comandos y con la rapidez de este script que podemos encontrar en el repositorio de Github.

Características

  • Permite obtener información sobre el contexto del usuario actual (Current User)
  • Permite listar servicios del sistema, permisos, etc
  • Permite listar aplicaciones
  • Permite revisar las tareas programadas de Windows
  • Permite revisar almacenes y políticas de credenciales
  • Revisa diferentes elementos relativos al hardening o bastionado del equipo
  • Otros parámetros como aconfiguración, redes, actualizaciones, etcétera son también revisados

PrivescCheck emplea lo que se conoce como Script Dot Sourcing. Nos permite ejecutar un script en un contexto diferente al actual, en lugar del definido en el propio script. Así, los comandos lanzados se ejecutan de igual manera que si los escribimos manualmente en la consola, lo que implica adaptar las funciones, variables o aliases, entre otros.

Reportes de vulnerabilidades con PrivescCheck

Esta herramienta nos puede servir de dos formas diferentes. Como Blueteam, nos puede permitir encontrar determinadas vulnerabilidades que afectan a lo que se conoce como privilege escalation. Es un complemento a nuestra herramienta de gestión de vulnerabilidades habitual, obviamente no es más que eso.

Quizá donde más pueda brillar, sin embargo, es por su potencial en las actividades relativas al Pentesting (read team), ya que permitiría acelerar la búsqueda de estas posibles “puertas” a través de las que penetrar en un sistema usando software deficiente.

Uso básico de la herramienta

No es necesario utilizar elevación de privilegios para ejecutarla y tenemos dos intérpretes de comandos que podemos utilizar, veamos los ejemplos.

Desde el CMD:

powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"

Desde Powershell

Set-ExecutionPolicy Bypass -Scope process -Force
. .\PrivescCheck.ps1; Invoke-PrivescCheck

Veremos que el script comienza a trabajar, lo que demorará entre uno y varios minutos dependiendo del sistema.

Privesccheck informe 1

Al final, obtendremos un informe en la consola similar a este en cuanto a formato.

Si tienes algún problema el ejecutarlo, revisa este artículo.

De dicho reporte ya podemos extraer una conclusión clara, y es que existe una potencial amenaza grave en Servicios > Permisos SCM (segunda columna). El total de KO (test no pasado con éxito) que arroja la herramienta, es de 3 en este caso.

  • Privesccheck vulnerable
  • Servicio vulnerable a elevación de privilegios
ResultadoSignificado
NANo vulnerable / No aplica
OKNo vulnerable
KOVulnerable
Leyenda

Más concretamente, lo que se ha marcado es que el servicio señalado podría ser manipulado, a nivel de registro, en el contexto del usuario con sesión actualmente iniciada.

Pero si esto te parece poco tengo buenas noticias, porque con el modo “extendido” obtendremos bastantes más datos sobre vulnerabilidades en el sistema. Basta simplemente con añadir el sufijo -Extended en ambas sintaxis.

CMD

powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended"

Powershell

Set-ExecutionPolicy Bypass -Scope process -Force
. .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended
Privesccheck informe 2

Generación de reporte

Finalmente están los reportes, un aspecto importante en cualquier herramienta que se precie. Tenemos la opción de sacar los datos obtenidos en formato CSV, TXT o HTML. Este último es el más recomendable para su lectura humana.

  • Informe HTML PrivescCheck
  • Informes csv

Es simple. Basta con añadir -Format y el formato deseado (HTML, TXT, CSV), por ejemplo:

Set-ExecutionPolicy Bypass -Scope process -Force<br>. .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended

Modificar el script

Un punto fuerte de este modelo de herramienta es que es modular, podemos ampliar el script a conveniencia como nos dicen en el propio repositorio. Para poder hacerlo, debemos:

  • Crear una carpeta de nombre PrivescCheckPlugins en la raíz donde se encuentra el script (archivo .ps1)
  • Crear, a su vez, dentro de la misma, un archivo csv con este nombre: PrivescCheckPlugins.csv.
  • Rellenar el archivo recién creado con esta información:
"Id", "File", "Command", "Params", "Category", "DisplayName", "Type", "Severity", "Description", "Format", "Extended", "RunIfAdmin"
"TEST_ID", "Custom.ps1", "Invoke-SomeCheck", "", "MyCategory", "Test Title", "Vuln", "High", "Description of the test", "List", False, False

Por último, es necesario implementar nuestra comprobación (función) dentro de un nuevo script. Podría llamarse, por ejemplo, “prueba.ps1”. Si el check devuelve un valor o más durante la ejecución, se considerará vulnerable, en caso contrario, no.

Limitaciones

  • Powershell v2 no está soportado de serie, es necesario adaptar ciertas funciones como Get-LocalGroup o Get-ChildItem.

Palabras finales

PrivescCheck es una pequeña pero flexible utilidad para detección de vulnerabilidades de tipo Escalado de privilegios sobre sistemas Windows, que se vale del potente Powershell y es agnóstica a servicios de sistema como WMI, favoreciendo en su lugar al potente Editor del Registro de Windows, así como los propios cmdlets ya incluidos.

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: