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
web-server-audit_CVE-2026-42945 — Auditoría de CVE de servidores web consciente de los desencadenantes para nginx y Apache. Va más allá de la coincidencia de versiones al verificar si la ruta de código vulnerable es realmente alcanzable en su configuración. Clasifica los hallazgos como Active / Latent / Unverified. Archivo único de Python 3.5+, sin dependencias. | Kitploit
Herramientas/GitHubGitHub/sibersan/web-server-audit_cve-2026-42945
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad WebDevSecOpsMala Configuración
GitHubsibersan/web-server-audit_cve-2026-42945

web-server-audit_CVE-2026-42945

Ver Repositorio
4hace 3 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 →

Acerca de

Auditoría de CVE de servidores web consciente de los desencadenantes para nginx y Apache. Va más allá de la coincidencia de versiones al verificar si la ruta de código vulnerable es realmente alcanzable en su configuración. Clasifica los hallazgos como Active / Latent / Unverified. Archivo único de Python 3.5+, sin dependencias.

Compartir

web_server_audit

No preguntes si eres vulnerable. Pregunta si eres explotable.

Una herramienta Python de un solo archivo que audita nginx y Apache contra CVEs conocidos comprobando tanto la versión instalada como si la ruta de código vulnerable es realmente alcanzable a través de tu configuración.

¿Por qué?

La mayoría de los escáneres de CVE se detienen en la coincidencia de versiones: "nginx 1.18.0 — CVE-2026-42945, gravedad ALTA, eres vulnerable." Pero muchos CVEs requieren un patrón de configuración específico para ser explotables. Un escáner que ignora la configuración te inunda de alertas rojas que no reflejan el riesgo real — y peor aún, puede ocultar los riesgos latentes que se volverían reales si tu configuración cambiara mañana.

web_server_audit responde dos preguntas distintas por cada CVE:

  1. ¿La versión instalada está en el rango vulnerable?
  2. ¿El patrón de activación está presente en la configuración activa?

Combinando ambas se obtienen tres clasificaciones honestas:

ClassificationMeaning
🔴 Riesgo de explotación activaVersión vulnerable y activador presente. Explotable hoy.
🟡 Riesgo latenteVersión vulnerable, sin activador. Se vuelve explotable si la configuración introduce el patrón.
⚪ No verificadoConfiguración ilegible; estado desconocido.

Características

  • 🎯 Detección de activación por CVE (no solo coincidencia de versión)
  • 🟢 Separación de riesgo activo vs latente en el resumen ejecutivo
  • 🐧 Conciencia de Ubuntu Pro / ESM: marca paquetes fuera de la cobertura ESM
  • 🔬 Verificación de ASLR, estado del servicio, puertos de escucha, recuento reciente de SIGSEGV
  • 🎨 Salida de terminal con códigos de color, JSON para automatización
  • 📦 Archivo único, Python 3.5+, sin dependencias de terceros
  • 🔌 Fácilmente extensible: añade un nuevo CVE en ~10 líneas

Inicio rápido

root@kitploit:~
git clone https://github.com/YOUR_USERNAME/web-server-audit.git
cd web-server-audit
sudo python3 web_server_audit.py

CVEs soportados (nginx)

CVEGravedadPatrón de activación
CVE-2026-42945 (Rift)ALTArewrite + captura sin nombre ($1,$2) + ? en el reemplazo
CVE-2026-42946MEDIAscgi_pass o uwsgi_pass en uso
CVE-2026-40701MEDIAssl_stapling on + resolver juntos
CVE-2026-42934BAJADirectivas charset/charset_types/source_charset

La lista de CVEs de Apache está actualmente vacía pero la estructura está lista — consulta Extensión más abajo.

Verificaciones adicionales

Además de los CVEs, la herramienta también informa:

  • Estado de ASLR (/proc/sys/kernel/randomize_va_space) — ASLR completo reduce materialmente la explotabilidad de errores de memoria RCE
  • Versión del SO y estado EOL — marca distribuciones al final de su vida útil o solo ESM
  • Estado de la suscripción a Ubuntu Pro (ESM) para esm-infra y esm-apps
  • Estado del servicio — si nginx/Apache está realmente ejecutándose, y en qué puertos
  • Origen del paquete — distingue instalaciones ESM, PPA y de repositorio estándar (Ubuntu)
  • Fallos del worker — cuenta eventos SIGSEGV de los últimos 30 días como indicador de explotación activa

Requisitos

  • Python 3.5+ (funciona con Python 3.6 incluido en Ubuntu 18.04)
  • Sin paquetes de terceros: solo librería estándar
  • Usa nginx, apache2, systemctl, ss, journalctl cuando están disponibles; omite comprobaciones con elegancia en caso contrario

