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
Log4j-CVE-Detect — Detecciones para CVE-2021-44228 dentro de binarios anidados | Kitploit
Herramientas/GitHubGitHub/darkarnium/log4j-cve-detect
Análisis EstáticoEscáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de VulnerabilidadesDevSecOpsAnálisis de BinariosSeguridad de Cadena de Suministro
GitHubdarkarnium/log4j-cve-detect

Log4j-CVE-Detect

Detecciones para CVE-2021-44228 dentro de binarios anidados

Ver Repositorio
357hace 4 añosRevisado por Kitploit

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

Log4J-CVE-Detect

Este repositorio contiene un conjunto de reglas YARA para detectar versiones de log4j que son vulnerables a CVE-2021-44228, CVE-2021-45046 y/o CVE-2021-45105, mediante la búsqueda de una serie de características que aparecen en las versiones afectadas.

Esta herramienta funciona de forma recursiva sobre archivos binarios como imágenes Docker, paquetes del sistema, imágenes de sistemas de archivos e incluso medios de instalación. Consulte la sección "¿Cómo funciona?" para obtener una lista completa de los formatos de archivo compatibles.

  • CVE-2021-44228
    • Busca la firma de un constructor JndiManager (< 2.15.0).
  • CVE-2021-45046
    • Busca clases Interpolator que no importen JndiManager (< 2.16.0).
  • CVE-2021-45105
    • Busca clases AbstractConfiguration que no importen ConfigurationStrSubstitutor (< 2.17.0).

Aunque existe una serie de recursos disponibles para detectar el uso inseguro de log4j mediante CodeQL o Semgrep, aún no se han puesto a disposición recursos para la detección de versiones potencialmente vulnerables de log4j dentro de artefactos binarios.

Esto supone un desafío para las organizaciones que ejecutan aplicaciones empresariales que no fueron desarrolladas internamente, o donde el código fuente no está disponible de inmediato para los equipos que realizan el triaje inicial.

Dado que es probable que esta vulnerabilidad aparezca en varios lugares "inesperados", esta herramienta pretende ayudar a detectar versiones vulnerables de log4j dentro de artefactos compilados, que luego pueden ser revisados manualmente para determinar su explotabilidad.

Advertencias

El código ofuscado dará lugar a falsos negativos, donde un componente potencialmente vulnerable no puede ser detectado debido al uso de ofuscación.

Ejecución

Para ejecutar esta herramienta, clone este repositorio y siga los siguientes pasos. Se asume que Docker y jq están instalados.

  1. Agregue los binarios que deben ser verificados en la carpeta artifacts/
  2. Ejecute quickstart.sh (./quickstart.sh)

Alternativamente, la ejecución se puede personalizar usando el siguiente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/vulnerability.json" \
      "/mnt/stacs/input"

Si solo desea buscar CVE-2021-44228, puede usar el siguiente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-44228.json" \
      "/mnt/stacs/input"

Si solo desea buscar CVE-2021-45046, puede usar el siguiente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45046.json" \
      "/mnt/stacs/input"

Si solo desea buscar CVE-2021-45105, puede usar el siguiente comando:

root@kitploit:~
docker run \
    --rm \
    --mount type=bind,source=$(pwd)/artifacts,target=/mnt/stacs/input \
    --mount type=bind,source=$(pwd)/rules,target=/mnt/stacs/rules \
    stacscan/stacs:latest \
      --rule-pack "/mnt/stacs/rules/CVE-2021-45105.json" \
      "/mnt/stacs/input"

Esta herramienta también se puede ejecutar sin Docker. Consulte las instrucciones de instalación de STACS para saber cómo instalar STACS sin Docker.

¿Qué hay de Docker?

Para escanear una imagen Docker, primero debe exportarse al directorio de artefactos para su escaneo. Esto se puede hacer usando el siguiente comando:

root@kitploit:~
IMAGE="alpine:latest"
NAME="alpine_latest"

docker export $(docker create ${IMAGE}) -o artifacts/${NAME}.tar

Alternativamente, un contenedor en ejecución se puede exportar usando simplemente:

root@kitploit:~
# Reemplace CONTAINER_ID con el identificador correcto del contenedor.
CONTAINER_ID="c29209118f9a"
NAME="widget_example"

docker export ${CONTAINER_ID} -o artifacts/${NAME}.tar

¡Encontré un hallazgo! ¿Qué hago?

Deberá investigar el uso de log4j en la aplicación para comprender si el producto es vulnerable. Si esto no es posible, debido a la falta de acceso al código fuente u otra razón, debe verificar si el proveedor ha publicado algún aviso al respecto.

¡No hay garantía de que la inclusión de una versión vulnerable de log4j signifique que el producto es vulnerable!

Si no encuentra ningún aviso, debe contactar al proveedor para preguntarles sobre el impacto de esta vulnerabilidad en el producto.

Consulte también las mitigaciones publicadas por el proyecto log4j. Alternativamente, y preferiblemente, actualice a una versión no afectada de log4j.

¿Cómo funciona?

Aunque no está diseñada para este propósito, esta herramienta utiliza el motor STACS para la descomposición y análisis masivo de binarios.

STACS es un escáner de credenciales estáticas impulsado por YARA que admite formatos de archivos binarios, análisis de archivos anidados, conjuntos de reglas y listas de ignorados componibles, e informes SARIF.

Como ejemplo, esta herramienta puede analizar un tarball que contiene una imagen Docker exportada, que contiene un JAR en algún lugar del sistema de archivos afectado por esta vulnerabilidad.

También puede analizar archivos anidados tar, jar, war, ear, zip, apk, bz2, tgz, xz, rpm, iso, etc.

Encontré un falso positivo / negativo

Por favor, abra un issue en Github describiendo el problema y enlazando el artefacto binario afectado, si es posible.

¡Las Pull requests para ajustar los conjuntos de reglas también serán muy apreciadas!

Validación

Consulte el directorio validation/ para ver un conjunto de archivos de registro de la validación de este conjunto de reglas.

Descargar herramienta