Guía paso a paso para instalar y utilizar el escáner de vulnerabilidades Vuls en Debian 12.

Published:

Vuls (abreviatura de Vulnerability Scanner) es una herramienta de código abierto para la detección de vulnerabilidades en sistemas operativos Linux y FreeBSD. Desarrollada en el lenguaje de programación Go, Vuls permite escanear servidores locales y remotos en busca de vulnerabilidades en el software, sin necesidad de instalar agentes en cada máquina, lo que se conoce como escaneo sin agente.

Principales Características de Vuls

  1. Escaneo de Vulnerabilidades: Vuls compara el sistema y el software instalados en un servidor con bases de datos de vulnerabilidades (como NVD, JVN, OVAL y RHSA) para detectar posibles problemas de seguridad.
  2. Compatible con Varias Distribuciones: Es compatible con varias distribuciones de Linux (Debian, Ubuntu, CentOS, entre otras) y FreeBSD.
  3. Escaneo Local y Remoto: Puedes usar Vuls para escanear tanto el sistema donde está instalado como otros servidores a través de SSH, lo que permite un escaneo centralizado de múltiples sistemas.
  4. Métodos de Escaneo Múltiples:
    • Fast Scan (Escaneo rápido): No requiere privilegios de root y permite un análisis básico de vulnerabilidades.
    • Deep Scan (Escaneo profundo): Requiere permisos de root y realiza una inspección más detallada del sistema y sus configuraciones.
  5. Integración con Notificaciones: Vuls permite enviar los informes de vulnerabilidades por correo electrónico o mediante servicios de mensajería como Slack.
  6. Base de Datos de Vulnerabilidades Propia: Vuls descarga y gestiona varias bases de datos de vulnerabilidades, como CVE (Common Vulnerabilities and Exposures) y las bases de datos OVAL, para tener datos siempre actualizados.

1. Requisitos Previos

  • Asegúrate de contar con:
    • Un servidor con Debian 12.
    • Un usuario con privilegios administrativos.
    • (Opcional) Servidores adicionales como RockyLinux/Ubuntu para escaneos remotos.

2. Instalar Dependencias

  • Actualiza el índice de paquetes de Debian:
    sudo apt update
    
  • Instala los paquetes necesarios (debian-goodies y reboot-notifier):
    sudo apt install debian-goodies reboot-notifier
    

3. Instalar Vuls Usando un Script de Instalación

  • Ejecuta el siguiente comando para descargar e instalar Vuls automáticamente:
    bash <(curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh)
    
  • Una vez finalizada la instalación, verifica que el archivo binario de Vuls y sus herramientas estén en el directorio /usr/local/bin:
    ls /usr/local/bin/
    
  • Asegúrate de que Vuls esté funcionando ejecutando el comando de ayuda:
    vuls help
    

4. Configurar Vuls

  • Crea un directorio para la configuración de Vuls y un archivo de configuración:
    mkdir -p /opt/vuls; cd /opt/vuls
    nano config.toml
    
  • Añade la siguiente configuración en el archivo config.toml para integrar bases de datos CVE y escanear el sistema local:
    [cveDict]
    type = "sqlite3"
    SQLite3Path = "/opt/vuls/cve.sqlite3"
    
    [ovalDict]
    type = "sqlite3"
    SQLite3Path = "/opt/vuls/oval.sqlite3"
    
    [gost]
    type = "sqlite3"
    SQLite3Path = "/opt/vuls/gost.sqlite3"
    
    [metasploit]
    type = "sqlite3"
    SQLite3Path = "/opt/vuls/go-msfdb.sqlite3"
    
    [servers]
    [servers.localhost]
    host = "localhost"
    port = "local"
    scanMode = [ "fast-root" ]
    
  • Guarda y cierra el archivo, luego verifica la configuración con:
    vuls configtest
    

5. Crear Bases de Datos CVE con Vuls

  • Dirígete al directorio de configuración de Vuls:
    cd /opt/vuls
    
  • Crea las bases de datos CVE desde múltiples fuentes:
    gost fetch debian --dbpath /opt/vuls/gost.sqlite3
    go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3
    goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3
    go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3
    
  • Comprueba que las bases de datos estén en el directorio /opt/vuls:
    ls /opt/vuls/*.sqlite3
    

6. Escanear el Sistema Local

  • Para escanear la máquina local, usa el siguiente comando:
    vuls scan localhost
    
  • Para ver el informe detallado del escaneo, ejecuta:
    vuls tui
    
  • Presiona Ctrl + C para salir de la interfaz de usuario de Vuls.

7. Escanear un Servidor Remoto

  • (Opcional) Para escanear un servidor remoto como un sistema Rocky Linux, sigue estos pasos.
  • Primero, descarga la base de datos OVAL de RedHat:
    goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3
    
  • Genera una clave SSH pública y privada y sube la clave pública al servidor remoto:
    ssh-keygen -t ed25519
    ssh-copy-id [email protected]
    
  • Inicia sesión en el servidor remoto e instala el paquete lsof:
    ssh [email protected]
    sudo dnf install lsof -y
    
  • Sal del servidor remoto y edita la configuración de Vuls para agregar la información del servidor remoto en config.toml:
    [servers.debian-server]
    host = "192.168.1.4"
    port = "22"
    user = "nk"
    keyPath = "/root/.ssh/id_ed25519"
    scanMode = [ "fast-root" ]
    
  • Guarda el archivo, verifica la configuración y ejecuta el escaneo remoto:
    vuls configtest
    vuls scan rocky9
    
  • Para ver el informe detallado del escaneo remoto, usa:
    vuls tui
    

Conclusión

Has instalado el escáner de vulnerabilidades Vuls en Debian 12, creado bases de datos CVE y realizado escaneos en el sistema local y en servidores remotos.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles