Logotipo de Zephyrnet

Parche ahora: error crítico de Fortinet RCE bajo ataque activo

Fecha:

Como se esperaba, Los ciberatacantes han atacado en una ejecución remota de código crítico (RCE) vulnerabilidad en Fortinet Enterprise Management Server (EMS) que fue parcheado la semana pasada, permitiéndoles ejecutar código y comandos arbitrarios con privilegios de administrador del sistema en los sistemas afectados.

La falla, rastreada como CVE-2024-48788 con una puntuación de gravedad de vulnerabilidad CVSS de 9.3 sobre 10, fue una de las tres que la Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) añadió el 25 de marzo a su Catálogo de vulnerabilidades explotadas conocidas, que realiza un seguimiento de las vulnerabilidades de seguridad bajo explotación activa. Fortinet, que advirtió a los usuarios sobre la falla Además de parchearlo a principios de este mes, también actualizó silenciosamente su asesoramiento de seguridad para observar su explotación.

Específicamente, la falla se encuentra en FortiClient EMS, la versión VM de la consola de administración central de FortiClient. Proviene de una error de inyección SQL en un componente de almacenamiento de conexión directa del servidor y es impulsado por las comunicaciones entre el servidor y los puntos finales conectados a él.

"Una neutralización inadecuada de elementos especiales utilizados en un comando SQL... vulnerabilidad [CWE-89] en FortiClientEMS puede permitir que un atacante no autenticado ejecute código o comandos no autorizados a través de solicitudes específicamente diseñadas", según el aviso de Fortinet.

Exploit de prueba de concepto para CVE-2024-48788

La explotación actual de la falla sigue al lanzamiento la semana pasada de un prueba de concepto (PoC) código de explotación, así como un análisis por investigadores de Horizon.ai detallando cómo se puede explotar la falla.

Los investigadores de Horizon.ai descubrieron que la falla radica en cómo el servicio principal del servidor responsable de comunicarse con los clientes finales inscritos, FcmDaemon.exe, interactúa con esos clientes. De forma predeterminada, el servicio escucha en el puerto 8013 las conexiones entrantes de los clientes, que los investigadores utilizaron para desarrollar el PoC.

Otros componentes del servidor que interactúan con este servicio son un servidor de acceso a datos, FCTDas.exe, que es responsable de traducir las solicitudes de varios otros componentes del servidor en solicitudes SQL para luego interactuar con la base de datos de Microsoft SQL Server.

Explotando la falla de Fortinet

Para explotar la falla, los investigadores de Horizon.ai primero establecieron cómo deberían ser las comunicaciones típicas entre un cliente y el servicio FcmDaemon configurando un instalador e implementando un cliente de punto final básico.

"Descubrimos que las comunicaciones normales entre un cliente de punto final y FcmDaemon.exe están cifradas con TLS, y no parecía haber una manera fácil de volcar las claves de sesión TLS para descifrar el tráfico legítimo", explicó el desarrollador del exploit Horizon.ai, James Horseman. en el post.

Luego, el equipo obtuvo detalles del registro del servicio sobre las comunicaciones, lo que proporcionó a los investigadores suficiente información para escribir un script de Python para comunicarse con FcmDaemon. Después de algunas pruebas y errores, el equipo pudo examinar el formato del mensaje y permitir una “comunicación significativa” con el servicio FcmDaemon para desencadenar una inyección SQL, escribió Horseman.

“Construimos una carga útil de sueño simple de la forma 'Y 1=0; WAITFOR DELAY '00:00:10′ — '”, explicó en la publicación. "Nos dimos cuenta del retraso de 10 segundos en la respuesta y supimos que habíamos activado el exploit".

Para convertir esta vulnerabilidad de inyección SQL en un ataque RCE, los investigadores utilizaron la funcionalidad xp_cmdshell incorporada de Microsoft SQL Server para crear el PoC, según Horseman. “Inicialmente, la base de datos no estaba configurada para ejecutar el comando xp_cmdshell; sin embargo, se habilitó trivialmente con algunas otras declaraciones SQL”, escribió.

Es importante tener en cuenta que la prueba de concepto solo confirma la vulnerabilidad mediante una inyección SQL simple sin xp_cmdshell; Para que un atacante habilite RCE, el PoC debe modificarse, añadió Horseman.

Los ciberataques aumentan en Fortinet; Parchear ahora

Los errores de Fortinet son objetivos populares para los atacantes, como Chris Boyd, ingeniero de investigación de la empresa de seguridad Tenable advirtió en su aviso sobre la falla publicada originalmente el 14 de marzo. Citó como ejemplos varias otras fallas de Fortinet, como CVE-2023-27997, una vulnerabilidad crítica de desbordamiento de buffer basada en montón en múltiples productos Fortinet, y CVE-2022-40684, una falla de omisión de autenticación en las tecnologías FortiOS, FortiProxy y FortiSwitch Manager, que fueron explotado por actores de amenazas. De hecho, este último error incluso se vendió con el fin de dar a los atacantes acceso inicial a los sistemas.

“A medida que se lanzó el código de explotación y con el abuso pasado de las fallas de Fortinet por parte de actores de amenazas, incluidos Actores de amenazas persistentes avanzadas (APT) y grupos de estados-nación, recomendamos encarecidamente remediar esta vulnerabilidad lo antes posible”, escribió Boyd en una actualización de su aviso después del lanzamiento de Horizon.ai.

Fortinet y CISA también instan a los clientes que no aprovecharon la ventana de oportunidad entre el aviso inicial y el lanzamiento del exploit PoC a servidores de parches vulnerable a este último defecto inmediatamente.

Para ayudar a las organizaciones a identificar si la falla está bajo explotación, Horseman de Horizon.ai explicó cómo identificar indicadores de compromiso (IoC) en un entorno. "Hay varios archivos de registro en C: Archivos de programa (x86) FortinetFortiClientEMSlogs que pueden examinarse en busca de conexiones de clientes no reconocidos u otra actividad maliciosa", escribió. "Los registros de MS SQL también se pueden examinar en busca de evidencia de que xp_cmdshell se está utilizando para obtener la ejecución del comando".

punto_img

Información más reciente

punto_img