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
apache_audit_cve-2026-23918 — Kit de herramientas en Python para auditar Apache HTTP Server contra CVE-2026-23918 (RCE por double-free en HTTP/2) y 4 CVE relacionados. Escáner pasivo con verificación ALPN + auditor local de solo lectura. Sin exploits. | Kitploit
Herramientas/GitHubGitHub/sibersan/apache_audit_cve-2026-23918
Herramientas DefensivasEscáneres de VulnerabilidadesAuditoría de ConfiguraciónSeguridad WebSeguridad de RedesRespuesta a Incidentes
GitHubsibersan/apache_audit_cve-2026-23918

apache_audit_cve-2026-23918

Kit de herramientas en Python para auditar Apache HTTP Server contra CVE-2026-23918 (RCE por double-free en HTTP/2) y 4 CVE relacionados. Escáner pasivo con verificación ALPN + auditor local de solo lectura. Sin exploits.

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
1hace 3 mesesAún no revisado

cve-2026-23918

Herramientas de auditoría defensiva para CVE-2026-23918 (RCE por doble liberación en HTTP/2 de Apache HTTPD) y cuatro CVEs relacionados divulgados en el aviso de seguridad de la Apache Software Foundation del 4 de mayo de 2026.

CVEGravedadComponenteImpactoAfectados
CVE-2026-23918Alta (CVSS 8.8)HTTP/2Doble liberación / RCEsolo 2.4.66
CVE-2026-24072Moderadamod_rewrite (ap_expr)Escalada de privilegios≤ 2.4.66
CVE-2026-28780Bajamod_proxy_ajpDesbordamiento de búfer en heap≤ 2.4.66
CVE-2026-29168Bajamod_md (OCSP)Agotamiento de recursos2.4.30 – 2.4.66
CVE-2026-29169Bajamod_dav_lockDesreferencia de puntero NULL / DoS≤ 2.4.66

Todos los problemas están corregidos en Apache HTTP Server 2.4.67.


⚠️ Autorización y Alcance

Estas herramientas están pensadas para usarse solo contra sistemas de tu propiedad o para los que tengas autorización escrita explícita para realizar pruebas. El escaneo no autorizado puede ser ilegal en tu jurisdicción.

El kit está diseñado para ser defensivo:

  • Sin payloads de vulnerabilidad, sin intentos de explotación, sin sondeos intrusivos.
  • El escáner pasivo solo lee la cabecera HTTP estándar Server: y utiliza ALPN TLS estándar, el mismo mecanismo que todos los navegadores modernos usan para negociar HTTP/2.
  • El auditor local es de solo lectura; no modifica ningún archivo ni configuración.

Contenido

root@kitploit:~
.
├── apache_passive_audit.py    # External asset audit (banner-grab + ALPN)
├── apache_local_audit.py      # On-host / SSH local audit
├── LICENSE                    # MIT
├── .gitignore
└── README.md

Requisitos

  • Python 3.6+ — funciona con el python3 predeterminado de Ubuntu 18.04 y todas las versiones posteriores.
  • Solo biblioteca estándar — sin dependencias externas.

Instalación

root@kitploit:~
git clone https://github.com/sibersan/cve-2026-23918.git
cd cve-2026-23918
chmod +x apache_passive_audit.py apache_local_audit.py

1. Auditoría pasiva — apache_passive_audit.py

Lee la cabecera HTTP Server: para detectar la versión de Apache y la compara con la tabla de CVEs. Además, para objetivos HTTPS, realiza una negociación ALPN TLS estándar para determinar si HTTP/2 está expuesto; esta es la precondición clave para que CVE-2026-23918 sea explotable. No se envían payloads de explotación.

Verificación de HTTP/2 (ALPN)

El script ofrece h2 y http/1.1 en la extensión ALPN del handshake TLS (RFC 7301). La elección del servidor es la respuesta estándar e inequívoca a «¿está habilitado HTTP/2?», utilizada por todos los navegadores modernos y por curl. No activa la vulnerabilidad ni ningún comportamiento inusual.

El veredicto de riesgo refleja esto:

  • Versión 2.4.66 + HTTP/2 confirmado mediante ALPN → VULNERABLE (vector RCE abierto)
  • Versión 2.4.66 + HTTP/2 no negociado → AT_RISK (sigue sin parchear; aplican otros CVEs bajos/medios, pero el vector RCE de gravedad alta está cerrado)
  • No se pudo realizar la prueba ALPN → conservador; asumir expuesto
  • Versión ≥ 2.4.67 → SAFE

Uso

root@kitploit:~
# Single target
python3 apache_passive_audit.py -t https://web.example.com

# Multiple targets
python3 apache_passive_audit.py -t https://a.example.com -t https://b.example.com

# Targets file, parallel, CSV + JSON output
python3 apache_passive_audit.py -f targets.txt -w 20 -o report.csv --json report.json

# CI / log-friendly (no colors)
python3 apache_passive_audit.py -f targets.txt --no-color

