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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-40275_Scanner — Escáner para la divulgación de código fuente de Apache HTTP Server (CVE-2024-40725); sondea rutas directas y de subpetición, identifica las versiones afectadas y genera informes JSON para CI/CD. | Kitploit
Herramientas/GitHubGitHub/burjoy/cve-2024-40275_scanner
Escáneres de VulnerabilidadesEscáneres de Vulnerabilidades WebAnálisis de VulnerabilidadesSeguridad WebMala Configuración
GitHubburjoy/cve-2024-40275_scanner

CVE-2024-40275_Scanner

Escáner para la divulgación de código fuente de Apache HTTP Server (CVE-2024-40725); sondea rutas directas y de subpetición, identifica las versiones afectadas y genera informes JSON para CI/CD.

Ver Repositorio
22hace 1 mesAú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

Escáner CVE-2024-40725

Una herramienta de detección basada en Python para CVE-2024-40725, una vulnerabilidad de divulgación de código fuente del servidor HTTP Apache que afecta a las versiones 2.4.0 y 2.4.61.

Aviso legal: Ejecute este escáner únicamente contra servidores de su propiedad o para los que tenga autorización explícita por escrito para realizar pruebas. El uso no autorizado puede violar las leyes de fraude informático (p. ej., CFAA, Computer Misuse Act).


Antecedentes

CVE-2024-40725 es una regresión en la canalización interna de solicitudes de Apache introducida en la versión 2.4.0 (como corrección incompleta de CVE-2024-39884). Cuando un servidor está configurado con directivas AddType heredadas (p. ej., AddType application/x-httpd-php .php), la asignación interna del manejador de Apache se descarta silenciosamente durante el procesamiento de subpeticiones (provocado por DirectoryIndex, mod_rewrite o mod_dir).

Como resultado, el intérprete de scripts PHP nunca se invoca. En su lugar, el default-handler integrado de Apache abre el archivo desde el disco y transmite sus bytes sin procesar, incluidas credenciales de bases de datos, claves de API y lógica de la aplicación, directamente al cliente.

Versiones afectadas: Apache httpd 2.4.0 – 2.4.61
Corregido en: Apache httpd 2.4.62+


Requisitos

  • Python 3.8+
  • Librería requests
pip install requests

Instalación

# Clone or download the scanner
curl -O https://your-host/cve_2024_40725_scanner.py

# Make executable (optional)
chmod +x cve_2024_40725_scanner.py

Uso

python3 cve_2024_40725_scanner.py --target <URL> [OPTIONS]

Opciones

IndicadorTipoPor defectoDescripción
--targetURL(obligatorio)URL base del servidor Apache a probar
--pathsRUTA [RUTA ...]lista integradaUna o más rutas PHP para probar directamente
--wordlistARCHIVO—Ruta a un archivo de wordlist (una ruta por línea)
--no-directory-checkindicadordesactivadoOmitir la sonda de subpetición/índice de directorio (Sonda B)
--timeoutint (segundos)10Tiempo de espera por solicitud
--delayfloat (segundos)0.0Retraso entre solicitudes (límite de tasa)
--no-verify-sslindicadordesactivadoDeshabilitar la verificación de certificados SSL
--outputARCHIVO—Escribir el informe JSON completo en este archivo
--verboseindicadordesactivadoHabilitar la salida de depuración

Ejemplos

# Quickstart: scan localhost with built-in default paths
python3 cve_2024_40725_scanner.py --target http://localhost

# Scan specific paths
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --paths /index.php /admin/config.php /wp-config.php

# Use a wordlist file
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt

# Combine wordlist + extra inline paths (merged, deduplicated)
python3 cve_2024_40725_scanner.py \
  --target http://192.168.1.10 \
  --wordlist php_paths.txt \
  --paths /extra/secret.php

# HTTPS with self-signed certificate
python3 cve_2024_40725_scanner.py \
  --target https://myserver.local \
  --no-verify-ssl

# Polite scan with 1 second delay and JSON report
python3 cve_2024_40725_scanner.py \
  --target http://myserver.local \
  --wordlist php_paths.txt \
  --delay 1.0 \
  --output results.json \
  --verbose

# CI/CD usage (exit code 1 = vulnerable, 0 = clean)
python3 cve_2024_40725_scanner.py --target http://localhost || echo "VULNERABLE"

Formato de la wordlist

