Escáner de vulnerabilidades · 8 min read · Sep 16, 2025
Cómo instalar y usar el escáner de vulnerabilidades Vuls en Ubuntu 24.04

Vuls es un escáner de vulnerabilidades sin agente, gratuito y de código abierto que se puede ejecutar en cualquier lugar. Puedes ejecutar Vuls en la nube, en local y en Docker, y es compatible con las principales distribuciones. Vuls admite múltiples bases de datos de vulnerabilidades como NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.
Con Vuls, puedes escanear múltiples sistemas operativos utilizando múltiples métodos. Puedes escanear los locales de tu host y puedes escanear hosts/servidores remotos a través de SSH. También proporciona múltiples métodos de escaneo, un escaneo rápido que no requiere privilegios de root y un escaneo profundo que requiere privilegios de root. Vuls puede escanear múltiples servidores de destino a la vez. Cuando el escaneo ha terminado, puedes enviar el resultado por correo electrónico y Slack.
En esta guía, te mostraremos cómo instalar el escáner de vulnerabilidades Vuls en el servidor Ubuntu 24.04. Estarás instalando Vuls, generando bases de datos CVE y escaneando Ubuntu/Debian a través de escaneos locales y remotos.
Requisitos previos
Para comenzar con esta guía, asegúrate de tener lo siguiente:
- Un servidor Ubuntu 24.04
- Un usuario no root con privilegios de root
- Una máquina adicional Ubuntu/Debian para escaneo remoto a través de Vuls
Instalando dependencias
Antes de instalar Vuls, debes asegurarte de que Golang esté instalado en tu sistema. Por ahora, la última versión de Vuls requiere la última versión de Golang, así que necesitas instalar Golang manualmente descargando el paquete binario.
Primero, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu e instalar dependencias como ‘sqlite3‘, ‘git‘, ‘make‘ y ‘gcc‘.
sudo apt update
sudo apt install sqlite3 git debian-goodies gcc make wget -y
Después de que se instalen las dependencias, necesitas instalar Golang en tu sistema. En este ejemplo, estarás instalando la última versión de Golang a través de la instalación manual del binario.
Selecciona tu versión de Golang con lo siguiente. Por ejemplo, Golang 1.23.2:
export latest_version=1.23.2Ejecuta el comando ‘wget’ a continuación para descargar Golang y extraerlo al directorio ‘/usr/local‘ con el comando ‘tar‘.
wget https://dl.google.com/go/go$latest_version.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go$latest_version.linux-amd64.tar.gzUna vez que Golang esté instalado, inicia sesión en tu usuario y crea un nuevo directorio ‘go‘ dentro del directorio home.
su - arvd
mkdir $HOME/goA continuación, crea un nuevo archivo de entorno ‘/etc/profile.d/go-env.sh‘ con el editor ‘nano‘.
sudo nano /etc/profile.d/go-env.shPega la siguiente configuración para configurar PATH para Golang.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/binGuarda y sal del archivo cuando termines.
Ahora haz que ‘/etc/profile.d/go-env.sh‘ sea ejecutable y cárgalo en tu sesión actual con el comando ‘source‘.
sudo chmod +x /etc/profile.d/go-env.sh
source /etc/profile.d/go-env.shPor último, verifica el archivo binario para ‘go‘ y comprueba su versión con lo siguiente:
which go
go versionComo puedes ver a continuación, Golang ‘1.23.2‘ está instalado en ‘/usr/local/go/bin/go‘.

