Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
log4shell_sentinel — Un escáner inteligente para Log4Shell/Log4j/CVE-2021-44228 | Kitploit
Herramientas/GitHubGitHub/ossie-git/log4shell_sentinel
Escáneres de VulnerabilidadesSeguridad de ContenedoresAnálisis de VulnerabilidadesAnálisis ForenseRespuesta a IncidentesAnálisis de Registros
GitHubossie-git/log4shell_sentinel

log4shell_sentinel

Un escáner inteligente para Log4Shell/Log4j/CVE-2021-44228

Ver Repositorio
14131hace 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

Log4Shell Sentinel - Un escáner inteligente para CVE-2021-44228

Introducción

Aunque se han publicado algunas herramientas excelentes para ayudar a las organizaciones a escanear sus entornos en busca de aplicaciones vulnerables a la crítica vulnerabilidad Log4J / CVE-2021-44228, consideré que:

  • ninguna de las herramientas que encontré estaba diseñada para que los analistas pudieran hacer seguimiento de un hallazgo concreto durante todo el proceso de remediación. Log4Shell Sentinel exporta sus hallazgos a formato CSV con la expectativa de que un analista pueda luego segmentar y analizar los hallazgos en Excel, añadir algunos hallazgos a una lista de ignorados y volver a ejecutar el escaneo, comparar escaneos, añadir datos a los resultados, etc.
  • los escáneres basados en archivos dejan mucho trabajo pendiente a los analistas, especialmente en entornos contenerizados

Así nació Log4Shell Sentinel. Log4Shell Sentinel es un escáner basado en archivos con algunas características únicas. No pretende sustituir a todas las demás herramientas disponibles, sino complementarlas.

Características

Log4Shell Sentinel es un escáner basado en archivos. Busca aplicaciones basadas en Java escaneando un sistema objetivo en busca de artefactos con los siguientes formatos de archivo:

Tipo de archivoDetalles
Jar simpleEste es el caso en el que el archivo log4j-core no está embebido.
Jar gordo / Uber jarUn uber jar es un jar que contiene tanto tus clases / paquetes como todas las dependencias de tu aplicación (bibliotecas, recursos y archivos de metadatos) dentro de un único archivo jar. Esta es la opción de despliegue más utilizada.
WARUn archivo war (Web Application Archive) es un archivo que contiene tu código JSP, HTML y JavaScript, además de tus bibliotecas y otros recursos. Este formato se utiliza con menos frecuencia.
EARUn ear (Enterprise Application Archive) es otro formato que se utilizaba más habitualmente con Jakarta EE para despliegues.

y busca instancias de archivos log4j-core vulnerables. A continuación:

  • calcula un hash MD5 del artefacto. Esto permite a un analista identificar la misma aplicación ejecutándose en diferentes máquinas / contenedores y tratarlos como un único hallazgo

  • para los archivos que se determina que pertenecen a un contenedor, como: /var/lib/docker/overlay2/192768f471818601094bf4edd96d14bfc0e2b178a04a2efd00b2231ad4e46b33/merged/app/spring-boot-application.jar, realiza el trabajo pesado de mapear el archivo a la imagen correspondiente. Por ejemplo, traduciría lo anterior a la siguiente imagen: ghcr.io/christophetd/log4shell-vulnerable-app:latest. Como los distintos runtimes de contenedores almacenan este mapeo de diferentes maneras, esto puede ahorrarle horas de frustración a un analista. Esto también permite a un analista tratar varios contenedores que ejecutan una única aplicación como un solo hallazgo.

  • elimina coincidencias inútiles, como las correspondientes a contenedores que no se están ejecutando actualmente, incluidas las imágenes en caché. Esto permite al analista centrarse en lo importante y, de nuevo, le ahorra horas de trabajo innecesario

  • permite a un analista ignorar coincidencias basándose en:

    • hash MD5
    • ruta de archivo
    • imagen de contenedor

    Esto permite al analista eliminar aplicaciones que sabe que no son vulnerables o que corresponden a aplicaciones basadas en CLI que no representan una amenaza. Por ejemplo, si se detecta una instancia de Logstash, un analista puede optar por ignorarla si no ejecuta la herramienta o simplemente la ejecuta desde la CLI de vez en cuando.

  • está optimizado para funcionar con tus herramientas de gestión de configuración, como Ansible, lo que te permite escanear rápidamente tu entorno en minutos

