Ir al contenido
  1. Blog/

vScan Vulnerability Scanner 2.0

··1855 palabras·9 mins·
Autor
Marco Escobar
Data protection, Kubernetes, ciberseguridad e IA. Guías prácticas desde la trinchera: Veeam, Kasten, VMware, Oracle, cloud y lo que sea que esté rompiendo en el homelab esta semana.
Tabla de contenido
vScan Vulnerability Scanner 2.0 — dashboard

En este post veremos en detalle vScan 2.0, una aplicación de escritorio open-source que desarrollé para escanear los restore points de Veeam Backup & Replication v13+ en busca de vulnerabilidades de seguridad. Revisaremos la arquitectura, la instalación, configuración, las funcionalidades de escaneo, gestión de vulnerabilidades, reportes, seguridad y mucho más.

¿Por qué escanear tus Respaldos?
#

Antes que nada siempre debemos preguntarnos, ¿por qué necesitamos escanear los respaldos? La respuesta es simple: si un servidor fue comprometido hace semanas y lo descubrimos hoy, todos los restore points de ese período contienen las vulnerabilidades o malware. Si necesitamos restaurar y no sabemos cuál restore point es seguro, estamos restaurando a ciegas.

Con vScan podemos escanear cualquier restore point antes de restaurarlo, saber exactamente qué vulnerabilidades contiene y tomar una decisión informada.

Además, recuerda que Veeam ya tiene incluido el análisis de entropía, malware, entre otros en la solución. Por tanto, vScan llega a ser un complemento adicional para que cuando sea necesario puedas asegurarte con las últimas publicaciones de vulnerabilidades si tu máquina o respaldo que vas a recuperar, cuenta o no con vulnerabilidades y hacer la recuperación en un ambiente aislado para aplicar la mitigación de las vulnerabilidades y luego desplegar en producción.

¿Qué es vScan?
#

vScan es una aplicación de escritorio para Windows y macOS que se integra con Veeam Backup & Replication v13+ a través de su REST API. La aplicación monta los discos virtuales de cualquier restore point en un servidor Linux remoto vía SSH y ejecuta scanners de vulnerabilidades contra el filesystem montado.

No es solo un scanner, vScan provee gestión completa del ciclo de vida de las vulnerabilidades: tracking, estados, detección de fix automático, integración con el catálogo KEV de CISA, reportes PDF ejecutivos y técnicos, notificaciones por email y escritorio, batch scanning, escaneos programados y mucho más.

La aplicación está disponible en GitHub: https://github.com/mescobarcl/vScan

Plataformas Soportadas
#

macOSWindows
Versión mínima13.0 (Ventura)10 (1803+)
ProbadoVentura 13, Sonoma 14, Sequoia 15, Tahoe 26Windows 10, 11, Server 2019/2022/2025
ArquitecturaApple Silicon (arm64)x86_64
Instalador.dmg.exe
BiometríaTouch ID, Face IDWindows Hello
CredencialesmacOS KeychainWindows Credential Manager

Un servidor Linux remoto con SSH es necesario para montar los discos y ejecutar los scanners de vulnerabilidades.

Requisitos
#

Para utilizar vScan necesitaremos:

ComponenteRequisito
Sistema OperativoWindows 10+ o macOS 13+
Veeam VBRVeeam Backup & Replication v13 o superior
Servidor LinuxRocky Linux 9+
ScannersTrivy, Grype y Jadi

Instalación
#

La instalación es muy simple, descargamos el instalador desde la página de releases en GitHub:

https://github.com/mescobarcl/vScan/releases

Para macOS descargamos el archivo .dmg y arrastramos la aplicación a la carpeta Applications. Para Windows descargamos el .exe y ejecutamos el instalador.

Configuración Inicial – Master Password
#

Al iniciar vScan por primera vez nos pedirá crear una Master Password. Esta contraseña protege todas las credenciales almacenadas en la aplicación usando cifrado AES-256-GCM con derivación de clave Argon2id.

vScan Vulnerability Scanner 2.0

Es muy importante guardar la Recovery Key que se genera automáticamente. Esta clave en formato VSCAN-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX es la única forma de recuperar el acceso si se olvida la Master Password.

vScan Vulnerability Scanner 2.0 — recoverykey

Una vez configurada la Master Password, vScan soporta desbloqueo biométrico con Touch ID en macOS y Windows Hello en Windows para acceso rápido.

Conexión al Servidor VBR
#

El primer paso después de crear la Master Password es conectarnos a nuestro servidor de Veeam Backup & Replication. Vamos a la sección de configuración y veremos un wizard de 5 pasos que nos guiará:

En el Step 1 configuramos la conexión VBR:

  1. Ingresamos el hostname o IP del servidor VBR
  2. Puerto (por defecto 9419 para REST API)
  3. Username en formato dominio\usuario
  4. Password
vScan Vulnerability Scanner 2.0 — vbrconnection

vScan se conecta al REST API de Veeam y obtiene automáticamente la información del servidor: versión de VBR, edición de licencia, versión de base de datos SQL, etc.

