El grupo Proyecto Zero de Google publicó detalles de un ataque de prueba de concepto local contra una computadora con sistema operativo Windows 10 totalmente parcheado que permitiría a un adversario ejecutar JavaScript no confiable fuera del entorno de aislamiento del sandbox en el sistema seleccionado.

El ataque es una variación de un ataque WPAD/PAC. En el caso del Proyecto Zero, el ataque WPAD/PAC se centra en encadenar varias vulnerabilidades relacionadas con el PAC y el archivo JScript.dll de Microsoft para obtener la ejecución remota de comandos en el equipo de una víctima.

“Identificamos 7 vulnerabilidades de seguridad en el archivo JScript.dll y demostramos con éxito una ejecución de código confiable desde la red local (y más allá) contra un Windows 10 64-bit totalmente parcheado (en el momento de la escritura del articulo) con Fall Creators Update instalado “, escribieron los investigadores de Proyecto Zero en el sitio web del grupo el lunes.

Las vulnerabilidades se han corregido desde entonces.

Los ataques del protocolo Web Proxy AutoDiscovery (WPAD) están vinculados a la forma en que los navegadores utilizan PAC (Proxy Auto-Configuration) para navegar por peticiones HTTP y HTTPS. Los archivos PAC contienen JavaScript que indican qué proxy debe usar un navegador para acceder a una URL específica. Si se introduce un PAC malicioso en el navegador, esto permite a un atacante monitorear la URL de cada solicitud que hace el navegador.

Investigadores anteriores han encontrado agujeros en el WPAD que van desde un ataque “UNHOLY PAC” identificado por SafeBreach hasta una técnica de ataque man-in-the-middle (hombre-en-el-medio) identificada por Context Information Security. La técnica permitió a un atacante ver la URL completa de cada sitio visitado, incluso si el tráfico estaba protegido con cifrado HTTPS.

El equipo de Proyecto Zero de Google llevó los ataques WPAD/PAC un paso más allá.

“Hasta donde sabemos, esta es la primera vez que un ataque contra la WPAD se demuestra que resulta en el compromiso completo de la máquina del usuario del WPAD “, dijeron los investigadores.

Lo que los investigadores del Proyecto Zero identificaron fue un nuevo vector de ataque que ataca directamente al motor JScript de Windows que interpreta los archivos PAC JavaScript, comentó Paul Stone, consultor de seguridad de Context Information Security. Este es un ataque mucho más poderoso y técnicamente complejo “, dijo.

El grupo de proyecto Zero se centró en identificar nuevas vulnerabilidades en la versión de JScript.dll utilizada por el servicio WPAD. Las vulnerabilidades identificadas con sus números CVE son las siguientes:

CVE-2017-11810

CVE-2017-11903

CVE-2017-11793

CVE-2017-11890

CVE-2017-11907

CVE-2017-11855

CVE-2017-11906

Cinco de las vulnerabilidades señaladas por Proyecto Zero fueron corregidas el lunes de la semana pasada como parte del Parche de Microsoft el martes. Las dos adicionales fueron parcheadas en el mes de Octubre por Microsoft.

“En los últimos años, los exploits del navegador han mutado de estar orientados principalmente al DOM a los motores Javascript directamente, por lo que la mera mención de que podemos obtener la ejecución de Javascript sobre la red sin el navegador fue motivadora “, escribieron los coautores del informe del Proyecto Zero Ivan Fratric, Thomas Dullien, James Forshaw y Steven Vittitoe.

Los investigadores encadenaron dos errores específicos de JScript.dll (un escape de información y un desbordamiento de heap) y aprovecharon varias otras técnicas (como la programación orientada al retorno) para evitar mitigaciones de la seguridad de Windows. A continuación, los investigadores utilizaron una técnica de escalamiento de privilegios para pasar de la cuenta de Servicio Local (donde se ejecuta el servicio WPAD, pero que no tiene muchos permisos) a SYSTEM, según un análisis de la técnica realizada por Stone.

“La cadena requiere todos sus eslabones para funcionar, pero en mi opinión la memoria leída primitiva (leída fuera de límites) es la que facilita todos los demás pasos, y tiene utilidad más allá de esta cadena en particular “, dijo Amit Klein, vicepresidente de investigación de seguridad de SafeBreach.

A pesar del hecho de que Microsoft ha parcheado contra este tipo de ataque, los investigadores de Proyecto Zero están de acuerdo con la evaluación de Klein.

“Como los errores ya están corregidos, ¿esto significa que hemos terminado y podemos irnos a casa? Es poco probable. Aunque gastamos una buena cantidad de tiempo, esfuerzo y potencia computacional en encontrar errores en Jscript.dll, no hacemos ninguna afirmación de que los encontramos todos. De hecho, donde hay 7 errores, es probable que haya un octavo”, escribieron los investigadores de Proyecto Zero.

Los investigadores recomiendan a los usuarios de Microsoft desactivar WPAD por defecto y la sandbox en el intérprete de JScript dentro del servicio WPAD.

Los investigadores señalan que Windows no es el único software que implementa WPAD. Sin embargo, otras implementaciones en otros sistemas operativos no lo habilitan por defecto. También señalan, que “Google Chrome también tiene una implementación WPAD, pero en el caso de Chrome, la evaluación del código JavaScript del archivo PAC ocurre dentro de una sandbox”.

Fuente: ThreatPost

Anuncios