FortiClient escribe un archivo arbitrario como SISTEMA

Forticlient es el cliente VPN de nivel de entrada de Fortinet que ofrece conectividad VPN SSL VPN e IPSecVPN. También contiene funciones de utilidad que le permiten importar y exportar configuraciones y perfiles de VPN.


Producto afectado


Proveedor: Fortinet

Aviso: https://www.fortiguard.com/psirt/FG-IR-22-044

Producto: VPN FortiClientWindows


Versiones vulnerables: 6.0.0 a 6.0.10

  • 6.2.0 a 6.2.9

  • 6.4.0 a 6.4.7

  • 7.0.0 a 7.0.3


Versiones parcheadas: 7.0.4 o superior

  • 6.4.8 o superior


Plataformas vulnerables confirmadas: Windows

  • Introducción a CVE-2022-26113


Esta publicación cubre una escritura de archivo arbitraria como SISTEMA en el cliente VPN de Fortinet FortiClient.


Este problema utiliza una función de copia de seguridad de la configuración de FortiClient con privilegios excesivos de escritura de archivos.


Descripción general de FortiClient VPN


FortiClient VPN permite a los usuarios regulares de VPN Client hacer una copia de seguridad de su configuración de VPN. El archivo de copia de seguridad lo escribe el servicio de programación de FortiClient que se ejecuta como SYSTEM, que llama a FCConfig.exe en el archivo de copia de seguridad especificado.


Dado que la ruta del archivo utilizada para realizar la copia de seguridad solo se valida en la interfaz de usuario de la aplicación, es posible omitir cualquier verificación de permisos y obligar al servicio a escribir en una ubicación arbitraria, incluso si el usuario no tiene permiso. para hacerlo. .


El usuario puede controlar el contenido parcial de la copia de seguridad de la configuración, lo que significa que, como mínimo, puede escribir un script .bat en el directorio de inicio de un administrador como método de escalada de privilegios.


Impacto de vulnerabilidad


Esta vulnerabilidad permite que se escriba un archivo arbitrario en cualquier parte del sistema mientras se controla parte del contenido. Esto puede conducir a una escalada de privilegios de varias maneras, la más común es escribir un script en la carpeta de inicio de un usuario privilegiado y luego esperar a que ese usuario inicie sesión en el sistema.


Detalles técnicos


FortiClient es una aplicación de Electron que interactúa con varios servicios que se ejecutan en segundo plano. Un usuario normal puede iniciar e interactuar con la interfaz de usuario de FortiClient Electron.


Es posible iniciar la aplicación FortiClient con la depuración de Electron habilitada y adjuntarla a un depurador con Chrome.


C:\Archivos de programa\Fortinet\FortiClient\FortiClient.exe --remote-debugging-port=9222

Ahora, abrir Chrome con chrome://inspect le permitirá conectarse al proceso de FortiClient.


Imagen de Rhino Security Labs.
Imagen de Rhino Security Labs.

Aquí puede ver la función de copia de seguridad dentro de la interfaz de usuario de FortiClient. La interfaz de usuario le permite elegir un archivo de copia de seguridad y verifica que el usuario actual tenga permiso para escribir en ese archivo antes de permitir que se seleccione. A continuación, la selección se desactiva para la edición.


Dado que se está depurando la interfaz de usuario, obviamente se puede modificar cualquier cosa en la interfaz de usuario. Para demostrar esto, se puede usar la consola de JavaScript para establecer la propiedad deshabilitada del elemento en falso.


Imagen de Rhino Security Labs.

Ahora la ruta del archivo para el archivo de copia de seguridad se puede modificar a cualquier cosa.


Imagen de Rhino Security Labs.

Hay varias formas de evitar esto usando el depurador. Después de investigar un poco, se encntró la función para llamar directamente al servicio de copia de seguridad de la configuración, que permite llamar a la función desde la consola de JavaScript, especificando una ruta arbitraria.


require('../app.asar.unpacked/assets/js/guimessenger64.node').BackupConfig("c:\\poc.txt","aaaaaaaaa",true)
Imagen de Rhino Security Labs.

Conclusión


Aunque FortiClient no está implementado de la misma manera que los otros dos clientes VPN como un envoltorio alrededor de OpenVPN, aún era posible encontrar una manera de abusar de los servicios privilegiados con los que interactúa la interfaz de usuario del cliente para escribir archivos arbitrarios como SYSTEM.


Cronograma de divulgación


  • 23/2/2022 - Problema informado a Fortinet

  • 24/02/2022 - Informe reconocido por Fortinet

  • 13/04/2022 - Rhino solicita actualización sobre el progreso

  • 14/04/2022 - Problema de actualizaciones de Fortinet solucionado y CVE asignado, en espera de lanzamiento

  • 06/06/2022 - Fortinet solicita información para asesoría

  • 8/6/2022 - Fortinet informa a Rhino que el problema se solucionó y se liberó.


Autores de descubrimiento


Rhino Security Labs en colaboración con Fortinet.




Referencias y Créditos:

https://rhinosecuritylabs.com/research/cve-2022-26113-forticlient-arbitrary-file-write-as-system/

4 visualizaciones0 comentarios

Entradas Recientes

Ver todo