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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vghost-watch — Descubrimiento pasivo en todo internet + asistente de divulgación responsable para CVE-2026-74580 (error de caché de metadatos de vhost en Linux): consulta datos de escaneo existentes (Sonar/Shodan/Censys), clasifica la exposición y redacta (nunca envía automáticamente) avisos a los propietarios. | Kitploit
Herramientas/GitHubGitHub/v01dl1ng/vghost-watch
Herramientas DefensivasOSINT (Inteligencia de Fuentes Abiertas)Escalada de PrivilegiosReconocimientoEscáneres de VulnerabilidadesMapeo de RedesAnálisis de VulnerabilidadesRecopilación de InformaciónInteligencia de Amenazas
GitHubv01dl1ng/vghost-watch

vghost-watch

1hace 19 díasAú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 →
Ver Repositorio

Acerca de

Descubrimiento pasivo en todo internet + asistente de divulgación responsable para CVE-2026-74580 (error de caché de metadatos de vhost en Linux): consulta datos de escaneo existentes (Sonar/Shodan/Censys), clasifica la exposición y redacta (nunca envía automáticamente) avisos a los propietarios.

Compartir

vghost-watch

License: MIT Python 3.9+ Passive only

Un asistente de verificación de perímetro y divulgación responsable para CVE-2026-74580 ("Vghost") — un error real en la caché de metadatos de vhost del kernel de Linux (registro CVE, entrada OSV) que permite escalada de privilegios local / escape de VM en hosts vhost/hipervisor expuestos.

Caso de uso principal: verificar tu propio perímetro. Introduce tus propios rangos de IP, CIDR o dominios (import_list.py) — internos o externos — y clasifícalos para detectar exposición adyacente a vhost (puertos de gestión de libvirt/Proxmox/QEMU), y luego obtén notas de remediación para tu propio sistema de seguimiento (run_pipeline.py --self, consulta "Verificar tu propio perímetro" más abajo). Sin autodescubrimiento, sin búsquedas masivas de contactos — el host ya es tuyo.

Capacidad secundaria: descubrimiento de terceros mediante datos de escaneo públicos. Este proyecto no escanea internet por sí mismo — opcionalmente puede consultar conjuntos de datos/API que ya realizaron el escaneo (Rapid7 Open Data / Sonar, Shodan, Censys) para encontrar otros hosts expuestos, y luego ayudarte a redactar avisos de divulgación a sus propietarios. Conviene saberlo antes de invertir tiempo aquí: no hay recompensa por esto (los CSIRT no pagan, y los informes de "CVE conocido, instancia sin parchear" rara vez son elegibles para recompensas — consulta "Impacto" más abajo) — es trabajo de notificación ciudadana no remunerado, y el uso real más habitual de este repositorio es el caso de verificación de perímetro anterior, no este.

Impacto: ¿cuándo es aplicable / crítico?

CVE-2026-74580 es un error a nivel de kernel, local, no uno orientado a web/red — de ello se derivan varias cosas que importan para el triaje:

Aplicable solo si se cumplen todas estas condiciones:

  • El host ejecuta un kernel de Linux sin parchear (anterior a 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9, o el backport de la distribución).
  • Utiliza virtualización respaldada por vhost (vhost-net/vhost-scsi vía QEMU/KVM, normalmente a través de libvirt o Proxmox). Un host bare-metal sin VMs, o VMs sobre virtio simple sin offload de vhost, no está expuesto a este error independientemente del nivel de parcheo.
  • La ejecución de código local es un requisito previo. Esto es escalada de privilegios/escape de VM, no ejecución remota de código — un atacante necesita estar ya ejecutando código en algún lugar que alcance la interfaz vulnerable: una VM invitada, un contenedor de kernel compartido, o una cuenta local en el host. "Ya estar ejecutando código" no requiere acceso directo como SSH — en la práctica suele ser uno de los siguientes:
    • Un inquilino legítimo, en un hipervisor multiinquilino/cloud — un cliente que simplemente alquiló una VM ya tiene ejecución de código completa dentro de ella, por diseño, sin necesidad de brecha alguna.
    • Un compromiso no relacionado dentro del invitado — lo más habitual es una aplicación web vulnerable que sufre RCE (un plugin desactualizado, SSRF-a-RCE, un error de deserialización, etc.), pero cualquier compromiso del lado del invitado funciona igual. Al error de vhost no le importa cómo entró el atacante, solo que ahora tiene ejecución de código desde la que pivotar.

