Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
kubernetes-log4j-cve-2021-44228-node-agent — Kubernetes DaemonSet que aplica parches en caliente a JVMs para mitigar las vulnerabilidades de Log4j2 (CVE-2021-44228, CVE-2021-45046) deshabilitando las búsquedas JNDI, proporcionando protección temporal hasta que se actualicen las dependencias. | Kitploit
Herramientas/GitHubGitHub/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent
Escáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de VulnerabilidadesSeguridad en la NubeDevSecOpsRespuesta a IncidentesArchived
GitHubaws-samples/kubernetes-log4j-cve-2021-44228-node-agent

kubernetes-log4j-cve-2021-44228-node-agent

Kubernetes DaemonSet que aplica parches en caliente a JVMs para mitigar las vulnerabilidades de Log4j2 (CVE-2021-44228, CVE-2021-45046) deshabilitando las búsquedas JNDI, proporcionando protección temporal hasta que se actualicen las dependencias.

Ver Repositorio
2168hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

!!!! AVISO DE OBSOLESCENCIA !!!!

Este proyecto está siendo deprecado según se detalla a continuación.

  • 2023-01-01 - Este repositorio ya no recibirá actualizaciones
  • 2023-04-01 - Este repositorio será deprecado de forma permanente

El proyecto dejará de aceptar incidencias y no se actualizará a partir del 2023-01-01. Después de esta fecha, este proyecto no tendrá soporte y no se generarán nuevas versiones ni artefactos asociados con este proyecto.

El repositorio del proyecto se archivará de forma permanente (solo lectura) a partir del 2023-04-01.

Como se indicó en la documentación original del proyecto, esto siempre fue concebido como una medida temporal para ayudar a los usuarios de Kubernetes, y solo proporcionó una mitigación parcial de la exposición de seguridad de Log4j2 CVE-2021-44228 y CVE-2021-45046. Se recomienda encarecidamente que todos los usuarios de Log4j actualicen a una versión parcheada del proyecto para mitigar completamente cualquier riesgo asociado con estos CVEs.

¿Qué pasa si aún quiero usar esto?

Los artefactos de lanzamiento asociados con la última versión permanecerán disponibles de forma permanente para los consumidores de este proyecto que continúen implementándolo en sus entornos Kubernetes. Específicamente, el manifiesto DaemonSet y la imagen de contenedor pública de ECR permanecerán disponibles después de la deprecación, pero ya no recibirán soporte ni actualizaciones.

Agente de nodo para Apache Log4j2 CVE-2021-44228

AWS ha desarrollado un RPM que realiza un hot-patch a nivel de JVM deshabilitando las búsquedas JNDI de la biblioteca Log4j2, mitigando Log4j2 CVE-2021-44228 y CVE-2021-45046.

El agente de nodo para Apache Log4j2 CVE-2021-44228 es un proyecto de código abierto creado por el equipo de Kubernetes en AWS. Está diseñado para ejecutarse como un DaemonSet y mitigar el impacto de Log4j2 CVE-2021-44228, que afecta a aplicaciones que ejecutan versiones de Apache Log4j2 < 2.15.0 al procesar entradas de fuentes no confiables. Ejecutar este DaemonSet parcheará las JVM que se ejecutan en contenedores así como en el host.

Qué hace: Se instalará una entrada cron en cada nodo trabajador que ejecuta un proceso que busca JVM en ejecución e inyecta un agente que mitiga el CVE de Log4J2. Todas las JVM, incluidas las que se ejecutan en contenedores, se parchearán en caliente de esta manera. Actualmente, el proceso de hot-patch está configurado para ejecutarse cada 30 minutos con una fluctuación de 15 minutos. La ventana efectiva puede variar entre 15 y 45 minutos entre ejecuciones.

Nota: Puede encontrar información adicional sobre la vulnerabilidad de Log4j2 y la respuesta de AWS en el Boletín de seguridad de AWS.

Nota: El 20/04/22, la imagen (v0.0.16) se actualizó con el último parche para Amazon Linux 1 y 2. Si instaló una versión anterior de este DaemonSet y todavía se está ejecutando, debe volver a aplicar el archivo daemonset.yaml para instalar el RPM más reciente. Si ya no necesita el parche de log4j, debe eliminar el DaemonSet y desinstalar el RPM, ya que las versiones anteriores del RPM (< 1.1-16) tenían una vulnerabilidad que podría permitir que un atacante escapara de un contenedor y obtuviera acceso al host subyacente.

Nota: la versión 1.3-5 aborda ALAS2-2022-1806 y ALAS-2022-1601. Consulte Amazon Linux "log4j hotpatch" <1.3-5 local privilege escalation to root para obtener información adicional.

