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
Ghostcat-Tomcat-AJP-Exploit-Py3 — Un script de explotación completamente refactorizado y compatible con Python 3 para Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) Inclusión Local de Archivos AJP | Kitploit
Herramientas/GitHubGitHub/si1ence90/ghostcat-tomcat-ajp-exploit-py3
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubsi1ence90/ghostcat-tomcat-ajp-exploit-py3

Ghostcat-Tomcat-AJP-Exploit-Py3

Un script de explotación completamente refactorizado y compatible con Python 3 para Tomcat Ghostcat (CVE-2020-1938 / CNVD-2020-10487) Inclusión Local de Archivos AJP

Ver Repositorio
1hace 4 mesesAú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

Herramienta de detección de vulnerabilidad Ghostcat en Tomcat (CVE-2020-1938 / CNVD-2020-10487)

Introducción

Este proyecto proporciona un script de verificación en Python para validar la vulnerabilidad de inclusión local de archivos en el protocolo AJP de Apache Tomcat (comúnmente conocida como Ghostcat, CVE-2020-1938 / CNVD-2020-10487).

Este script se basa en la versión original de Python 2 que circulaba inicialmente, pero ha sido completamente reestructurado y corregido, con compatibilidad total con Python 3. Se han solucionado los problemas de compatibilidad relacionados con StringIO, la codificación base64 y la concatenación de datos binarios con cadenas, mejorando su estabilidad en los sistemas operativos modernos.

Principio de la vulnerabilidad

Al procesar el protocolo AJP (Apache JServ Protocol), Apache Tomcat habilita por defecto el puerto 8009 y no realiza una validación de seguridad estricta de los atributos de las peticiones entrantes. Un atacante puede construir peticiones AJP maliciosas para inyectar atributos como javax.servlet.include.request_uri, javax.servlet.include.path_info y :

javax.servlet.include.servlet_path
  1. Lectura arbitraria de archivos (LFI) : engañar al DefaultServlet de Tomcat para leer cualquier archivo dentro del directorio de la aplicación web (por ejemplo, WEB-INF/web.xml, archivos de configuración, etc.).
  2. Ejecución remota de código (RCE) : si el servidor objetivo tiene una vulnerabilidad de subida de archivos, el atacante puede subir primero un archivo común que contenga código JSP malicioso (como txt, png, etc.) y luego usar esta vulnerabilidad AJP para forzar a JspServlet a interpretar y compilar ese archivo como JSP, logrando así la ejecución remota de comandos.

Nota: esta vulnerabilidad solo admite inclusión local de archivos (LFI), no inclusión remota de archivos (RFI) directa.

Requisitos del entorno

  • Python 3.6+
  • Solo utiliza la biblioteca estándar de Python; no es necesario instalar dependencias de terceros.

Uso

Sintaxis de línea de comandos:

root@kitploit:~
python CNVD-2020-10487-Tomcat-Ajp-lfi.py <IP_objetivo> [-p puerto_objetivo] [-f ruta_del_archivo_objetivo]

Descripción de parámetros:

  • target (obligatorio): dirección IP o nombre de dominio del host objetivo.
  • -p, --port (opcional): puerto AJP, por defecto 8009.
  • -f, --file (opcional): ruta relativa del archivo objetivo que se desea leer, por defecto WEB-INF/web.xml.

Ejemplos de uso:

  1. Detección básica (lee el web.xml por defecto):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 127.0.0.1
    
  2. Especificar puerto y archivo (lee un archivo de configuración personalizado):

    root@kitploit:~
    python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.1.100 -p 8009 -f WEB-INF/classes/application.properties
    

Corrección y defensa

Si su sistema se ve afectado por esta vulnerabilidad, se recomienda adoptar de inmediato las siguientes medidas de protección:

  1. Actualizar Tomcat: actualice a las versiones de seguridad publicadas oficialmente (9.0.31, 8.5.51, 7.0.100 o superiores).
  2. Deshabilitar el servicio AJP: si el entorno de negocio no necesita comunicarse con el clúster a través del protocolo AJP para proxy inverso, se recomienda comentar o eliminar directamente la configuración <Connector port="8009" protocol="AJP/1.3" ... /> en conf/server.xml.
  3. Reforzar la autenticación AJP: si es necesario mantener activo el servicio AJP, agregue el atributo requiredSecret (en Tomcat 8.5.51/9.0.31 y versiones posteriores es secret) al conector AJP para forzar la autenticación.

Aviso legal

Este script es exclusivamente para investigación en seguridad, educación y auditorías de seguridad internas que cumplan con las normas de la empresa. No utilice este script para realizar sondeos o ataques ilegítimos contra objetivos no autorizados. El usuario debe cumplir con las leyes y regulaciones locales al usar este script. Cualquier consecuencia derivada del uso indebido o ilegal será responsabilidad exclusiva del usuario.

Descargar herramienta