Exploiting Leaked Handles for LPE

La herencia de manejadores de objetos entre procesos en un sistema Microsoft Windows puede constituir una buena fuente para la identificación de vulnerabilidades de elevación de privilegios locales (LPE). Tras introducir los conceptos básicos alrededor de este tipo de debilidades de seguridad, se presentará una herramienta capaz de identificarlos y explotarlos, aportando a Pentesters y Researchers un nuevo punto donde focalizar sus acciones de intrusión e investigación respectivamente, sigue leyendo!

Dentro de un sistema operativo Microsoft Windows los procesos son capaces de interactuar con objetos securizables del sistema como ficheros, PIPES, claves de registro, hilos o incluso otros procesos. Para ello y mediante el uso del WINAPI el proceso origen requiere al S.O. de un manejador (Handle en inglés)  para realizar una determinada acción sobre el objeto en cuestión.

Si se disponen de los permisos y/o privilegios adecuados el S.O. autoriza este acceso entregando el susodicho manejador del objeto al proceso que lo requiere. Desde ese momento es posible interactuar con el dentro de los límites de los permisos solicitados. Veamos el siguiente ejemplo donde un proceso origen haría uso de la función del WinApi OpenProcess para tratar de abrir un proceso destino (spoolsv.exe) con el objetivo de obtener información de forma remota de él (PROCESS_QUERY_INFORMATION).

[Read more…]