Formato de targets.txt (un objetivo por línea, # para comentarios):

root@kitploit:~
https://www.example.com
intranet.example.local:8443
# old staging box
http://10.0.5.12

Opciones

Códigos de salida (aptos para CI/CD)

CódigoSignificado
0Todos los objetivos seguros
1Al menos un objetivo UNKNOWN o ERROR
2Al menos un objetivo o

Niveles de riesgo

Limitaciones

  • Los servidores con ServerTokens Prod o Minimal ocultan la versión; el script devuelve honestamente UNKNOWN. Use la auditoría local para confirmar.
  • Una instancia de Apache detrás de un proxy inverso (Cloudflare, F5, nginx, etc.) puede no exponer su versión en el borde.
  • La detección de HTTP/2 mediante ALPN solo es significativa para objetivos HTTPS. HTTP/2 en claro (h2c) es poco frecuente en la práctica y no se prueba.

2. Auditoría local — apache_local_audit.py

Se ejecuta en el host objetivo (o vía SSH) e inspecciona el binario de Apache, la versión, los módulos cargados y la configuración de HTTP/2. También evalúa las precondiciones de explotabilidad: p. ej., si la versión es 2.4.66 pero HTTP/2 está deshabilitado, el riesgo para CVE-2026-23918 se reduce en consecuencia.

Uso

root@kitploit:~
sudo python3 apache_local_audit.py

# JSON report (for centralized inventory)
sudo python3 apache_local_audit.py --json /var/log/apache_audit_$(hostname).json

# Custom binary path
sudo python3 apache_local_audit.py --binary /opt/apache/bin/httpd

Capacidades de detección

  • httpd -v / apache2 -v — versión
  • httpd -V — información de compilación, HTTPD_ROOT, SERVER_CONFIG_FILE
  • apache2ctl -M o httpd -M — módulos cargados
  • dpkg-query / rpm -q — versión del paquete
  • Configuración principal más todos los archivos incluidos mediante Include/IncludeOptional (incluyendo sites-enabled/, mods-enabled/ de Debian) → directiva Protocols (h2 / h2c / http/1.1)

Opciones

FlagDescripción
--binaryRuta del binario de Apache (anula la detección automática)
--jsonSalida de informe JSON
--no-colorDeshabilitar salida de color

Códigos de salida

CódigoSignificado
0SAFE
1PATCH_NEEDED o UNKNOWN
2VULNERABLE o AT_RISK

Niveles de riesgo

Privilegios

Se recomienda sudo/root para poder leer toda la configuración. Sin ellos, algunos archivos en sites-enabled/, mods-enabled/, o /etc/httpd/conf.d/ pueden resultar ilegibles.


Ejecución sobre un inventario

Para ejecutar la auditoría local en varios hosts y recopilar informes de forma centralizada, un ejemplo con Ansible ad-hoc:

root@kitploit:~
ansible all -i inventory.ini -b -m script \
  -a "apache_local_audit.py --json /tmp/apache_audit.json --no-color"

ansible all -i inventory.ini -b -m fetch \
  -a "src=/tmp/apache_audit.json dest=./reports/ flat=no"

Los archivos JSON recopilados se pueden combinar con jq o con un pequeño script de Python.


Mitigaciones recomendadas

Para CVE-2026-23918 (hasta que se parchee):

  1. Actualice Apache HTTP Server a 2.4.67 o posterior — la única solución permanente.
  2. Como medida provisional, deshabilite HTTP/2: elimine h2 y h2c de la directiva Protocols en su configuración, o ejecute sudo a2dismod http2 en Debian/Ubuntu, y luego recargue el servicio.
  3. Descargue mod_dav_lock si no está en uso (CVE-2026-29169).
  4. Audite usuarios / hosts virtuales con acceso de escritura a .htaccess (CVE-2026-24072).

Aviso oficial: https://httpd.apache.org/security/vulnerabilities_24.html


Contribuciones

Se aceptan pull requests. Al añadir un nuevo CVE, por favor:

  • Añada una entrada a CVE_TABLE con el rango de versiones afectado y la lambda match.
  • Para el script local, defina el campo needs apropiado para las comprobaciones de precondiciones (módulo cargado, protocolo habilitado, etc.).
  • Actualice la tabla del README.
  • Mantenga la compatibilidad con Python 3.6: evite f-strings, from __future__ import annotations, genéricos PEP 585 (list[int]), subprocess.run(capture_output=True) y @dataclass.

Mantenedor

SiberSAN

Licencia

MIT © 2026 SiberSAN

Descargo de responsabilidad

Este software se proporciona «tal cual», sin garantía de ningún tipo. Valídelo en un entorno de pruebas antes de usarlo en producción. El usuario asume toda la responsabilidad legal por cualquier uso contra sistemas no autorizados.

Descargar herramienta
FlagDescripción
-t, --targetObjetivo único (puede repetirse)
-f, --fileArchivo de lista de objetivos
-o, --csvSalida de informe CSV
--jsonSalida de informe JSON
--timeoutTiempo de espera de la solicitud en segundos (por defecto 10)
-w, --workersHilos de trabajo paralelos (por defecto 10)
--no-colorDeshabilitar salida de color
VULNERABLE
AT_RISK
NivelSignificado
VULNERABLELa versión coincide con un rango de CVE del aviso Y su precondición se cumple (p. ej., HTTP/2 habilitado)
AT_RISKVersión sin parchear pero la precondición de gravedad alta NO se cumple; otros CVEs siguen aplicando
SAFEVersión ≥ 2.4.67
UNKNOWNBanner oculto (ServerTokens Prod) o enmascarado por proxy inverso/WAF — verifíquelo con el script de auditoría local
NOT_APACHENo es Apache (nginx, IIS, etc.)
ERRORError de conexión
NivelSignificado
VULNERABLEVersión sin parchear + precondiciones del CVE de gravedad alta cumplidas (p. ej., HTTP/2 habilitado)
AT_RISKVersión sin parchear + al menos una precondición de CVE cumplida
PATCH_NEEDEDVersión sin parchear pero ningún módulo/protocolo relevante habilitado — parchee de todos modos
SAFEVersión ≥ 2.4.67
UNKNOWNNo se pudo detectar la versión