Enriquecimiento de metadatos

Para más detalles sobre el enriquecimiento de metadatos añadido por Log4Shell Sentinel, consulta mi artículo en el blog.

Instalación

La forma más sencilla es simplemente descargar el binario precompilado.

Compilación desde el código fuente

También esto es sencillo. Sin embargo, probablemente querrás compilar una versión estáticamente enlazada para evitar cualquier variación relacionada con GLIBC en tu entorno. La herramienta utiliza los siguientes módulos, que usan CGO por defecto:

  • os/user
  • net

Para compilar una versión estáticamente enlazada que utilice las versiones Go de estas bibliotecas, simplemente clona el repositorio y luego ejecuta:

$ CGO_ENABLED=0 go build -ldflags="-s -w"
$ ldd log4shell_sentinel
        not a dynamic executable

Uso

$ ./log4shell_sentinel -h
NAME:
   Log4Shell Sentinel - by Osama Elnaggar

USAGE:
   log4shell_sentinel [global options] command [command options] [arguments...]

VERSION:
   v1.0.0

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --path value, -p value       Path to search (default: ".")
   --no-banner, --nb            Suppress banner (default: false)
   --no-messages, --nm          Suppress messages except for CSV output (default: false)
   --no-header, --nh            Suppress header in CSV output (default: false)
   --imd5 value, --im value     Ignore MD5 hashes. Refer to the GitHub page for expected format
   --ipath value, --ip value    Ignore file path matches. Refer to the GitHub page for expected format
   --icimage value, --ic value  Ignore container image matches. Refer to the GitHub page for expected format
   --print-headers, --ph        Print CSV Headers only (default: false)
   --help, -h                   show help (default: false)
   --version, -v                print the version (default: false)

De serie, un escaneo simplemente escaneará el directorio actual. Por ejemplo:

$ ./log4shell_sentinel

░█░░░█▀█░█▀▀░█░█░█▀▀░█░█░█▀▀░█░░░█░░░░░█▀▀░█▀▀░█▀█░▀█▀░▀█▀░█▀█░█▀▀░█░░
░█░░░█░█░█░█░░▀█░▀▀█░█▀█░█▀▀░█░░░█░░░░░▀▀█░█▀▀░█░█░░█░░░█░░█░█░█▀▀░█░░
░▀▀▀░▀▀▀░▀▀▀░░░▀░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░░░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀

- A CVE-2021-44228/CVE-2021-45046/CVE-2021-45105 Scanner
- v1.0.0
- by Osama Elnaggar

[*] WARNING: Running as non-root user.
             Non-readable files / dirs will be skipped
             Container mapping will fail

[*] Starting shallow scan ............ [DONE]
[*] Starting deep scan ............... [DONE]
[*] Calculating MD5 hashes ........... [DONE]
[*] Performing container image lookups [DONE]
[*] Processing ignore list(s) ........ [DONE]
[*] Generating output ................ [DONE]

IP,Hostname,AppName,Team,Ignore (Y/N),Comments,MD5Hash,Timestamp,Container,ContainerImage,FullPath,Version
192.168.121.121,server3,,,,,4e615cd580758b70c49ade1f79103328,2021-12-21T07:38:09Z,true,ghcr.io/christophetd/log4shell-vulnerable-app:latest,/run/containerd/io.containerd.runtime.v2.task/k8s.io/dc2c9c214809f506283c917244cd126a9b056ac7274322d12b59c9196d95dd9b/rootfs/app/spring-boot-application.jar,log4j-core-2.14.1.jar

Inmediatamente verás una ADVERTENCIA si lo ejecutas como un usuario no root, ya que requiere permisos de root:

  • si planeas escanear todo tu sistema de archivos (recomendado)
  • si planeas enriquecer los resultados con la correspondencia contenedor -> imagen (se requiere acceso al demonio de Docker, archivos de configuración, etc.)

Seguirá funcionando sin privilegios de root, pero puede que no te dé los mejores resultados.

Comprensión de los hallazgos

Un hallazgo de ejemplo tiene este aspecto:

Descargar herramienta