Una ruta por línea. Las líneas que comienzan con # se tratan como comentarios y se omiten. Las líneas en blanco se ignoran. Las barras diagonales iniciales se normalizan automáticamente.

# Common PHP entrypoints
/index.php
/info.php
/phpinfo.php

# Admin panels
/admin/index.php
/admin/config.php

# CMS files
/wp-config.php
/wp-login.php
/configuration.php

# API internals
/api/v1/status.php

Cómo funciona

El escáner ejecuta dos sondas por ruta:

Sonda A — Solicitud directa del archivo

GET /index.php HTTP/1.1

Comprueba si al solicitar directamente el archivo PHP se devuelve su código fuente sin procesar. Afecta a servidores mal configurados donde AddType falla incluso en solicitudes directas.

Sonda B — Disparador de subpetición (el vector real del CVE)

GET / HTTP/1.1

Solicita el directorio principal en lugar del archivo en sí. Apache resuelve internamente DirectoryIndex → index.php, generando una subpetición. Esta es la ruta de código exacta donde r->handler queda en NULL en Apache 2.4.0–2.4.61.

La sonda B es la prueba más importante y realista. Muchos servidores solo son vulnerables a través de la ruta de subpetición, no de la ruta directa del archivo.

Detección de fugas

El escáner comprueba el cuerpo de la respuesta en busca de firmas de código fuente PHP:

  • <?php
  • <?PHP
  • <?=

Cuando se encuentra una coincidencia, extrae un fragmento de 150 caracteres alrededor de la ubicación de la fuga para su triaje, sin imprimir todo el cuerpo de la respuesta.

Fingerprinting del servidor

Lee la cabecera de respuesta Server: para detectar la versión de Apache. Marca los servidores que reportan la versión 2.4.0 o 2.4.61 incluso antes de confirmar una fuga.

Nota: Los servidores endurecidos pueden suprimir la cabecera Server: (ServerTokens Prod). El escáner ejecuta todas las sondas independientemente de ello.


Salida

Ejemplo de salida de terminal

============================================================
  CVE-2024-40725 -- Apache Source Code Disclosure Scanner
============================================================
  Target : http://localhost
  Paths  : 6
  Time   : 2024-08-01T12:00:00

  [*] Fingerprinting server: http://localhost
      Server Header : Apache/2.4.61 (Debian)
      Apache Version: 2.4.61
      [!] Version is in vulnerable range (2.4.0 - 2.4.61)

  [*] Testing 6 path(s)...

  --- /index.php
      Direct  (HTTP 200): OK
      Subreq  (HTTP 200): LEAKED
      [!] VULNERABLE via: subrequest (directory index)
         Leaked snippet: '<?php\n$db_pass = "supersecretpassword";'

  --- /info.php
      Direct  (HTTP 404): OK
      Subreq  (HTTP 404): OK
      [+] Safe

============================================================
  SCAN SUMMARY
============================================================
  Target            : http://localhost
  Apache Version    : 2.4.61
  Paths Tested      : 6
  Vulnerable Paths  : 1
  Safe Paths        : 5

  [!] RESULT: VULNERABLE
      Vulnerable paths:
        * /index.php  (trigger: subrequest (directory index))

  Remediation:
    1. Upgrade to Apache httpd >= 2.4.62
    2. Replace 'AddType' with 'SetHandler' in <FilesMatch> blocks
============================================================

Estructura del informe JSON (--output results.json)

{
  "target": "http://localhost",
  "scan_time": "2024-08-01T12:00:00",
  "apache_version": "2.4.61",
  "apache_in_range": true,
  "paths_tested": 6,
  "vulnerable_paths": [
    {
      "path": "/index.php",
      "direct_url": "http://localhost/index.php",
      "directory_url": "http://localhost/",
      "direct_status": 200,
      "direct_leaked": false,
      "direct_snippet": null,
      "directory_status": 200,
      "directory_leaked": true,
      "directory_snippet": "<?php\n$db_pass = \"supersecretpassword\";",
      "server_header": "Apache/2.4.61 (Debian)",
      "vulnerable": true,
      "trigger": "subrequest (directory index)"
    }
  ],
  "safe_paths": [...]
}

Códigos de salida

CódigoSignificado
0No se detectaron rutas vulnerables
1Se encontraron una o más rutas vulnerables
Descargar herramienta