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
fleet-cve-scanner — Un escáner de CVE de código abierto y un solo script para flotas gestionadas por RMM. Puramente PowerShell 7 — combina el inventario de software de tu RMM con NVD, CISA KEV, EPSS y SSVC para responder: ¿esta versión es vulnerable y qué tan urgente es? | Kitploit
Herramientas/GitHubGitHub/boostedchaos/fleet-cve-scanner
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesAuditoría de ConfiguraciónInteligencia de AmenazasRespuesta a IncidentesAnálisis de Registros
GitHubboostedchaos/fleet-cve-scanner

fleet-cve-scanner

Un escáner de CVE de código abierto y un solo script para flotas gestionadas por RMM. Puramente PowerShell 7 — combina el inventario de software de tu RMM con NVD, CISA KEV, EPSS y SSVC para responder: ¿esta versión es vulnerable y qué tan urgente es?

Ver Repositorio
12113hace 2 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 →
Compartir

fleet-cve-scanner

Un escáner de CVE de código abierto y script único para flotas gestionadas por RMM. PowerShell 7 puro, sin agentes, sin dispositivos, sin tarifas de licencia.

Responde una pregunta por cada pieza de software en cada endpoint que gestionas: ¿la versión instalada se sabe vulnerable y qué tan urgente es? — al unir el inventario de software de tu RMM con fuentes de seguridad autorizadas y gratuitas:

  • NIST NVD — CVEs conocidos + rangos de versiones afectadas
  • CISA KEV — explotados activamente en la naturaleza (evita el umbral de puntuación)
  • EPSS — probabilidad de explotación en los próximos 30 días
  • CISA SSVC — decisiones de priorización act / attend / track
  • MSRC — prueba de que un parche de Microsoft ya cubre el hallazgo
  • endoflife.date — software que nunca volverá a recibir parches

Salidas: un informe CSV por dispositivo, un historial SQLite con relojes de SLA y eventos de cambio semana a semana, un panel HTML autónomo y un informe de exposición opcional en markdown.

Estado

v1.0.0. El motor fue portado en sala limpia desde un escáner que se ejecutaba semanalmente en producción contra una flota Windows (consulta docs/HISTORY.md). Antes de este lanzamiento, ambos se ejecutaron contra la misma flota en vivo y se compararon fila por fila: en decenas de miles de hallazgos donde ambos vieron un (dispositivo, software, versión) idéntico, cada campo calculado — estado, CVSS, severidad, bandera KEV, decisión SSVC, versión de corrección — coincidió exactamente.

Esa comparación cubre la lógica de veredicto. No ejercitó la capa de historial/SLA, y no sustituye la validación de la herramienta en tu propio entorno. Lee docs/known-limitations.md antes de confiar en ella — está escrita para ser honesta, no halagadora.

Inicio rápido

Necesitas PowerShell 7 (pwsh). Dos formas de ejecutarlo:

A. Escaneo en vivo con NinjaOne

cp config.example.json config.json
# edita config.json: completa ninjaone.client_id / client_secret / base_url,
# establece output.report_dir y (recomendado) nvd.api_key
pwsh -File fleet-cve-scan.ps1

B. Sin conexión — cualquier RMM, SCCM o Intune (sin acceso a API)

Exporta tu inventario a un CSV con las columnas hostname, software, version (opcional device_id, os), luego:

cp config.example.json config.json   # aquí solo se necesita output.report_dir
pwsh -File fleet-cve-scan.ps1 -InputCsv inventory.csv

-InputCsv realiza cero llamadas a NinjaOne — sin OAuth, sin API. Aún consulta NVD y las otras fuentes públicas, por lo que igualmente querrás un nvd.api_key en config.json y un output.report_dir válido. Consulta docs/rmm-adapters.md para el contrato de entrada y recetas de exportación por RMM.

Instalación de requisitos previos

  • PowerShell 7 — macOS: brew install powershell; Windows: winget install Microsoft.PowerShell; Debian/Ubuntu: instala desde el repositorio de paquetes de Microsoft (packages.microsoft.com).
  • sqlite3 (opcional, potencia el historial/tendencia) — macOS: preinstalado o brew install sqlite; Debian/Ubuntu: apt-get install sqlite3; Windows: descarga el paquete "tools" de SQLite desde sqlite.org y coloca sqlite3.exe en PATH o junto al script. Sin él, el escaneo aún se ejecuta; first_seen retrocede a la fecha de ejecución.

Requisitos

  • PowerShell 7 (se recomienda 7.4+). El escaneo paralelo requiere 7.0+.
  • sqlite3 — opcional; habilita la base de datos de historial, tendencias y seguimiento de first_seen para SLA. Si está ausente, esas funciones se omiten, el escaneo aún se completa.
  • Salida de red a NVD, CISA (KEV), epss.empiricalsecurity.com (el host de puntuación masiva de EPSS — FIRST movió el alojamiento de datos de EPSS allí), MSRC, endoflife.date y GitHub raw (cvelistV5 del programa CVE) — más la API de NinjaOne en modo en vivo.
  • Credenciales — el modo en vivo necesita id/secreto de cliente OAuth2 de NinjaOne; el modo sin conexión solo necesita un CSV de inventario. Una clave API de NVD es técnicamente opcional pero efectivamente requerida a escala de flota: NVD permite 50 solicitudes/30s con clave y solo 5/30s sin ella. El escáner detecta cuál tienes y limita en consecuencia, por lo que una ejecución sin clave es correcta pero aproximadamente 10 veces más lenta — bien para un puñado de productos, poco práctico para una flota real. Las claves son gratuitas.

Referencia de configuración

La configuración es un archivo JSON (por defecto config.json junto al script; se puede anular con -ConfigPath). Comienza desde config.example.json. Cada clave que el escáner lee, su valor predeterminado cuando se omite y qué hace:

ninjaone (modo en vivo)

ClavePredeterminadoPropósito
ninjaone.client_id""ID de cliente OAuth2 de la API de NinjaOne. Requerido para escaneos en vivo; déjalo en blanco para -InputCsv.
ninjaone.client_secret""Secreto de cliente OAuth2 de la API de NinjaOne.
ninjaone.base_url— (el ejemplo incluye https://app.ninjarmm.com)URL base de la API de NinjaOne; requerido para escaneos en vivo, sin respaldo incorporado. Usa el host de tu región (ej. eu.ninjarmm.com, oc.ninjarmm.com).

nvd

ClavePredeterminadoPropósito
nvd.api_key""Clave API de NVD, enviada como encabezado apiKey. Si está en blanco, ejecuta sin autenticar, lo que reduce los valores predeterminados de nvd_rate_limit y nvd_min_spacing_ms al techo anónimo de NVD (4/30s, 6500ms) en lugar del autenticado (48/30s, 700ms). Gratuita y ~10 veces más rápida.

Escaneo y puntuación

ClavePredeterminadoPropósito
cvss_threshold7.0Puntuación base CVSS mínima para que un CVE con puntuación se reporte como VULNERABLE. Los CVE listados en KEV evitan este umbral.
ssvc_mission_prevalencehighEntrada de parte interesada de SSVC Mission Prevalence (low / medium / high).
ssvc_public_wellbeinghighEntrada de parte interesada de SSVC Public Well-being (low / medium / high).

Almacenamiento en caché y límite de velocidad

Descargar herramienta