Cómo fortiedr protege contra la explotación de Log4shell

Consulta técnica sobre FortiEDR

Descripción

Una vulnerabilidad crítica de ejecución remota de código en Apache Log4j se está explotando activamente en la naturaleza. Log4j es un marco de auditoría de registro basado en Java ampliamente utilizado dentro de Apache. La vulnerabilidad se debe a una validación y desinfección de entrada insuficientes, lo que permite que cualquier entrada de usuario que se registre conduzca a la ejecución remota de código. Esta vulnerabilidad también se conoce como Log4shell y se le ha asignado el número CVE (CVE-2021-44228). Este artículo analiza cómo FortiEDR protege contra la explotación posterior de Log4shell.

 

Log4j

Log4j es una herramienta para ayudar al programador a generar declaraciones de registro en una variedad de objetivos de salida. En caso de problemas con una aplicación, es útil habilitar el registro para localizar el problema. Con log4j, es posible habilitar el registro en tiempo de ejecución sin modificar el binario de la aplicación. El paquete log4j está diseñado para que las declaraciones de registro puedan permanecer en el código enviado sin incurrir en un costo de alto rendimiento. De ello se deduce que la velocidad de registro (o más bien no registro) es capital.

 

Al mismo tiempo, la salida del registro puede ser tan voluminosa que rápidamente se vuelve abrumadora. Una de las características distintivas de log4j es la noción de registradores jerárquicos. Al usar registradores, es posible controlar selectivamente qué declaraciones de registro se emiten con granularidad arbitraria.

 

CVE-2021-44228

Apache Log4j2 versiones 2.14.1 y anteriores Las características de Java Naming and Directory Interface (JNDI) utilizadas en la configuración, los mensajes de registro y los parámetros no protegen contra LDAP controlado por atacantes y otros puntos finales relacionados con JNDI. Existe una vulnerabilidad de ejecución remota de código donde los mensajes de registro controlados por atacantes o los parámetros de mensajes de registro pueden ejecutar código arbitrario cargado desde servidores LDAP cuando la sustitución de búsqueda de mensajes está habilitada.

Artículos relacionados  Cómo desinstalar con msiexec usando el guid de identificación del producto sin el archivo .msi presente fortiedr

 

Protección contra amenazas en tiempo real de FortiEDR

FortiEDR bloquea la actividad posterior a la explotación asociada con los adversarios que intentan utilizar esta vulnerabilidad para afianzarse en el entorno. Por ejemplo, en el siguiente evento, FortiEDR bloquea la carga útil de PowerShell entregada al explotar la vulnerabilidad de Log4shell.

 

 

 

Figura 1: FortiEDR bloqueó la carga útil de PowerShell al activar la regla de aplicación sospechosa

 

La solicitud de explotación se proporciona a continuación, en la que localhost:8080 es la aplicación web vulnerable y 192.168.230.134:1389 es un servidor LDAP malicioso que redirige los comandos a la aplicación vulnerable (localhost) y luego ejecuta los comandos de PowerShell codificados en base64 en el huésped vulnerable.

 

gthirugnanasa_1-1639426661710.jpeg

 

 

Figura 2: Solicitud de explotación enviada a un servidor vulnerable que ejecuta la biblioteca Log4j vulnerable

 

La regla de aplicación sospechosa de FortiEDR detectó y bloqueó el PowerShell al realizar una conexión de red.

 

Caza de amenazas

La detección de sistemas explotables es posible a través de la búsqueda de amenazas de FortiEDR al buscar la carga de versiones vulnerables de log4j.

 

 

Figura 3: Consulta de búsqueda de amenazas de FortiEDR para identificar versiones vulnerables de Log4j

 

En este caso, Apache Tomcat Server está cargando la biblioteca log4j vulnerable.

 

 

Figura 4: Apache Tomcat cargando Log4j versión 2.14.1

 

Consultas de búsqueda de amenazas

 

La función FortiEDR Threat Hunting puede recopilar metadatos relacionados con los eventos más importantes que ocurren en un punto final. Los eventos se dividen en cinco grupos principales: Proceso, Archivo, Red, Registro y Registro de eventos. Los eventos registrados en cada recopilador están determinados por la configuración de Threat Hunting, que se puede configurar fácilmente a través de la consola FortiEDR para cumplir con los requisitos de almacenamiento u optimizarse para maximizar las capacidades de detección de amenazas particulares de interés. 

Artículos relacionados  Vulnerabilidad Spring4Shell y fortiedr

 

Para garantizar que los eventos relacionados con el uso de log4shell en un entorno se detecten a través de las consultas de Threat Hunting actualmente disponibles incluidas en este artículo, se deben recopilar los siguientes eventos. Todos estos eventos se registran mediante el uso del perfil ‘Completo’ que se proporciona con todos los entornos FortiEDR OOTB. 

 

