Los investigadores encontraron una manera de evitar un parche que Microsoft lanzó para corregir un error en los servicios de impresión de Windows, lo que brinda a los atacantes una ruta para ejecutar código malicioso con privilegios elevados.

Rastreado como CVE-2020-1048, la falla inicial recibió una solución inicial en mayo y otra viene con el lanzamiento de actualizaciones de seguridad de Microsoft este mes.

Descubierto e informado de manera responsable por Peleg Hadar y Tomer Bar de SafeBreach Labs, CVE-2020-1048 afecta a Windows Print Spooler, el servicio que administra el proceso de impresión.

Eludirlo se ha clasificado como una nueva vulnerabilidad que recibió el número de seguimiento CVE-2020-1337. Una solución estará disponible el 11 de agosto.

Los detalles técnicos del nuevo error aún son privados, pero se publicarán después del lanzamiento del parche, junto con un controlador Mini-Filter de prueba de concepto que muestra cómo prevenir en tiempo real la explotación de las dos vulnerabilidades.
Plantar malware

La explotación de CVE-2020-1048 es posible mediante la creación de archivos maliciosos analizados por la cola de impresión. Un tipo es el formato .SHD (Shadow) y contiene metadatos para el trabajo de impresión, como SID, la ID del usuario que crea el trabajo. El otro es SPL (archivo Spool), con los datos que deben imprimirse.

"Esto parecía muy interesante, ya que proporciona una forma conveniente de enviar datos directamente a la cola de impresión, que (probablemente) será analizada y utilizada por otros componentes también", escriben los investigadores en un informe técnico de hoy.
Al analizar el proceso de impresión y comprender cómo funciona todo, los investigadores descubrieron que una función llamada ProcessShadowJobs procesa todos los archivos SHD en la carpeta de cola de impresión cuando se inicia el proceso.

Sabiendo que Windows Print Spooler se ejecuta con privilegios de SYSTEM y cualquier usuario puede colocar archivos SHD en su carpeta, los investigadores trataron de encontrar una manera de escribir en el directorio system32, una tarea que requiere privilegios elevados.

Hadar y Bar descubrieron que podían modificar un archivo SHD para incluir el SID del SISTEMA, agregarlo a la carpeta de Spooler y reiniciar la computadora para que Spooler realice la tarea con los derechos de la cuenta más privilegiada en Windows.

Junto con una DLL arbitraria (wbemcomn.dll) oculta como un archivo SPL, copiaron el SHD mal elaborado a la carpeta de la cola de impresión. Un reinicio posterior, lograron la escalada de privilegios y escribieron su DLL en la carpeta System32.

"Como beneficio adicional, múltiples servicios de Windows cargaron nuestra DLL (wbemcomn.dll) ya que no verificaron la firma e intentaron cargar la DLL desde una ruta inexistente, lo que significa que también obtuvimos la ejecución del código", dijeron los dos investigadores.
Este método de explotación ya no funciona en sistemas actualizados, pero los investigadores de Safebreach descubrieron que podían evitar el parche de Microsoft y lograr resultados similares.

Si bien ninguno de los problemas permite que un adversario comprometa a un host, puede servir en la segunda etapa de un ataque y llevar a un control completo del sistema.

Hadar y Bar presentarán sus hallazgos el jueves en la conferencia de seguridad de Black Hat USA.

Fuente: Bleeping Computer