Advertencia: el administrador de tareas de Microsoft Windows contiene una vulnerabilidad de mejora de privilegios locales.

03/09/2018Elley
Más información sobre el 360 Total Security

Fondo
La función exportada por el gestor de tareas de Windows 10 no verifica el permiso del llamante. El usuario de cualquier autoridad puede llamar a la función para obtener el permiso de escritura del archivo de sistema sensible, y luego ocurre la mejora de privilegios.

La vulnerabilidad afecta a Windows 10 y Windows Server 2016. La EXP lanzada actualmente solo está disponible temporalmente para los sistemas x64.

Análisis
La interfaz ALPC en el gestor de tareas de sistema de Windows 10 exporta la función SchRpcSetSecurity, lo que configura un descriptor de seguridad para una tarea o carpeta.

Zero-day vulnerability: Warnings to local privilege escalation

El servicio de gestión de tareas se inicia por svchost.exe (netsvcs), y el dll correspondiente es schedsvc.dll.

Zero-day vulnerability: Warnings to local privilege escalationZero-day vulnerability: Warnings to local privilege escalation

En el sistema operativo Windows XP las tareas se almacenan en C:\Windows\Tasks con el sufijo .job. Las tareas de Windows 7 y las versiones posteriores se almacenan en C:\Windows\System32\Tasks en formato xml.

Zero-day vulnerability: Warnings to local privilege escalation

Tal vez por motivos de compatibilidad, la función SchRpcSetSecurity seguirá detectando si hay un archivo .job en el directorio C:\Windows\Tasks en Windows 10 y escribirá los datos DACL si existe. Si el archivo job está enlazado a un dll específico, dicho dll se escribirá en los datos DACL. Originalmente, el usuario normal solo tiene acceso al dll específico, con lo que tiene permiso de escritura, y luego escribe el código exploit en el dll. E inicia el programa correspondiente para obtener la mejora de privilegios.

Primero, encuentra un usuario normal con permisos de lectura y el sistema tiene un dll que escribe los permisos DACL. El EXP usa C:\Windows\System32\DriverStore\FileRepository\prnms003.inf_amd64_4592475aca2acf83\Amd64\printconfig.dll, y luego C: \Windows\Tasks\UpdateTask.job se enlaza a este dll.

Zero-day vulnerability: Warnings to local privilege escalation

Tras llamar a la función SchRpcSetSecurity para permitir que el usuario normal obtenga permiso para escribir el dll, escribe el exploit.dll en el archivo de recurso.

Zero-day vulnerability: Warnings to local privilege escalation

Printconfig.dll está relacionado con la impresión de sistema y no se inicia por defecto por el servicio de spooler de impresión. Por tanto, llama StartXpsPrintJob para iniciar una impresión XPS.

Zero-day vulnerability: Warnings to local privilege escalation

El programa de exploit se completa como dll, inyectado en el bloc de notas. Se encuentra que el bloc de notas creado por spoolsv.exe ya tiene permiso SYSTEM, y el printconfig.dll del sistema también se modifica en exploit.dll en el archivo de recurso.

Zero-day vulnerability: Warnings to local privilege escalation

Zero-day vulnerability: Warnings to local privilege escalation

Recordatorio
Se recomienda que los usuarios instalen 360 Total Security para defenderse de los ataques. No abra los programas de sitios desconocidos.

Más información sobre el 360 Total Security