El parche inadecuado de Microsoft para los ataques RDP inversos deja vulnerables a los clientes RDP de terceros

Ataques RDP inversos

¿Recuerda el ataque RDP inverso, en el que un sistema cliente vulnerable a una vulnerabilidad de cruce de ruta podría verse comprometido al acceder de forma remota a un servidor a través del protocolo de escritorio remoto de Microsoft?

Aunque Microsoft parchó la vulnerabilidad (CVE-2019-0887) como parte de su actualización del martes de parches de julio de 2019, resulta que los investigadores pudieron omitir el parche simplemente reemplazando las barras inclinadas hacia atrás en las rutas con barras inclinadas hacia adelante.

Microsoft reconoció la solución incorrecta y volvió a corregir la falla en su actualización del martes de parches de febrero de 2020 a principios de este año, ahora rastreada como CVE-2020-0655.

En el último informe compartido con The Hacker News, el investigador de Check Point reveló que Microsoft abordó el problema agregando una solución separada en Windows y dejando la raíz del problema de derivación, una función API «PathCchCanonicalize», sin cambios.

Aparentemente, la solución funciona bien para el cliente RDP incorporado en los sistemas operativos Windows, pero el parche no es lo suficientemente infalible para proteger a otros clientes RDP de terceros contra el mismo ataque que se basa en la función de desinfección vulnerable desarrollada por Microsoft.

«Descubrimos que un atacante no solo puede eludir el parche de Microsoft, sino que también puede eludir cualquier verificación de canonicalización que se haya realizado de acuerdo con las mejores prácticas de Microsoft», dijo el investigador de Check Point, Eyal Itkin, en un informe compartido con The Hacker News.

Para aquellos que no lo saben, los ataques de cruce de ruta ocurren cuando un programa que acepta un archivo como entrada no puede verificarlo, lo que permite que un atacante guarde el archivo en cualquier ubicación elegida en el sistema de destino y, por lo tanto, expone el contenido de los archivos fuera del directorio raíz. de la aplicación.

«Una computadora remota infectada con malware podría apoderarse de cualquier cliente que intente conectarse a ella. Por ejemplo, si un miembro del personal de TI intentara conectarse a una computadora corporativa remota que estaba infectada por malware, el malware podría atacar la TI». la computadora del miembro del personal también», describieron los investigadores.

La falla salió a la luz el año pasado, y una investigación posterior en agosto descubrió que también afectó a la plataforma de virtualización de hardware Hyper-V de Microsoft.

Aquí hay un video de demostración sobre la vulnerabilidad original del año pasado:

Una falla transversal de ruta parcheada incorrectamente

Según los investigadores, el parche de julio se puede omitir debido a un problema que radica en su función de canonicalización de rutas «PathCchCanonicalize», que se utiliza para desinfectar las rutas de los archivos, lo que permite que un mal actor explote la sincronización del portapapeles entre un cliente y un servidor para suelte archivos arbitrarios en rutas arbitrarias en la máquina cliente.

En otras palabras, al usar la función de redirección del portapapeles mientras está conectado a un servidor RDP comprometido, el servidor puede usar el portapapeles RDP compartido para enviar archivos a la computadora del cliente y lograr la ejecución remota de código.

Aunque los investigadores de Check Point confirmaron originalmente que «la solución coincide con nuestras expectativas iniciales», parece que hay más de lo que parece: el parche se puede omitir simplemente reemplazando las barras inclinadas hacia atrás (por ejemplo, archivo a ubicación) en las rutas con hacia adelante barras inclinadas (por ejemplo, archivo / a / ubicación), que tradicionalmente actúan como separadores de ruta en los sistemas basados ​​en Unix.

«Parece que PathCchCanonicalize, la función que se menciona en la guía de mejores prácticas de Windows sobre cómo canonizar una ruta hostil, ignoró los caracteres de barra diagonal», dijo Itkin. «Verificamos este comportamiento mediante la ingeniería inversa de la implementación de la función de Microsoft, al ver que divide la ruta en partes buscando solo » e ignorando ‘/'».

Ataque RDP inverso

La firma de ciberseguridad dijo que encontró la falla al tratar de examinar el cliente de escritorio remoto de Microsoft para Mac, un cliente RDP que quedó fuera de su análisis inicial el año pasado. Curiosamente, el cliente macOS RDP en sí mismo no es vulnerable a CVE-2019-0887.

Dado que la vulnerabilidad principal aún no se ha rectificado, Check Point advirtió que las implicaciones de un simple desvío de una función de saneamiento de ruta central de Windows representan un riesgo grave para muchos otros productos de software que podrían verse afectados.

«Microsoft se olvidó de corregir la vulnerabilidad en su API oficial, por lo que todos los programas que se escribieron de acuerdo con las mejores prácticas de Microsoft seguirán siendo vulnerables a un ataque Path-Traversal», dijo Omri Herscovici de Check Point. «Queremos que los desarrolladores estén al tanto de esta amenaza para que puedan revisar sus programas y aplicar manualmente un parche contra ella».

Continua leyendo