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.
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.
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.
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")
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
Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!