lunes, 3 de abril de 2023

Procmon, Gpo y process explorer para monitorizar tu aplicación qué permisos requiere...

 Estimados amigos de Inseguros !!!

Durante una de las clases del curso de Ciberseguridad en entornos Microsoft salió la duda de como evaluar los permisos y privilegios que necesita una aplicación para ejecutarse.

Lo típico de que te llega la consultora y para instalar el aplicativo EQUIS te pide ser miembro de domains admin, agua embotellada del volcan del fiji y 10 esclavos abanicándote...

En esta ocasión vamos a por lo del grupo administrador :-).

Podemos usar Procmon, herramienta de la sysinternals, para monitorizar qué ocurre cuando una aplicación se ejecuta. Nos dice ficheros, carpetas, librerias que carga, claves del registro que consulta, al final, nos da una información valiosa para adaptar esos requisitos a un usuario que los cumpla, y no tener que entregar nuestro preciado "domain" al aplicativo.

Por ejemplo, para facilitarnos la vida, podemos ejecutar el aplicativo sin elevación, como usuarios normales, y ver donde el resultado es negativo, no Success, por ejemplo, usando dos filtros, el del nombre del proceso que queremos analizar ( por ejemplo setup.exe) el campo de estado.


Para esta prueba, voy a levantar un cmd y voy a hacer algo "prohibido" algo sobre lo que no voy a tener permisos. Esta acciones son las que queremos trackear, para saber qué permisos concretos necesitamos.


Si nos fijamos en la siguiente imagen, no tenemos permisos para escribir en c: y nos da el error, y nos dice el permiso que esperaba...


Una vez tenemos controlados los permisos, nos vamos a los privilegios. Como sabéis, es distinto, tener el privilegio de apagar el pc, o tomar pertenencia a un grupo, o debugear programas, o actuar como parte del sistema ( para impersonar...) etc, no es lo mismo que poder escribir en una carpeta.

Para trackear el uso de estos privilegios en la ejecución de un proceso, podemos tirar de eventos. Podemos activar la GPO que nos da la auditoria avanzada de este uso. Pero OJO, esto genera MUUUUCHOS eventos. Habilitarlo para casos concretos.


Por ejemplo aquí vemos el uso del privilegio SeTcBPrivilege


Por último, también podemos usar Process Hacker para ver los security access token del proceso y ver el uso de privilegios. 

Por ejemplo, vamos a ejecutar mimikatz, veremos como el proceso no tiene un SAT "elevado" o con privilegio debug, y cuando le hacemos el famoso : privilege::debug, el SAT adquire dicho privilegio.




Estos pequeños "trick" nos sirven para conocer un poco más en profundidad como funciona nuestro apreciado Windows, y poder darle este uso, o cualquier otro relacionado con el ejercicio.

Si me permítes, este curso de Ciberseguridad Microsoft ya está cerrado, abriremos otro en septiembre, pero ahora tenemos uno muy bueno en Mayo de 2023 que lo mismo es de tu interés, sobre Azure y O365.

Te dejo aquí el "folleto" y ya sabes, si tienes dudas puedes consultarme !!!

Gracias  !!!