El equipo de Project Zero de Google publicó los detalles de un ataque local “prueba de concepto” contra un PC con Windows 10 con todas sus revisiones instaladas, mediante el cual el atacante ejecuta un JavaScript no confiable fuera del entorno de caja de arena en los sistemas atacados.
Este ataque es una variante de un ataque WPAD/PAC. En el caso de Project Zero, el ataque WPAD/PAC apunta a encadenar varias vulnerabilidades relacionadas con el archivo PAC y un archivo Microsoft JScript.dll para lograr la ejecución remota de comandos en el equipo atacado.
“Hemos identificado 7 vulnerabilidades de seguridad en (JScript.dll) y logrado demostrar la ejecución confiable de un código desde una red local (y fuera de ella) en un equipo con Windows 10 64-bit completamente parchado (al momento de redactar este informe) con la actualización Fall Creators instalada”, explicaron los investigadores de Project Zero en el sitio web del equipo este lunes.
Ya se han parchado las vulnerabilidades.
Los ataques con el protocolo Web Proxy AutoDiscovery (WPAD) se relacionan con la manera en que los navegadores usan el archivo PAC (Proxy Auto-Configuration) para navegar peticiones HTTP y HTTPS. Los archivos PAC emplean JavaScript para instruir al navegador qué proxy debe utilizar para obtener una URL específica. Si un atacante introduce en el navegador un archivo PAC malicioso, podrá monitorear la URL de cada petición que haga el navegador.
Otros investigadores ya habían encontrado agujeros en WPAD que iban desde un ataque “UNHOLY PAC“, identificado por SafeBreach, hasta un ataque man-in-the-middle, identificado por Context Information Security. Esta técnica permite que el atacante vea la URL completa de cada sitio visitado, incluso si el tráfico se encuentra protegido con cifrado HTTPS.
El equipo de Project Zero de Google llevó los ataques WPAD/PAC un paso más allá.
“Hasta donde sabemos, esta es la primera vez que se demuestra un ataque contra WPAD que ocasiona la infección completa del equipo del usuario de WPAD”, indicaron los investigadores.
“Lo que los investigadores de Project Zero identificaron fue un nuevo vector de ataque que apunta directamente al motor JScript de Windows, el cual interpreta los archivos JavaScript PAC”, comentó Paul Stone, consultor en seguridad de Context Information Security. “Se trata de un ataque mucho más poderoso y técnicamente más complejo”, señaló.
El objetivo de Project Zero era identificar nuevas vulnerabilidades en la versión de JScript.dll que utiliza el servicio WPAD. (CVE-2017-11810, CVE-2017-11903, CVE-2017-11793, CVE-2017-11890, CVE-2017-11907, CVE-2017-11855 and CVE-2017-11906)
Cinco de las vulnerabilidades señaladas por Project Zero este lunes se parcharon la semana pasada como parte del parche de Microsoft del martes. Microsoft parchó en octubre las otras dos.
“En los últimos años, los exploits para navegadores han dejado de apuntar a DOM, para atacar directamente a los motores JavaScript, por lo que el simple hecho de lograr la ejecución de JavaScript en la red sin recurrir al navegador fue motivadora”, remarcaron los co-autores del informe Project Zero Ivan Fratric, Thomas Dullien, James Forshaw y Steven Vittitoe.
Los investigadores encadenaron dos fallas específicas para JScript (una fuga de información y un desborde de pila) y utilizaron otras técnicas, como Return-Oriented Programming, para evadir las medidas de seguridad de Windows. Luego, los investigadores utilizaron una técnica de escalamiento de privilegios para moverse desde la cuenta del sistema local, donde se ejecuta el servicio WPAD, pero que no tiene muchos permisos, hasta SYSTEM, según el análisis de la técnica que hizo Stone.
“Para funcionar, la cadena requiere todos sus enlaces, pero en mi opinión, la lectura de memoria primitiva (lectura fuera de límite) es el activador de todos los otros pasos y tiene un uso que va más allá de esta cadena en particular”, dijo Amit Klein, vicepresidente de investigación en seguridad de SafeBrach.
A pesar de que Microsoft tiene un parche para este tipo de ataque, los investigadores de Project Zero están de acuerdo con la evaluación de Klein.
“Dado que las fallas ya están reparadas, ¿significa que todo terminó y podemos irnos a casa? Parece improbable. Aunque hemos invertido bastante tiempo, esfuerzo y energía informática para detectar fallas jscript.dll, no podemos afirmar que las hemos detectado todas. De hecho, si hay 7 fallas, es posible que haya una octava”, escribieron los investigadores de Project Zero.
Los investigadores recomiendan a los usuarios de Microsoft que desactiven WPAD por defecto y apliquen la caja de arena al 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 activan WPAD por defecto. Asimismo, subrayan que “Google Chrome también tiene una implementación de WPAD, pero en este caso, la evaluación del código JavaScript desde el archivo PAC se realiza dentro de la caja de arena”.
Fuente: Threatpost
Project Zero encadena fallas para ataque ‘apocalíptico’ contra Windows 10