Sandbox escaper regresa con vulnerabilidades Zero Day en Windows
El desarrollador de Sandbox Escaper lo ha vuelto a hacer. Esta vez ha publicado un código de exploit para una vulnerabilidad Zero Day (sin parche) en Windows 10 que afecta al programador de tareas de Windows.
Desde el pasado Agosto de 2018 este experto ha revelado ya otras 4 vulnerabilidades Día 0 en sistemas Windows, con un denominador común que es no avisar a Microsoft antes de hacerlas públicas. En Agosto del año pasado casualmente la vulnerabilidad también afectaba al Task Scheduler.
3 Vulnerabilidades para Windows publicadas en pocos días
En cuestión de pocos días durante la semana pasada, SandBoxEscaper ha desvelado al público 3 nuevas vulnerabilidades para Windows que obligarán a Microsoft y a la comunidad a tomar medidas rápidamente.
Vulnerabilidad en Task Scheduler de Windows 10
SandboxEscaper ha demostrado que es posible lanzar un ataque aprovechando las legacy tasks modificadas (formato .JOB) importando las mismas en el Programador de tareas. Este exploit funciona sobre todas las versiones de Windows.
Cada archivo JOB se importa al Programador de tareas con derechos DACL (Discretionary Access Control List). Lo que ocurre es que, cuando no existe un DACL de referencia el sistema concede accesos completos al archivo.
En Windows existen dos carpetas para las tareas, una situada en C:\Windows\Tasks (antigua, como en Windows XP) y otra que es C:\windows\system32\tasks.
Según explica el experto, para poder aprovechar la vulnerabilidad es necesario importar archivos de tareas «legacy» dentro del programador de tareas de Windows 10, copiando estos en la ruta descrita. Se lanzará un comando con ejecutables como schtasks.exe / schedsvc.dll copiados del sistema antiguo.
Esto llevaría a una RPC o «llamada a procedimiento remoto» sobre _SchRpcRegisterTask, lo que permitiría registrar una tarea con el servidor afectado. Así lo explica:
Si en Windows 10 quieres importar un archivo .job en el programador de tareas tienes que copiar los archivos .job viejos en c:\windows\tasks y ejecutar el siguiente comando usando «schtasks.exe and schedsvc.dll» copiado desde el sistema antiguo: “schtasks /change /TN “nombre_tarea” /RU nombre_usuario /RP contraseña”
El proceso comenzaría suplantando al usuario actual, pero en un momento dado alcanzaría esta función:
int __stdcall tsched::SetJobFileSecurityByName(LPCWSTR StringSecurityDescriptor, const unsigned __int16 *, int, const unsigned __int16 *)
Entonces, comenzaría a asumir su propia identidad (NT AUTHORITY\SYSTEM) y llamaría a SetSecurityInfo en una tarea creada dentro de c:\windows\system32\tasks. Es decir, que se puede elevar privilegios a SYSTEM simplemente con llamar a una función específica. Abajo puedes ver una demostración en vídeo.
Analistas del CERT/CC han confirmado además que funciona con sistemas parcheados en Mayo de 2019. Han sido capaces de reproducir todos los pasos recompilando el código en un Windows 10 64 bit y Windows Server 2016/2019. En sistemas anteriores (Windows 8/7) no ha sido posible.
Vulnerabilidad en WER
Windows Error Reporting es la segunda aplicación del sistema que estaría afectada. Igual que en el caso del Task Scheduler, este problema vendría por el uso de las DACL que identifica los usuarios que pueden modificar un objeto protegido.
Con esta técnica de ataque sería posible eliminar de forma definitiva cualquier archivo de Windows y dejarlo inservible. A esta vulnerabilidad se la ha denominado AngryPolarBearBug2 dado que hay otro precedente llamado AngryPolarBearBug en 2018.
Eso sí, este exploit es difícil de aprovechar:
No veo ninguna forma de utilizar OPLOCKS de forma fiable para ganar la carrera y aunque puedo hacerlo funcionar razonablemente en mi VM, necesito usar una función ()rand para hacer fuerza bruta en el retardo necesario para conseguir el momento oportuno, ya que este lapso será muy diferente entre un sistema y otro.
Vulnerabilidad en Internet Explorer
Sobre la vulnerabilidad, que afecta a Internet Explorer 11, no se conocen detalles técnicos aunque existe un video demostrativo. Lo que se consigue es saltarse el Modo Protegido de IE (un sandbox) para ejecutar código con permisos de integridad media.
Exploits a la venta
Los problemas para Microsoft aumentan al saber que además el total de exploits descubiertos por SandboxEscaper ascienden a 4 (uno de ellos es un escape de Sandbox) y lo que es peor, están a la venta por 60000 $ cada uno. Eso sí, solo los venderá a compradores ubicados fuera de occidente.
No le debo nada a la sociedad. Solo quiero hacerme rico y hacer una peineta a occidente.
Esta señorita es un verdadero dolor de cabeza para Microsoft. En los últimos meses ya ha publicado algunos exploits como estos:
- Octubre 2018: PoC de exploit en Microsoft Data Sharing que permitía a un usuario sin privilegios eliminar archivos vitales de Windows
- Diciembre 2018: PoC para un nuevo Zero Day en Windows
Y van 4 este año.
Categories
deweloper View All
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.