vScan Vulnerability Scanner 2.0 — detailsconnections

Conexión al Servidor Linux
#

En el Step 2 configuramos el servidor Linux que actuará como scanner host. Aquí tenemos dos opciones:

  1. Importar desde VBR: Si tenemos servidores Linux registrados como managed servers en VBR, podemos importarlos directamente
  2. Configuración manual: Ingresamos la IP, puerto SSH, usuario y contraseña o clave privada
vScan Vulnerability Scanner 2.0 — linuxconnection

Al conectarnos, vScan ejecuta un proceso de setup automático de 8 pasos:

  1. Validar credenciales
  2. Establecer conexión SSH
  3. Aceptar Fingerprint
  4. Detectar sistema operativo Rocky
  5. Verificar e instalar paquetes del sistema
  6. Configurar Trivy scanner
  7. Configurar Grype scanner
  8. Configurar Jadi scanner
  9. Guardar configuración
vScan Vulnerability Scanner 2.0 — linuxtofu

vScan detecta automáticamente si los scanners están instalados, cuál es su versión actual, y ofrece instalarlos o actualizarlos. Las descargas se verifican con SHA-256 antes de la instalación para prevenir tampering.

También realiza verificación de host key SSH usando TOFU: la primera vez que nos conectamos a un servidor, se almacena el fingerprint. Si el fingerprint cambia en conexiones futuras, vScan nos alerta de un posible ataque Man-in-the-Middle.

Notificaciones – Email y Desktop
#

vScan soporta dos canales de notificación:

Notificaciones nativas del sistema operativo para eventos en tiempo real.

Configuración SMTP con STARTTLS/SSL para envío de alertas por correo.

Los 6 tipos de eventos configurables son:

EventoDescripción
Scan CompletedCuando un escaneo finaliza exitosamente
Scan FailedCuando un escaneo falla
Batch CompletedCuando un batch scan finaliza
Schedule StartedCuando un escaneo programado comienza
KEV FoundCuando se detecta una vulnerabilidad activamente explotada
Critical VulnerabilitiesCuando se encuentran vulnerabilidades de severidad crítica
vScan Vulnerability Scanner 2.0 — email
vScan Vulnerability Scanner 2.0 — alerts

Dashboard
#

Una vez configuradas las conexiones, la vista principal de vScan es el Dashboard que nos muestra un resumen completo de la postura de seguridad:

vScan Vulnerability Scanner 2.0 — dashboard

El dashboard incluye:

  • Contadores de vulnerabilidades por severidad: Critical, High, Medium, Low
  • Contador KEV: vulnerabilidades que están en el catálogo de CISA Known Exploited Vulnerabilities
  • Gráfico de distribución de severidad
  • Tendencia de vulnerabilidades a lo largo del tiempo
  • Top VMs más vulnerables con ranking por severidad
  • Escaneos recientes con estado en tiempo real
  • Estadísticas de escaneos: total, últimos 7 días, últimos 30 días

Los datos se actualizan en tiempo real conforme se completan nuevos escaneos.

Tres Motores de Escaneo: Trivy, Grype y Jadi
#

vScan soporta tres motores de escaneo de vulnerabilidades:

Trivy
#

Scanner de Aqua Security, uno de los más utilizados en la industria. Excelente para paquetes de distribuciones Linux y contenedores. vScan lo instala y gestiona automáticamente. Documentación oficial: https://github.com/aquasecurity/trivy

Grype
#

Scanner de Anchore, otra opción popular para escaneo de vulnerabilidades. Complementa bien a Trivy con un enfoque diferente. Documentación oficial: https://github.com/anchore/grype

Jadi
#

Mi propio scanner CLI escrito en Rust, diseñado específicamente para cubrir el gap que dejan Trivy y Grype en la detección de vulnerabilidades en software binario de Windows y parches de KB. Jadi utiliza múltiples fuentes de vulnerabilidades:

  • NVD (National Vulnerability Database) para matching por CPE
  • MSRC (Microsoft Security Response Center) para vulnerabilidades de Windows y KBs
  • OSV (Open Source Vulnerabilities) para ecosistemas de lenguajes
  • GHSA (GitHub Security Advisories)
  • CISA KEV (Known Exploited Vulnerabilities)

Cada scanner se puede instalar, actualizar y desinstalar directamente desde la UI de vScan. Las instalaciones se verifican con SHA-256 para garantizar la integridad del binario.

https://github.com/mescobarcl/jadi

Como Escanear Respaldos
#

Para escanear una VM, vScan provee un wizard guiado de 5 pasos:

Paso 1: Seleccionar VMs
#

Seleccionamos la VM que queremos escanear. vScan obtiene la lista de VMs directamente desde la API de VBR

vScan Vulnerability Scanner 2.0 — scans

Paso 2: Seleccionar Restore Point
#

Elegimos el restore point que queremos escanear. Se muestra la fecha, tipo y tamaño de cada punto de restauración disponible.