Uso

root@kitploit:~
# Compact report (default — hides OK lines)
sudo python3 web_server_audit.py

# All findings including OK lines
sudo python3 web_server_audit.py --verbose

# No ANSI colors (good for pipes, logs, CI output)
sudo python3 web_server_audit.py --no-color

# Machine-readable JSON
sudo python3 web_server_audit.py --json

Códigos de salida

CódigoSignificado
0Sin problemas
1Solo advertencias o hallazgos críticos no relacionados con CVE
2Al menos un CVE es activamente explotable

El código de salida 2 es una señal natural de fallo en CI/CD.

Ejemplo de salida

root@kitploit:~
========================================================================
Web Server Audit - 2026-05-16T01:24:55
Host: web-prod-01
web_server_audit.py v1.0.0 - SiberSAN - MIT License
========================================================================

[system]
------------------------------------------------------------------------
  [OK] OK    ASLR fully enabled (randomize_va_space=2)
  [i] INFO  OS: Ubuntu 18.04.6 LTS
  [!] WARN  Ubuntu 18.04 is in ESM-only support

[nginx] version 1.18.0 (active)
------------------------------------------------------------------------
  [i] INFO  nginx listening on: 0.0.0.0:80, 0.0.0.0:443
  [i] INFO  CVE-2026-42945 (HIGH): version vulnerable but NOT triggered
           Trigger: rewrite + unnamed capture ($1,$2) + '?' in replacement
           Evidence: No rewrite directives in configuration
  [i] INFO  CVE-2026-42946 (MEDIUM): version vulnerable but NOT triggered
  [!] WARN  nginx installed from PPA (1.18.0-3ubuntu1+bionic1)

========================================================================
Real-risk summary
------------------------------------------------------------------------
ACTIVE EXPLOITATION RISK: none detected.

LATENT RISK - vulnerable version, no trigger in config (3):
  - [nginx] CVE-2026-42945 (HIGH)
  - [nginx] CVE-2026-42946 (MEDIUM)
  - [nginx] CVE-2026-42934 (LOW)
  These become exploitable if config changes introduce the trigger.
  Mitigation: config-change discipline + plan upgrade.

========================================================================
Findings: 0 critical, 2 warnings
========================================================================

Extensión

Añadir un nuevo CVE requiere dos pasos.

1. Escribe una función de activación que recibe el texto completo de configuración (salida de nginx -T) y devuelve (triggered: bool, evidence: str):

root@kitploit:~
def _trigger_my_cve(conf):
    hits = [l for l in conf.splitlines() if re.search(r'risky_directive', l)]
    if hits:
        return True, "Found: " + hits[0]
    return False, "Pattern not present"

2. Añade la entrada a NGINX_CVES (o APACHE_CVES):

root@kitploit:~
{
    "id": "CVE-XXXX-NNNNN",
    "name": "Descriptive name",
    "severity": "HIGH",
    "affected": ("1.10.0", "1.25.0"),
    "fixed_in": ["1.25.1"],
    "trigger_desc": "Human-readable trigger description",
    "trigger_fn": _trigger_my_cve,
},

Eso es todo. El framework maneja la clasificación, el formateo de salida, JSON, los códigos de salida y el resumen ejecutivo automáticamente.

Limitaciones

  • Sin pruebas de explotación activa. No se envían solicitudes PoC. Esta es una herramienta pura de análisis de configuración + versión.
  • La base de datos de CVE está incrustada y curada manualmente; sin sincronización en línea. Mantener la lista actualizada es responsabilidad del usuario.
  • Los detectores de activación son heurísticos. Configuraciones complejas con includes profundamente anidados o citas inusuales pueden producir falsos positivos o negativos. Usa --verbose para inspeccionar los detalles en caso de duda.
  • Probado en Ubuntu 18.04, 20.04, 22.04 y 24.04. La herramienta probablemente funcione en otras distribuciones de Linux, pero la detección de origen del paquete (ESM/PPA) es específica de Ubuntu.

Contribuir

Se aceptan pull requests, issues, nuevos detectores de CVE y soporte para servidores web adicionales (lighttpd, Caddy, HAProxy, etc.)

Al proponer un nuevo detector de CVE, por favor incluye:

  • Un enlace al registro del CVE (NVD, aviso del proveedor o changelog upstream)
  • Un fragmento de configuración mínimo que active el detector
  • Un contraejemplo que no debería activarlo

Licencia

Publicado bajo la Licencia MIT.

Copyright (c) 2026 SiberSAN

Descargar herramienta