Vulnerabilidad crítica en versiones de Log4j permite la explotación de RCE

13 Diciembre 2021
Crítico

Apache Software Foundation ha publicado soluciones para contener una vulnerabilidad de día cero explotada activamente que afecta a la biblioteca de registro de Apache Log4j, que podría utilizarse como arma para ejecutar código malicioso y permitir una toma de control completa de los sistemas vulnerables. Diferentes proveedores de seguridad, han emitido avisos que anuncian el estudio de las implicancias en sus productos.

CVE-2021–44228 CVSS v3 10.0 Ejecución remota de código (RCE)

La vulnerabilidad, que se ha denominado Log4shell, está asociada con CVE-2021–44228 y se publicó junto con una prueba de concepto (PoC) del exploit en GitHub.

CVE-2021-44228 es una vulnerabilidad clasificada con el puntaje de gravedad más alto y permite a un atacante ejecutar código arbitrario inyectando datos controlados por el atacante en un mensaje registrado. El problema se refiere a un caso de ejecución de código remoto no autenticado (RCE) en cualquier aplicación que use la librería de código abierto en sus versiones Log4j 2.0-beta9 hasta 2.14.1, inclusive.

La vulnerabilidad está presente en la funcionalidad de búsqueda JNDI (Java Naming and Directory Interface). JNDI es una API que proporciona a las aplicaciones Java la funcionalidad de búsqueda de nombres y directorios. La biblioteca log4j admite JNDI a través de LDAP y RMI.

Cuando se solicita generar logs de registro y recibir una referencia JNDI, la biblioteca log4j buscará y cargará el recurso al que apunta la referencia. Este proceso puede incluso hacer que la aplicación cargue una clase y ejecute su código, un recurso que dejó espacio para la vulnerabilidad.

Prueba de concepto (PoC)

Hay que considerar dos características que transforman en crítica la explotación de esta vulnerabilidad: 

  • La biblioteca log4j es utilizada por prácticamente todas las aplicaciones Java.
  • Esta PoC es altamente sencilla de realizar.

La siguiente es una exploración paso a paso:

  • El atacante envía una solicitud a la aplicación que incluye una referencia JNDI que apunta a un servidor que controla.
  • La aplicación se registra a través de la biblioteca log4j que contiene la referencia JNDI maliciosa.
  • El servidor que ejecuta la aplicación Java realiza un acceso remoto a la dirección proporcionada por el atacante a través de JNDI.
  • En respuesta, la aplicación log4j recibe una clase Java cuyo contenido es el comando malicioso que se ejecutará en el servidor de la aplicación.

Mitigación

Dada la facilidad de explotación se debe actualizar la biblioteca log4j a la nueva versión (2.15.0) que soluciona el problema. Para mayores detalles, referirse a la información oficial:

Si no es posible actualizar la biblioteca de inmediato, existen algunas medidas de mitigación:

  • Si está utilizando la versión 2.10.0, la mitigación se puede realizar estableciendo la variable formatMsgNoLookups en true para evitar que la biblioteca realice resoluciones JNDI.
  • Para versiones anteriores, deberá modificar los valores predeterminados de registro como se especifica en este documento: https://issues.apache.org/jira/browse/LOG4J2-2109

Junto con esto recordar que como el exploit requiere que el servidor afectado acceda y cargue contenido externo (Internet), es importante que el tráfico saliente (que se origina en el servidor) esté bloqueado o restringido solo a destinos confiables. Esta es una recomendación importante para mitigar éste y otros exploits.

Comandos para detección de explotación

También es posible detectar la explotación de esta vulnerabilidad a través de los siguientes comandos:

Grep/Zgrep

  • Comando para archivos no comprimidos.
    • [sudo egrep -I -i -r ' \ $ (\ {|% 7B) jndi: (ldap [s]? | rmi | dns | nis | iiop | corba | nds | http): / [^ \ n] + ' / var / log
  • Este comando permite la detección, a través de la búsqueda de intentos de explotación en archivos ubicados en la carpeta /var/log y en sus subcarpetas.
  • Comando para archivos comprimidos.
    • sudo find / var / log -name \ * .gz -print0 | xargs -0 zgrep -E -i ' \ $ (\ {|% 7B) jndi: (ldap [s]? | rmi | dns | nis | iiop | corba | nds | http): / [^ \ n] + '
  • Este comando permite la detección de la explotación de esta vulnerabilidad, en archivos ubicados en la carpeta /var/log y en sus subcarpetas.

Grep/Zgrep en variantes ofuscadas

  • Estos comandos buscan la explotación de la vulnerabilidad en variantes ofuscadas, en la carpeta /var/log y sus subcarpetas
  • Comando para archivos no comprimidos.
    • sudo find / var / log / -type f -exec sh -c " cat {} | sed -e 's / \ $ {lower: //' g | tr -d '}' | egrep -I -i 'jndi : (ldap [s]? | rmi | dns | nis | iiop | corba | nds | http): ' "  \;
  • Comando para archivos comprimidos.
    • sudo find / var / log / -name ' * .gz ' -type f -exec sh -c " zcat {} | sed -e 's / \ $ {lower: //' g | tr -d '}' | egrep -i 'jndi: (ldap [s]? | rmi | dns | nis | iiop | corba | nds | http):' "  \;

Reglas YARA

Las siguientes reglas fueron compartidas en la comunidad de Github por el usuario Neo23x0, las cuales buscan detectar la explotación de esta vulnerabilidad.

https://github.com/Neo23x0/signature-base/blob/master/yara/expl_log4j_cve_2021_44228.yar

Amenazas evidenciadas

Debido a la alta criticidad del presente CVE, se ha evidenciado que múltiples ciberactores se están centrando rápidamente en explotar dicha vulnerabilidad antes que la mayoría de los usuarios lleven a cabo el parchado.

Entre los ataques evidenciados ha tomado gran relevancia la propagación de botnets con despliegue de criptomineros sin embargo no representa la única amenaza ya que actores de diferentes envergadura pueden aprovechar la oportunidad para el desarrollo de sus operaciones como lo es el hacktivismo o espionaje industrial, entre otros.

Dentro de las amenazas identificadas se encuentran 

  • Kinsing: Escrito en Golang,  es un malware que despliega criptomineros vinculados a la familia H2miner, utilizado principalmente en entornos de contenedores (Dockers).
  • Mirai : (https://portal.cci-entel.cl/Threat_Intelligence/Boletines/709) : Botnet destinada a infectar los equipos conformantes del IoT.​ El objetivo principal de este malware es la infección de routers y cámaras IP, usando estos para realizar ataques de tipo DDoS
  • Muhstik: Botnet que lleva a cabo ataques DDoS y Cryptojacking explotando principalmente Oracle WebLogic Server (CVE-2019-2725), Drupal (CVE-2018-7600) y Atlassian Confluence (CVE-2021-26084)
  • XMRig: (https://portal.cci-entel.cl/Threat_Intelligence/Boletines/1036) Uno de los criptominers más evidenciados en LATAM durante el último trimestre, pese a que es un programa legítimo de criptomineria y conocido por su rendimiento, también es ampliamente utilizado en versiones troyanizadas.

Respuesta de importantes proveedores de seguridad contra la vulnerabilidad de ejecución remota de código Apache Log4j (CVE-2021-44228)

Es importante tener en cuenta que las aplicaciones y productos de terceros también pueden haberse visto afectados por esta vulnerabilidad y que la corrección puede depender de la disponibilidad de nuevas versiones de productos. Para esto diferentes Vendors han emitido diferentes avisos informando que se encuentran en proceso de investigación del problema para sus productos.

F5 : K19026212: Apache Log4j2 Remote Code Execution vulnerability CVE-2021-44228

  • ** La confirmación de vulnerabilidad o no vulnerabilidad no está disponible actualmente. F5 todavía está investigando el problema de los productos indicados y actualizará este artículo con la información más actual tan pronto como se haya confirmado. F5 Support no tiene información adicional sobre este problema.
  • https://support.f5.com/csp/article/K19026212

VMware: VMSA-2021-0028.1 VMware Response to Apache Log4j Remote Code Execution Vulnerability (CVE-2021-44228)

Citrix: Citrix Security Advisory for Apache

  • En respuesta, Citrix movilizó inmediatamente a sus organizaciones de seguridad e ingeniería para investigar el problema y determinar cualquier impacto en los productos Citrix
  • https://support.citrix.com/article/CTX335705

Cisco: Vulnerability in Apache Log4j Library Affecting Cisco Products: December 2021

  • Cisco está investigando su línea de productos para determinar qué productos pueden verse afectados por esta vulnerabilidad. A medida que avanza la investigación, Cisco actualizará este aviso con información sobre los productos afectados.
    • Productos bajo investigación:
      • Network Application, Service, and Acceleration
      • Network and Content Security Devices
      • Network Management and Provisioning
      • Routing and Switching - Enterprise and Service Provider
      • Voice and Unified Communications Devices
      • Cisco Cloud Hosted Services
  • https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-log4j-qRuKNEbd

Palo Alto: Informativo: Impacto de la vulnerabilidad de Log4j CVE-2021-44228

  • El equipo de garantía de seguridad de productos de Palo Alto Networks está evaluando la vulnerabilidad de ejecución remota de código (RCE) de la biblioteca Java Log4j CVE-2021-44228 conocida como Log4Shell. Este es un incidente de seguridad del producto en desarrollo y el estado del producto puede cambiar a medida que se dispone de más información.
  • https://security.paloaltonetworks.com/CVE-2021-44228

Forti: Sustitución de mensajes de registro de Apache log4j2 (CVE-2021-44228)

  • Los siguientes productos se ven afectados y se están trabajando en soluciones. Este aviso se actualizará tan pronto como los ETA a estén disponibles:
    • FortiAIOps
    • FortiCASB
    • FortiConverter Portal
    • FortiEDR Portal - Próxima corrección (ETA: 2021-12-18)
    • FortiMonitor
    • FortiPortal 
    • FortiNAC
    • FortiPolicy
    • FortiSIEM
    • FortiSOAR
    • ShieldX
    • FortiEDR Cloud - Corregido el 2021-12-12
  • https://www.fortiguard.com/psirt/FG-IR-21-245

Se recomienda lo siguiente:

  • Instalar las actualizaciones del fabricante disponibles en medios oficiales del proveedor, previo análisis del impacto que podría provocar en los servicios críticos para el negocio de su organización. Para ello consulte con su personal técnico o áreas resolutorias correspondientes.

El listado de las CVE se adjunta a continuación:


Tags: #Apache #Parche #Log4j #Día cero #explotación #biblioteca #Log4shell #CVE-2021-44228
  • Productos Afectados
  • Producto Versión
    Apache Log4j2 anteriores a 2.15.0


© 2019 Entel CyberSecure
Protege tus activos críticos, datos e infraestructura TI y minimiza tus riesgos de fuga de información,
fraude electrónico, espionaje industrial, suplantación de identidades y amenazas Zero Day, con las soluciones y servicios del Centro de Ciberinteligencia de Entel.