Paso 3: Seleccionar Discos
#

Seleccionamos cuáles discos de la VM queremos montar y escanear. Podemos seleccionar todos o solo algunos específicos.

Paso 4: Montar Discos
#

vScan publica el restore point a través del Data Integration API de Veeam y monta los discos en el servidor Linux usando FUSE o iSCSI. Se muestra el progreso del montaje en tiempo real.

vScan Vulnerability Scanner 2.0 — discosmontados

Paso 5: Escaneo y Resultados
#

Una vez montados los discos, se ejecuta el scanner seleccionado contra el filesystem. El progreso se muestra en tiempo real con ETA estimado.

Al finalizar vemos los resultados con el total de vulnerabilidades encontradas por severidad:

vScan Vulnerability Scanner 2.0 — scanresults

Gestión del Ciclo de Vida de Vulnerabilidades
#

Esta es una de las funcionalidades más importantes de vScan 2.0. No es solo un scanner, es una plataforma de gestión del ciclo de vida de vulnerabilidades.

Browser de Vulnerabilidades
#

El browser permite filtrar y buscar vulnerabilidades con múltiples criterios:

  • Severidad: Critical, High, Medium, Low, Negligible
  • Estado: Open, Fixed, Won’t Fix, Accepted, False Positive
  • VM Name: filtrar por servidor específico
  • Package Name: buscar por paquete afectado
  • Scanner Type: filtrar por Trivy, Grype o Jadi
  • Rango de fechas: primera detección o última detección
  • KEV: solo vulnerabilidades en el catálogo CISA
vScan Vulnerability Scanner 2.0 — vulnerabilities

Lifecycle Tracking
#

Cada vulnerabilidad se trackea con timestamps completos:

  • Primera detección: cuándo se encontró por primera vez
  • Última vez vista: cuándo fue la última vez que apareció en un escaneo
  • Auto-fix: si una vulnerabilidad no aparece en un escaneo posterior, se marca automáticamente como “fixed”
  • Reapertura: si una vulnerabilidad marcada como fixed reaparece, se reabre automáticamente
  • Historial por escaneo: en cuáles escaneos exactamente fue detectada (audit trail completo)
vScan Vulnerability Scanner 2.0 — vulnerabilities details

Gestión de Estados
#

Los estados disponibles son:

EstadoDescripciónOpenVulnerabilidad detectada y pendiente de remediaciónFixedRemediada (se marca automáticamente cuando no aparece en un nuevo escaneo)Won’t FixSe decide no remediar (con justificación)AcceptedRiesgo aceptado por la organizaciónFalse PositiveDetección incorrecta del scanner

Las operaciones de estado también se pueden hacer en bulk para gestionar múltiples vulnerabilidades simultáneamente.

CISA KEV – Known Exploited Vulnerabilities
#

vScan se integra con el catálogo de Known Exploited Vulnerabilities (KEV) de CISA, que se sincroniza automáticamente cada 24 horas.

Cada vulnerabilidad detectada se cruza contra este catálogo. Las que aparecen ahí se marcan con un flag especial porque significa que esa vulnerabilidad está siendo explotada activamente. La prioridad de remediación debería ser inmediata.

vScan Vulnerability Scanner 2.0 — kevcatalog

La validación del catálogo incluye verificación de integridad: conteo de entradas, formato de CVE IDs y estructura JSON para mitigar inyección de datos maliciosos.

Documentación
#

vScan incluye documentación completa en dos idiomas:

IdiomaLink
Englishdocs/en/
Españoldocs/es/

Conclusión
#

vScan 2.0 transforma tu infraestructura de respaldos de Veeam en una plataforma de monitoreo continuo de seguridad. En lugar de esperar que ocurra un incidente para descubrir vulnerabilidades en tus restore points, ahora puedes escanearlos proactivamente, trackear el ciclo de vida de cada vulnerabilidad y tomar decisiones informadas antes de restaurar.

Las principales funcionalidades que cubrimos en este post son:

  • Integración nativa con Veeam VBR v13+ REST API
  • Tres motores de escaneo: Trivy, Grype y Jadi
  • Comparación entre scanners y restore points
  • Batch scanning con paralelismo configurable
  • Escaneos programados con expresiones cron
  • Gestión completa del ciclo de vida de vulnerabilidades
  • Integración con CISA KEV (Known Exploited Vulnerabilities)
  • Reportes ejecutivos y técnicos en PDF con branding
  • Export CSV hasta 50,000 vulnerabilidades
  • Notificaciones por email y desktop (6 tipos de eventos)
  • Seguridad con AES-256-GCM, Argon2id, Keychain, biometría
  • Auto-lock, brute force protection, recovery key
  • System tray con menú completo
  • Dark mode
  • Mantenimiento automático de base de datos
  • Documentación en inglés y español

La aplicación está disponible en GitHub bajo licencia MIT: https://github.com/mescobarcl/vScan

Y con eso finalizamos este post! Cualquier idea o sugerencia es bienvenida como siempre!

Posts relacionados
#

Relacionados