Grupo de eventos 

Tipo de evento 

Proceso 

Creación de procesos 

Proceso 

Biblioteca cargada 

Expediente 

Lectura de archivo 

La red 

Conexión de enchufe 

 

Estos eventos también se indican en la  siguiente figura que muestra el panel Configuración de Threat Hunting que se usa para configurar Threat Hunting a través de la consola de FortiEDR. 

 

 

Figura 5: Panel de configuración de Threat Hunting de FortiEDR v5

 

Las siguientes consultas ayudan a identificar posibles eventos anómalos asociados con esta explotación:

 

– Eventos de lectura de archivos.

Identifique la lectura de archivos de la carga de bibliotecas de bibliotecas log4j vulnerables. Tenga en cuenta que esto detecta software que carga bibliotecas log4j NO explotación. Los hits deberán verificarse en busca de una versión vulnerable:

 

 

(Type:"File Read" OR Type:"Library Loaded") AND Target.File.Name:("log4j*")

 

 

– Eventos de Creación de Procesos.

Identifique eventos de creación de procesos que contengan comandos curl y wget codificados en base64:

 

 

Type:"Process Creation" AND (Target.Process.CommandLine:"KGN1cmwgLXMgN" AND Target.Process.CommandLine:"58fHdnZXQgLXEgLU8")

 

 

Identifique eventos de creación de procesos que contengan comandos curl y wget utilizados en la carga útil base64 más común. Estos comandos están relacionados con los ataques a puntos finales de Linux:

 

 

Type:"Process Creation" AND (Target.Process.CommandLine:"curl -s " AND Target.Process.CommandLine:"wget -q -O")

 

 

– Eventos de conexión de socket.

Identifico conexiones de red a IPS defectuosos conocidos asociados con criptominería. (fuente:  https://gist.github.com/nathanqthai/01808c569903f41a52e7e7b575caa890  y  https://github.com/eromang/researches/tree/main/CVE-2021-44228):

 

 

Type:"Socket Connect" AND (RemoteIP:"45.155.205.233" OR RemoteIP:"93.189.42.8" OR RemoteIP:"80.71.158.12" OR RemoteIP:"80.71.158.44")

 

Artículos relacionados  Cómo los bloques de fortiedr intentan aprovechar la vulnerabilidad del editor de ecuaciones de Microsoft (CVE-2017-11882)

 

Identifique las conexiones de red a direcciones IP malas conocidas que alojan la puerta trasera de Muhstik/Tsunami. (fuente:  https://gist.github.com/yt0ng/8a87f4328c8c6cde327406ef11e68726):

 

 

Type:"Socket Connect" AND (RemoteIP:"18.228.7.109" OR RemoteIP:"45.130.229.168" OR RemoteIP:"210.141.105.67" OR RemoteIP:"159.89.182.117")

 

 

Identifique las conexiones de red a direcciones IP malas conocidas que se observaron dejando caer xmrig a través del exploit. (fuente:   https://gist.github.com/yt0ng/8a87f4328c8c6cde327406ef11e68726):

 

 

Type:"Socket Connect" AND (RemoteIP:"172.105.241.146" OR RemoteIP:"54.210.230.186")

 

 

Productos afectados

Apache Log4j2 versiones 2.14.1 y anteriores son susceptibles a una vulnerabilidad de ejecución remota de código donde un atacante remoto puede aprovechar esta vulnerabilidad para tomar el control total de una máquina vulnerable.

 

Mitigación

 

Mitigación de Log4j 1.x : Log4j 1.x no se ve afectado por esta vulnerabilidad.

Mitigación de Log4j 2.x : implemente una de las técnicas de mitigación a continuación.

  • Los usuarios de Java 8 (o posterior) deben actualizar a la versión 2.16.0.
  • Los usuarios que requieran Java 7 deben actualizar a la versión 2.12.2 cuando esté disponible (trabajo en progreso, se espera que esté disponible pronto).
  • De lo contrario, elimine la clase JndiLookup del classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

Tenga en cuenta que solo el archivo JAR log4j-core se ve afectado por esta vulnerabilidad. Las aplicaciones que utilizan solo el archivo JAR log4j-api sin el archivo JAR log4j-core no se ven afectadas por esta vulnerabilidad.

 

FortiGuard Labs recomienda a las organizaciones afectadas por CVE-2021-44228 que actualicen a la última versión de 2.16.0 o  2.12.2 . Para obtener más detalles, consulte » Vulnerabilidades de seguridad de Apache Log4j «.

¡Déjanos cualquier duda sobre FortiEDR aquí abajo!

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *