¿Qué es la vulnerabilidad Log4j?

19 de junio de 2023

¿Qué es la vulnerabilidad Log4j?

La vulnerabilidad Log4j, también conocida como Log4Shell, es una vulnerabilidad crítica descubierta en la biblioteca de registro Apache Log4j en noviembre de 2021. Log4Shell otorga a los hackers un control total de los dispositivos que ejecutan versiones sin parches de Log4j.

Los actores maliciosos pueden usar la falla Log4j para ejecutar casi cualquier código que deseen en sistemas vulnerables.

Los investigadores consideran que Log4Shell es una vulnerabilidad de seguridad "catastrófica" porque está tan extendida y Log4J es uno de los programas de código abierto más desplegados en el mundo, y es muy fácil de usar. Jen Easterly, directora de la Cybersecurity and Infrastructure Security Agency (CISA), la calificó como una de las más serias que ha visto en toda su carrera, si no es que la más seria.

Log4Shell impulsó una oleada de ataques cibernéticos en diciembre de 2021. El X-Force Threat Intelligence Index de IBM registró un incremento de 34 % en la explotación de vulnerabilidades entre 2020 y 2021, atribuido principalmente a Log4Shell.

Log4Shell recibió un parche poco después del descubrimiento, pero representará un riesgo durante años, porque Log4J está profundamente integrado en la cadena de suministro de software. El Departamento de Seguridad Nacional de Estados Unidos calcula que se tarda al menos una década en encontrar y reparar cada caso vulnerable.

Hombre mirando una computadora

Fortalezca su inteligencia de seguridad 


Adelántese cada semana a las amenazas con novedades e información sobre seguridad, IA y más con el boletín Think. 


¿Qué es Log4J?

Log4j es un marco de registro desarrollado por Apache Software Foundation. Como su nombre indica, Log4J es un registrador. Registra información importante, como mensajes de error y entradas de usuario en un programa.

Log4J es una biblioteca de software de código abierto, un paquete de código preescrito que los desarrolladores pueden usar libremente. En lugar de escribir sus propios registradores, los desarrolladores pueden conectar la biblioteca Log4J a sus aplicaciones. Esta practicidad es la razón por la que Log4J está tan extendido e integrado en productos de grandes organizaciones, como Microsoft y Amazon, por nombrar algunas.

Mixture of Experts | 25 de abril, episodio 52

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Cómo los hackers usan Log4Shell

Log4Shell, identificador común de vulnerabilidad y exposición (CVE), CVE-2021-44228, es una vulnerabilidad de ejecución remota de código (RCE) presente en algunas versiones de Log4J. La falla afecta a Apache Log4J 2, versiones 2.14.1 y anteriores. Log4J 2.15 y posteriores, y todas las versiones de Apache Log4J 1, no se ven afectadas.

Log4Shell surge de la forma en que las versiones anteriores de Log4J 2 manejan búsquedas de denominación Java e interfaz de directorio (JNDI). JNDI es una interfaz de programación de aplicaciones (API) que las aplicaciones Java utilizan para acceder a los recursos alojados en servidores externos. Una búsqueda JNDI es un comando que indica a la aplicación que vaya a un servidor y descargue un objeto específico, como una pieza de datos o un script. Las versiones anteriores de Log4J 2 ejecutan automáticamente cualquier código descargado de esta manera.

Los usuarios pueden enviar búsquedas JNDI a versiones vulnerables de Log4J incluyéndolas en los mensajes de registro. Hacerlo es sencillo. Por ejemplo, en versiones anteriores de Minecraft Java Edition, que utilizan Log4J para grabar mensajes de usuario, un usuario puede escribir la búsqueda JNDI en la ventana de chat público.

Los hackers pueden usar esta funcionalidad JNDI para ejecutar código malicioso y arbitrario de forma remota. Primero, el hacker configura un servidor que utiliza un protocolo común, como el Protocolo Ligero de Acceso a Directorios (LDAP) para evitar llamar la atención. A continuación, almacenan una carga útil maliciosa en ese servidor, como un archivo malware. Finalmente, envían una búsqueda JNDI a un programa, diciéndole que vaya al servidor LDAP del atacante, descargue la carga útil y ejecute el código.

El impacto de Log4Shell

Los investigadores de seguridad del gigante tecnológico Alibaba descubrieron Log4Shell el 24 de noviembre de 2021. Obtuvo inmediatamente la puntuación más alta posible del Sistema de puntuación de vulnerabilidad común (CVSS): 10 de 10. Algunos factores contribuyeron a esta calificación.

  • Log4Shell era una vulnerabilidad de día cero, lo que significa que no había ningún parche disponible cuando se descubrió. Los actores de amenazas podrían usar Log4Shell mientras Apache estaba trabajando en una solución.

  • Log4J es también una de las bibliotecas de registro más utilizadas e integrada en endpoints de consumo, aplicaciones web y servicios empresariales en la nube. Según Wiz y EY, el 93 % de todos los entornos de nube estaban en riesgo cuando se descubrió Log4Shell.

  • Las empresas no siempre pueden decir de inmediato si son vulnerables. Log4J suele estar presente en las redes como una dependencia indirecta, lo que significa que los activos de la compañía podrían no usar Log4J, pero dependen de otras aplicaciones y servicios que sí lo hacen.

  • Por último, Log4Shell es muy fácil de usar. Los hackers no necesitan permisos especiales ni autenticación. Pueden causar estragos escribiendo comandos maliciosos en formularios públicos, como cuadros de chat y páginas de inicio de sesión. Y como Log4J puede comunicarse con otros servicios en el mismo sistema, los hackers pueden usar Log4J para pasar cargas útiles a otras partes del sistema.

Para el 9 de diciembre de 2021, el código de prueba de concepto sobre cómo usar Log4Shell se publicó en GitHub, y los hackers estaban montando ataques. Se expusieron importantes empresas y servicios, como Minecraft, Twitter y Cisco. En el pico de actividad de Log4Shell, Check Point observó más de 100 ataques por minuto, que afectaron a más del 40 % de todas las redes empresariales a nivel mundial.

Los primeros ataques difunden malware de botnet y criptominado. Algunos hackers utilizaron la falla para lanzar ataques sin archivos, enviando scripts maliciosos a Windows y Linux para que divulgaran contraseñas y otra información confidencial.

Múltiples bandas de ransomware se apoderaron de Log4Shell. En particular, los hackers propagan la cepa de ransomware Khonsari a través de Minecraft. El ransomware Night Sky se dirigió a sistemas que ejecutan VMware Horizon.

Incluso los actores del estado nación se unieron. Se observó que los hackers asociados con China, Irán, Corea del Norte y Turkiye utilizaban la vulnerabilidad.

Respuesta a Log4Shell

Apache implementó el primer parche (Log4J versión 2.15.0) el 10 de diciembre de 2021. Sin embargo, ese parche dejó a la vista otra vulnerabilidad, CVE-2021-45046, que permitía a los piratas informáticos enviar comandos maliciosos a registros con ciertas configuraciones no predeterminadas.

Apache lanzó un segundo parche (Log4J versión 2.16.0) el 14 de diciembre de 2021. También tenía un fallo -CVE-2021-45105- que permitía a los hackers iniciar ataques de denegación del servicio (DoS).

El tercer parche, Log4J versión 2.17, solucionó la falla DoS pero dejó una última vulnerabilidad, CVE-2021-44832, que permitió a los piratas informáticos tomar el control de un componente de Log4J llamado "appender" para ejecutar código remoto. Apache abordó esto con un cuarto y último parche, Log4J versión 2.17.1.

La persistencia de Log4Shell

Si bien Log4J 2.17.1 cerró Log4Shell y todas sus vulnerabilidades relacionadas por parte de Apache, las ciberamenazas aún utilizan la falla. Recientemente, en mayo de 2023, Log4Shell seguía siendo una de las vulnerabilidades más utilizadas.

Log4Shell persiste por varias razones.

La primera es que Log4J está profundamente arraigado en las cadenas de suministro de software de muchas empresas. Hoy en día, muchas aplicaciones se crean ensamblando bibliotecas de software de código abierto preexistentes. Este proceso es conveniente, pero también significa que las organizaciones tienen visibilidad limitada de todos los componentes de sus aplicaciones. Las versiones antiguas de Log4J pueden pasarse por alto fácilmente.

Cuando se aplica un parche a una versión vulnerable de Log4J, no siempre permanece así. En noviembre de 2022, Tenable informó de que el 29 % de los activos aún vulnerables a Log4Shell eran "recurrentes". Aunque se aplicaron parches, la falla reapareció. Este escenario ocurre porque cuando las personas construyen o actualizan aplicaciones, a veces usan accidentalmente bibliotecas de software que aún contienen versiones sin parches de Log4J.