El verdadero factor de gravedad es quién ya tiene (o puede obtener) ejecución de código — no si el host está expuesto a internet. La exposición a internet solo afecta a la facilidad con que un atacante externo encuentra el objetivo o alcanza el punto de apoyo inicial de forma remota; no cambia nada sobre si el error es explotable una vez que alguien tiene ese punto de apoyo. La infraestructura solo interna y privada no es inherentemente de menor riesgo:

Más crítico, independientemente de la exposición a internet:

  • Cualquier hipervisor multiinquilino o multiusuario -- proveedores de alojamiento, pero igualmente una nube privada interna, una plataforma interna de VM-por-equipo, o un entorno compartido de desarrollo/pruebas con cuentas de usuario ordinarias en VM/aplicaciones. Cada uno de esos usuarios o inquilinos ya tiene el requisito previo de ejecución de código, por diseño, sin necesidad de ninguna brecha -- expuesto a internet o no.
  • Cualquier host donde un atacante ya tenga un punto de apoyo (una VM comprometida, un shell de insider, un escape de contenedor colocalizado, una aplicación interna comprometida) con la descarga de vhost en uso -- esto convierte "tengo un shell con pocos privilegios" en "soy dueño del host", independientemente de cómo se obtuvo ese shell.

Dónde la exposición a internet realmente importa (un factor secundario, no el principal):

  • Facilita que un atacante externo obtenga el punto de apoyo inicial de forma remota (por ejemplo, un RCE en una aplicación web, véase la nota sobre WAF más abajo) y hace que el host sea más fácil de encontrar en primer lugar -- los puertos de gestión expuestos (libvirt 16509/16514, Proxmox 8006) son una señal de reconocimiento para eso, que es lo que busca la puntuación de merge_and_triage.py. Un puerto expuesto no prueba nada por sí mismo, sin embargo -- solo importa una vez que algo controlado por el atacante puede ejecutarse localmente, lo que los datos de escaneo pasivo no pueden mostrar (véase "Por qué solo pasivo" más abajo para saber por qué este repositorio no intenta confirmarlo contra hosts que no son tuyos).
  • Un host solo interno con la misma exposición multiusuario/multiinquilino es igualmente crítico -- solo necesita un usuario interno, un contratista o una aplicación interna comprometida para proporcionar el punto de apoyo en lugar de uno expuesto a internet. No interpretes "no expuesto a internet" como "menor prioridad".

Genuinamente de menor gravedad:

  • De un solo inquilino, sin invitados, usuarios o aplicaciones no confiables en absoluto -- el único "atacante" serías tú, así que el riesgo en el mundo real es mucho menor. Aun así vale la pena parchearlo para que una futura brecha no relacionada no pueda encadenarse con esto.
  • Sin vIOMMU -- según el aviso, la ruta de escape de VM necesita específicamente una configuración con vIOMMU habilitado; sin ella, el impacto probablemente se limita a una escalada de privilegios local dentro del kernel en lugar de cruzar el límite invitado/host.

¿Ayuda un WAF? No contra este fallo directamente -- un WAF inspecciona el tráfico HTTP(S), y este fallo reside en la ruta de caché de metadatos de vhost del kernel, no en el análisis de solicitudes. Simplemente no está en la ruta de exposición de la vulnerabilidad en sí.

Donde un WAF sí importa es un paso antes: la cadena del mundo real más común es RCE en aplicación web → ejecución de código dentro del invitado → exploit de vhost → escape del host → movimiento lateral a todos los demás inquilinos. Un WAF (u otros controles de seguridad web) puede bloquear el RCE de la aplicación web que proporciona al atacante su punto de apoyo inicial, lo que evita que lleguen siquiera al requisito previo de este fallo. Así que: irrelevante para el fallo de vhost en sí, pero relevante para una de las rutas hacia la precondición del mismo más comunes.

Descargar herramienta