Una vulnerabilidad encontrada por el investigador de seguridad de Trustwave SpiderLabs, Martin Rakhmanov, en el cliente Cisco Webex Meetings de Windows puede permitir a atacantes autenticados localmente ganar acceso a información sensible incluyendo nombres de usuario, tokens de autenticación e información de la reunion.
Rakhmanov descubrió que el cliente de WebEx para Windows v. 40.4.12.8. En concreto, el fallo consiste en la posibilidad de que un usuario no autenticado podría ganar acceso a información sensible que se encuentre en el dispositivo afectado por este fallo. Desde CISCO califican la vulnerabilidad como de una gravedad de nivel medio.
La vulnerabilidad está catalogada como CVE-2020-3347 y afecta a versiones anteriores a la 40.6.0, causada por hacer un uso inseguro de la memoria compartida con el sistema, en trace files no sercurizados correctamente.
En febrero de 2019, Cisco también corrigió un error de escalamiento de privilegios que se encuentra en el servicio de actualización de la aplicación de escritorio Cisco Webex Meetings para Windows que podría haber permitido a los atacantes locales no autenticados elevar privilegios y ejecutar comandos arbitrarios con privilegios de SYSTEM.
De momento, no hay workarounds para solucionar esta vulnerabilidad de forma temporal y por eso Cisco parcheo este CVE en la versión 40.6.0 y posteriores. Se recomienda como siempre, actualizar y mantener al día todas las aplicaciones del sistema y el propio sistema operativo, y tener una solución antimalware al dia.
Además, ayer Cisco abordó dos fallas de seguridad adicionales de alta gravedad que afectan a la aplicación de escritorio Cisco Webex Meetings para Windows y macOS que podrían permitir a los atacantes no privilegiados ejecutar códigos y programas arbitrarios en dispositivos sin parches.
Vulnerabilidad CVE-2020-3347
De acuerdo a la información publicada por CISCO, el fallo se debe a un uso inseguro de la memoria compartida utilizada por el dispositivo comprometido. Un atacante con permisos para leer la memoria del sistema podría explotar la vulnerabilidad ejecutando una aplicación en local diseñada para llevar a cabo dicha lectura.
De ser exitosa la explotación de la vulnerabilidad, el atacante podría hacerse con información sensible almacenada en la memoria compartida, como por ejemplo nombres de usuarios, información sobre las reuniones, e incluso tokens de autenticación que permitirían al usuario malintencionado explotar nuevamente este fallo de manera más sencilla en un futuro.
Proceso de explotación de la vulnerabilidad
Durante el proceso de instalación de WebEx en el dispositivo se añade un Tray-App que se ejecuta una vez el usuario inicia sesión y a al mismo tiempo da comienzo un proceso dependiente. Si el usuario en cuestión tiene configurado el cliente para que se realice un inicio de sesión automático (funcionalidad habilitada por defecto), ocurre lo que se explicará a continuación.
El cliente tiene varios archivos de memoria (o secciones, según la terminología de Windows) abiertos y algunos de ellos no están protegidos frente a la posibilidad de que se abran para llevar a cabo su lectura o escritura por cualquier usuario de Windows. Más específicamente, hay una sección llamada \Sessions\BaseNamedObjects\WBXTRA_TRACE_FILE_EX que resulta de particular interés.
Un atacante podría abrir este archivo y volcar su contenido si contase con acceso directo al equipo afectado. El investigador afirma que este archivo siempre contiene información como la cuenta de correo utilizada para iniciar sesión, y la URL de las conferencias. Además, una vez se comienza una reunión, el archivo también almacenará un WebExAccessToken que permitiría al atacante hacerse pasar por el usuario y acceder a su cuenta de WebEx.
Para aprovechar el token obtenido, lo único que el atacante tendría que hacer sería usarlo en la petición POST mostrada a continuación:
curl -d @get_token.xml -O https://homeabc.my.webex.com/WBXService/XMLService
La información que encontraremos en el archivo XML es:
En respuesta a esto, el atacante recibirá un ticket que podrá utilizar para un único inicio de sesión:
Para, finalmente, hacerse con el control de la cuenta de la víctima, el atacante simplemente tendría que abrir la siguiente URL en un navegador web:
https://home-abc.my.webex.com//home-abc.my/mywebex/tool/frame/mywebexframe.php?MWAT=mw&strUserName=user%40host.name&TK=b30866fa388c26cf5efda0cd6dfee20b8a60163123bddcbfafb46c54700f2448&UTF8=1&SubMenu=PTPMR
El token que vemos en la URL procede de la petición SOAP que usa el WebAccessToken.
Usando toda esta información, el investigador fue capaz de acceder a su propia cuenta desde un equipo con una IP totalmente diferente.
La información a la que comprobó que tenía acceso era una lista de todas las reuniones a las que había asistido usando WebEx, así como las otras partes invitadas y las contraseñas (en caso de haber sido configuradas). Además, también podía descargar listados de anteriores reuniones.
Para más información sobre la explotación de esta vulnerabilidad, en la sección «Más información» de este post el lector encontrará un vídeo de la PoC realizada por el investigador.
Conclusión
A pesar de que no hay soluciones alternativas para esta vulnerabilidad, CISCO ha publicado actualizaciones de software que le pondrían solución. Según la compañía, la vulnerabilidad afecta a versiones anteriores a la 40.6.0.
Como siempre, se recomienda a los usuarios mantener no solo sus dispositivos actualizados, sino también las aplicaciones instaladas en los mismos, así como estar al tanto de posibles notas de prensa que informen sobre nuevas vulnerabilidades y fallos de seguridad de las aplicaciones que más utilizamos. En el caso de CISCO los usuarios pueden acceder a Cisco Security Advisories para mantenerse al día sobre las vulnerabilidades que se encuentran en los productos y servicios de la compañía.