Finalmente, los hackers desarrollaron una forma inteligente de cubrir sus huellas. Según CISA, algunos hackers emplean Log4Shell para entrar en una red, y luego parchean el activo. La empresa cree que es seguro, pero los hackers ya están "dentro".

Mitigación y corrección

Las últimas versiones de Log4J están libres de Log4Shell. Los expertos en ciberseguridad recomiendan que los equipos de seguridad se centren en garantizar que todas las instancias de Log4J en sus sistemas estén actualizadas.

Actualizar Log4J puede ser un proceso lento, ya que las empresas a menudo necesitan profundizar en sus activos para encontrarlo. Mientras tanto, los equipos de seguridad pueden utilizar herramientas continuas de análisis de vulnerabilidades y detección de amenazas, como gestión de superficies de ataque (ASM) y plataformas de detección y respuesta de endpoints (EDR) para monitorear los activos orientados a Internet. Los expertos recomiendan que los equipos de respuesta ante incidentes investiguen a fondo cualquier pista de actividad de Log4Shell.

Después de que Log4Shell se hiciera público, muchos firewall, sistemas de detección de intrusiones(IDS ) y sistemas de prevención de intrusiones (IPS) agregaron reglas para detectar la explotación de Log4Shell. Estas herramientas pueden ayudar a los equipos de seguridad a detectar y bloquear el tráfico procedente de servidores controlados por atacantes.

Una cronología de Log4Shell

  • 18 de julio de 2013: Apache lanza Log4J 2.0-beta9, la primera versión compatible con el complemento JNDI. Aunque la vulnerabilidad no se descubrirá hasta años después, Log4Shell está presente a partir de este momento.

  • 24 de noviembre de 2021: los investigadores de seguridad de Alibaba descubren Log4Shell y lo informan a Apache. Apache comienza a trabajar en un parche pero no publica un aviso de seguridad pública.

  • 9 de diciembre de 2021: investigadores de seguridad de Alibaba encuentran evidencia de que Log4Shell se está discutiendo de manera natural y se publica un código de explotación de prueba de concepto en GitHub.

  • 10 de diciembre de 2021: Apache emite el primer parche y los desarrolladores de Minecraft descubren Log4Shell en Minecraft Java Edition. La comunidad de ciberseguridad se da cuenta rápidamente de la gravedad de la situación, y las organizaciones comienzan a bloquear sus sistemas.

  • 11 de diciembre de 2021: Cloudflare encuentra evidencia de que los actores de amenazas comenzaron a explotar Log4Shell antes de lo que se pensaba, ya el 1 de diciembre.

  • 14 de diciembre de 2021: se descubre CVE-2021-45046 y Apache lanza un parche para solucionarlo.

  • 17 de diciembre de 2021: se descubre CVE-2021-45105 y Apache lanza un parche para solucionarlo.

  • 28 de diciembre de 2021: se descubre CVE-2021-44832 y Apache lanza un parche final. A partir de la versión 2.17.1 de Log4J, Log4Shell está totalmente remediado.

  • 4 de enero de 2022: La Comisión Federal de Comercio (FTC) de EE. UU anuncia que tiene la intención de perseguir a cualquier compañía que exponga los datos de los consumidores a los piratas informáticos porque no dio la dirección a Log4Shell.

  • Mayo de 2023: Check Point descubre que Log4Shell sigue siendo la segunda vulnerabilidad más explotada.

Soluciones relacionadas
Servicios de respuesta a incidentes

Mejore el programa de respuesta ante incidentes de su organización, minimice el impacto de una violación y experimente una respuesta rápida a los incidentes de ciberseguridad

Explore los servicios de respuesta a incidentes
Soluciones de detección y respuesta a amenazas

Utilice las soluciones de detección y respuesta a amenazas de IBM para fortalecer su seguridad y acelerar la detección de amenazas.

Explorar las soluciones de detección de amenazas
IBM QRadar SOAR Solutions

Optimice los procesos de toma de decisiones, mejore la eficiencia de los SOC y acelere la respuesta ante incidentes con una solución de orquestación y automatización inteligente.

Explore QRadar SOAR
Dé el siguiente paso

Mejore el programa de respuesta ante incidentes de su organización, minimice el impacto de una violación y experimente una respuesta rápida a los incidentes de ciberseguridad

Explore los servicios de respuesta a incidentes Más información sobre IBM X-Force