Instalando Vuls y diccionarios de Vuls
Después de que Golang esté instalado, estarás compilando e instalando Vuls y sus componentes para construir bases de datos CVE en formato sqlite3. A continuación se presentan algunos componentes de Vuls que estarás instalando:
- ‘go-cve-dictionary‘ se utiliza para construir la NVD (Base de Datos Nacional de Vulnerabilidades)
- ‘goval-dictionary‘ para construir la base de datos OVAL que contiene CVE para la mayoría de las distribuciones de Linux como Debian, Ubuntu y RedHat
- ‘go-exploitdb‘ para buscar exploits en bases de datos exploitdb
- ‘go-msfdb‘ para buscar CVEs dentro de las bases de datos de Metasploit
- ‘go-kev‘ para construir una copia local de KEV (Vulnerabilidades Conocidas Explotadas) proporcionada por CISA
- ‘go-cti‘ que se utilizará para construir la base de datos CVE de CTI (Inteligencia de Amenazas Cibernéticas)
Primero, ejecuta el siguiente comando para crear nuevos directorios de registro y cambiar la propiedad a tu usuario como ‘arvd’.
sudo mkdir /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}
sudo chown arvd /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}
sudo chmod 700 /var/log/{vuls,go-exploitdb,go-msfdb,go-kev,go-cti}Crea un nuevo directorio ‘$GOPATH/src/github.com/vulsio’ con lo siguiente:
mkdir -p $GOPATH/src/github.com/vulsioMuévete al directorio ‘$GOPATH/src/github.com/vulsio’, descarga el código fuente de la herramienta ‘go-cve-dictionary‘ a través de ‘git’, y luego compílalo e instálalo.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-cve-dictionary.git
cd go-cve-dictionary; make install
Ahora ejecuta el siguiente comando para descargar, compilar e instalar la herramienta ‘goval-dictionary‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/goval-dictionary.git
cd goval-dictionary; make installDespués de que ‘goval-dictionary’ esté instalado, pasa a la siguiente herramienta para instalar la herramienta ‘go-exploitdb‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-exploitdb.git
cd go-exploitdb; make install
ln -s $GOPATH/src/github.com/vulsio/go-exploitdb/go-exploitdb.sqlite3 $HOME/go-exploitdb.sqlite3
A continuación, ejecuta el siguiente comando para instalar y compilar la herramienta ‘go-msfdb‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-msfdb.git
cd go-msfdb; make install
Después de eso, instala la herramienta ‘go-kev‘ para construir bases de datos CVE para KEV (Vulnerabilidades Conocidas Explotadas) por CIS de CISA.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-kev.git
cd go-kev; make install
ln -s $GOPATH/src/github.com/vulsio/go-kev/go-kev.sqlite3 $HOME/go-kev.sqlite3Y luego instala la herramienta ‘go-cti‘ que se utilizará para construir CVEs de CTI (Inteligencia de Amenazas Cibernéticas).
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-cti.git
cd go-cti; make install
ln -s $GOPATH/src/github.com/vulsio/go-cti/go-cti.sqlite3 $HOME/go-cti.sqlite3A continuación, ejecuta el siguiente comando para descargar, compilar e instalar ‘vuls‘ en tu máquina Ubuntu.
mkdir -p $GOPATH/src/github.com/future-architect
cd $GOPATH/src/github.com/future-architect
git clone https://github.com/future-architect/vuls.git
cd vuls; make install
Cuando todo esté instalado, el archivo binario para cada herramienta estará disponible en el directorio ‘$GOPATH/bin’. Ejecuta el siguiente comando para verificar ese directorio.
ls $GOPATH/bin/Puedes ver a continuación el archivo binario para ‘vuls‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-msfdb‘, ‘go-kev‘ y ‘go-cti‘.
Por último, también puedes verificar el comando ‘vuls‘ a continuación. Esto te mostrará el mensaje de ayuda para ‘vuls‘.
vuls help
Descargando bases de datos de CVEs (Vulnerabilidades y Exposiciones Comunes)
En este ejemplo, estarás descargando bases de datos CVE para:
- NVD (Base de Datos Nacional de Vulnerabilidades) a través de ‘go-cve-dictionary‘
- OVAL (Lenguaje de Evaluación y Vulnerabilidad Abierta) para Ubuntu 24.04 a través de ‘goval-dictionary‘
- Bases de datos ExploitDB a través de ‘go-exploitdb‘
- Bases de datos de Metasploit a través de ‘go-msfdb‘
- Catálogo KEV (Vulnerabilidades Conocidas Explotadas) por CISA a través de ‘go-kev‘
- Bases de datos MITRE ATT&CK y CAPEC a través de ‘go-cti‘
Ve a tu directorio home con lo siguiente:
cd $HOMEAhora ejecuta el siguiente comando para descargar y construir bases de datos CVE (Vulnerabilidades y Exposiciones Comunes).
go-cve-dictionary fetch nvd
goval-dictionary fetch ubuntu 24.04
go-exploitdb fetch exploitdb
go-msfdb fetch msfdb
go-kev fetch kevuln
go-cti fetch threat


Después de que el proceso esté completo, tus bases de datos CVE estarán disponibles en tu directorio home con el formato ‘.sqlite3‘. Verifica la lista de bases de datos con lo siguiente:
ls -ah *.sqlite3Escaneando la máquina local con Vuls
Ahora que has instalado Vuls y sus componentes, incluidas las bases de datos CVE. En esta sección, escanearás tu máquina local Ubuntu con Vuls.
Dentro de tu directorio home, crea un nuevo archivo ‘config.toml‘ con el editor ‘nano‘.
nano config.tomlInserta la configuración a continuación para configurar el escaneo para localhost con el modo ‘rápido’.
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]Guarda el archivo y sal del editor.
Ahora ejecuta el comando ‘vuls’ a continuación para verificar el archivo ‘config.toml’.
vuls configtestSi tienes una configuración adecuada, verás una salida como la siguiente:

A continuación, escanea localhost con el comando ‘vuls scan‘ a continuación.
sudo vuls scanPuedes ver a continuación que el proceso de escaneo está completo.

Para obtener detalles del informe de escaneo, utiliza el comando ‘vuls tui‘ a continuación. Esto te mostrará la interfaz de usuario del terminal del informe de Vuls.
sudo vuls tuiPuedes presionar ‘CTRL+c‘ para salir de la TUI de Vuls.
Escaneando servidor remoto con Vuls
En esta sección, aprenderás cómo configurar un escaneo remoto con Vuls. Así que escanearás el sistema remoto a través de SSH con Vuls. En este ejemplo, escanearás el servidor de destino Debian 12 con la dirección IP ‘192.168.10.10‘ y el usuario es ‘alice‘.
Primero, ejecuta el siguiente comando para descargar la base de datos OVAL para Debian 12.
goval-dictionary fetch debian 12Ahora genera claves públicas y privadas SSH, y luego súbelas al servidor de destino con el comando ‘ssh-copy-id‘.
ssh-keygen -t ed25519
ssh-copy-id [email protected]
Conéctate al servidor de destino ‘192.168.10.10’, y luego actualiza el índice de paquetes e instala dependencias como ‘debian-goodies‘ y ‘reboot-notifier‘.
ssh [email protected]
sudo apt update && sudo apt install debian-goodies reboot-notifier -yEscribe ‘exit‘ para cerrar sesión en el servidor de destino.
A continuación, abre la configuración de Vuls ‘config.toml‘ usando el editor ‘nano‘.
nano ~/config.tomlInserta la configuración a continuación para agregar los detalles del servidor de destino. En este caso, el nuevo servidor de destino se llamará ‘debian12‘ con la dirección IP ‘192.168.10.10‘ y la autenticación a través de la clave SSH.
[servers.debian12]
host = "192.168.10.10"
port = "22"
user = "alice"
keyPath = "~/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" o "deep"Guarda el archivo y sal del editor.
Ahora ejecuta el comando ‘vuls‘ a continuación para verificar tu configuración. Asegúrate de tener la configuración correcta y adecuada.
vuls configtestDespués de eso, escanea el servidor remoto ‘debian12‘ con el comando a continuación.
vuls scan debian12Puedes ver a continuación que el escaneo remoto a través de Vuls está completo.

Conclusión
¡Felicidades! Has completado la instalación del escáner de vulnerabilidades Vuls en el servidor Ubuntu 24.04. También has aprendido cómo generar bases de datos CVE con Vuls, escaneando servidores locales y remotos con Vuls. A partir de aquí, ahora puedes integrar Vuls con otro escáner como NMAP para escaneo de puertos, o también puedes instalar Vulsrepo para la interfaz gráfica y basada en web.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.