Instrucciones de instalación

  1. Aplique el manifiesto:
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/aws-samples/kubernetes-log4j-cve-2021-44228-node-agent/main/daemonset.yaml
  1. Verifique los logs de uno o más de los pods del DaemonSet.

Compruebe un solo pod al azar:

root@kitploit:~
kubectl get pods -l job=node-patch-installer -n node-configuration-daemonset
root@kitploit:~
kubectl logs <pod-name> -c node-patch-installer -n node-configuration-daemonset

u obtenga confirmación para cada nodo:

root@kitploit:~
kubectl logs -l job=node-patch-installer -c node-patch-installer -n node-configuration-daemonset | grep 'installed'

Si la instalación fue exitosa, la última línea del archivo de log mostrará installed and verified; de lo contrario, se registrará un error.

Consideraciones

  • Este proyecto está diseñado para actuar como una mitigación temporal y de mejor esfuerzo hasta que pueda actualizar la dependencia de Log4j2 en todas sus aplicaciones Java basadas en Kubernetes a al menos la versión 2.15.0 de Log4j. No confíe en este agente como una mitigación a largo plazo. Esta herramienta puede ayudarle a mitigar el riesgo cuando no es posible actualizar las dependencias de inmediato.
  • El DaemonSet es compatible con distribuciones de Amazon Linux (AL), Amazon Linux 2 (AL2) y Debian Linux como Ubuntu. Bottlerocket no es compatible porque no incluye un shell ni un gestor de paquetes. Si está ejecutando log4j en Bottlerocket, el CVE será abordado por Hotdog.
  • Debido a que los DaemonSets no se ejecutan en AWS Fargate, los pods que se ejecutan en Fargate en clústeres de Amazon EKS no serán parcheados por este agente.
  • Con la frecuencia de ejecución predeterminada de 30 minutos, el agente es más adecuado para contenedores de larga duración.
  • El RPM solo funciona con las siguientes distribuciones de Java:
    • Credo
    • Corretto
    • OpenJDK
  • Si sus nodos trabajadores están en un entorno aislado sin conectividad a Internet, puede extraer la imagen de ECR y enviarla a un registro privado. Alternativamente, puede modificar el makefile en el directorio de la imagen para construir y enviar la imagen resultante a su registro privado. Edite la imagen del espec.template.spec.initContainers.image del DaemonSet en el archivo daemonset.yaml para reflejar la nueva URI:tag de la imagen, luego aplique el manifiesto a su clúster.

Acerca de CVE-2021-44228

Las funciones JNDI de Apache Log4j2 < 2.15.0 utilizadas en la configuración, mensajes de log y parámetros no protegen contra LDAP controlado por atacantes y otros endpoints relacionados con JNDI. Un atacante que pueda controlar mensajes de log o parámetros de mensajes de log puede ejecutar código arbitrario cargado desde servidores LDAP cuando la sustitución de búsqueda de mensajes está habilitada. A partir de las versiones de Log4j2 < 2.15.0, este comportamiento ha sido deshabilitado por defecto. Los detalles completos se pueden encontrar en el boletín CVE.

Puede encontrar información adicional sobre la vulnerabilidad de Log4j2 en el Boletín de seguridad de AWS.

Cómo funciona esto

AWS ha desarrollado un RPM que realiza un hot-patch a nivel de JVM deshabilitando las búsquedas JNDI de la biblioteca Log4j2, mitigando el problema de Log4j2 que se aplica tanto a las JVM en el host como a las JVM que se ejecutan en contenedores. Este proyecto empaqueta el RPM como un DaemonSet de Kubernetes.

Cuando se instala, se ejecutará un proceso en cada nodo trabajador que busca JVM en ejecución e inyecta un agente en la JVM para mitigar la vulnerabilidad de Log4j2. El agente intenta parchear el método lookup() de todas las instancias cargadas de org.apache.logging.log4j.core.lookup.JndiLookup para que devuelvan incondicionalmente la cadena Patched JndiLookup::lookup(). Esto está diseñado para abordar la vulnerabilidad de ejecución remota de código CVE-2021-44228 en Log4j2 sin reiniciar el proceso Java.

Este proceso, por defecto, está configurado para ejecutarse cada 30 minutos y agregará una capa de protección en clústeres donde las aplicaciones aún no han sido parcheadas con una dependencia de Log4j2 actualizada.

Puede encontrar más detalles sobre el hot-patch en el blog de AWS de código abierto.

La imagen del contenedor está alojada en el repositorio público de ECR de aws-containers.

Descargar herramienta