¿Recuerda el ataque RDP inverso, en el que un sistema cliente vulnerable a una vulnerabilidad de recorrido transversal podría verse comprometido al acceder de forma remota a un servidor a través del Protocolo de escritorio remoto de Microsoft?
Aunque Microsoft había parcheado la vulnerabilidad (CVE-2019-0887) como parte de su actualización del martes de parches de julio de 2019, resulta que los investigadores pudieron evitar el parche simplemente reemplazando las barras diagonales en las rutas con barras diagonales.
Microsoft reconoció la corrección inadecuada y reparó la falla en su actualización del martes de parche de febrero de 2020 a principios de este año, ahora registrada 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 alternativa en Windows mientras dejaba la raíz del problema de derivación, una función de 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 tan infalible como 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 pasar por alto el parche de Microsoft, sino que puede pasar por alto 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 saben, los ataques transversales de la rutase produce cuando un programa que acepta un archivo como entrada no puede verificarlo, lo que permite a un atacante guardar el archivo en cualquier ubicación elegida en el sistema de destino y, por lo tanto, exponer el contenido de los archivos fuera del directorio raíz de la aplicación.
«Una computadora remota infectada con malware podría hacerse cargo 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ó 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:
Un defecto transversal del camino incorrectamente parcheado
Según los investigadores, el parche de julio se puede omitir debido a un problema que se encuentra en su función de canonicalización de ruta » PathCchCanonicalize » , que se utiliza para desinfectar rutas de archivos , lo que permite a un mal actor explotar la sincronización del portapapeles entre un cliente y un servidor para colocar archivos arbitrarios en rutas arbitrarias en la máquina cliente.
En otras palabras, cuando se usa la función de redireccionamiento 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 evitar simplemente reemplazando las barras diagonales hacia atrás (por ejemplo, archivo \ a \ ubicación) en las rutas con avance barras (por ejemplo, archivo / a / ubicación), que tradicionalmente actúan como separadores de ruta en 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 canonicalizar una ruta hostil, ignoró los caracteres de barra diagonal», dijo Itkin. «Verificamos este comportamiento mediante la ingeniería inversa de la implementación de Microsoft de la función, al ver que divide el camino a las partes buscando solo ‘\’ e ignorando ‘/».
La firma de seguridad cibernética dijo que encontró la falla al intentar 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 RDP de macOS en sí mismo no es vulnerable a CVE-2019-0887.
Con la vulnerabilidad principal aún sin rectificar, Check Point advirtió que las implicaciones de una simple derivación a una función de saneamiento de ruta central de Windows representan un grave riesgo para muchos otros productos de software que podrían verse afectados.
«Microsoft descuidó 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 sean conscientes de esta amenaza para que puedan revisar sus programas y aplicar manualmente un parche en su contra».
Fuente: thehackernews.com