Vuls Scanner · 7 min read · Sep 16, 2025

Come installare e utilizzare Vuls Vulnerability Scanner su Ubuntu 24.04

Vuls è uno scanner di vulnerabilità senza agenti, gratuito e open-source che può essere eseguito ovunque. Puoi eseguire Vuls su Cloud, on-premise e Docker, e supporta le principali distribuzioni. Vuls supporta più database di vulnerabilità come NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.

Con Vuls, puoi scansionare più sistemi operativi utilizzando più metodi. Puoi scansionare i locali del tuo host e puoi scansionare host/server remoti tramite SSH. Fornisce anche più metodi di scansione, una scansione veloce che non richiede privilegi di root e una scansione approfondita che richiede privilegi di root. Vuls può scansionare più server target contemporaneamente. Quando la scansione è terminata, puoi inviare il risultato via Email e Slack.

In questa guida, ti mostreremo come installare Vuls Vulnerability Scanner sul server Ubuntu 24.04. Installerai Vuls, genererai database CVE e scansionerai Ubuntu/Debian tramite scansioni locali e remote.

Prerequisiti

Per iniziare con questa guida, assicurati di avere i seguenti requisiti:

  • Un server Ubuntu 24.04
  • Un utente non root con privilegi di root
  • Un ulteriore macchina Ubuntu/Debian per la scansione remota tramite Vuls

Installazione delle dipendenze

Prima di installare Vuls, devi assicurarti che Golang sia installato sul tuo sistema. Per ora, l’ultima versione di Vuls richiede l’ultima versione di Golang, quindi devi installare Golang manualmente scaricando il pacchetto binario.

Per prima cosa, esegui il comando qui sotto per aggiornare l’indice dei pacchetti di Ubuntu e installare dipendenze come ‘sqlite3‘, ‘git‘, ‘make‘ e ‘gcc‘.

sudo apt update  
sudo apt install sqlite3 git debian-goodies gcc make wget -y

update repo and install deps

Dopo che le dipendenze sono state installate, devi installare Golang sul tuo sistema. In questo esempio, installerai l’ultima versione di Golang tramite installazione binaria manuale.

Seleziona la tua versione di Golang con il seguente comando. Ad esempio, Golang 1.23.2:

export latest_version=1.23.2

Esegui il comando ‘wget’ qui sotto per scaricare Golang ed estrarlo nella directory ‘/usr/local‘ con il 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.gz

Una volta installato Golang, accedi al tuo utente e crea una nuova directory ‘go‘ all’interno della directory home.

su - arvd  
mkdir $HOME/go

Successivamente, crea un nuovo file di ambiente ‘/etc/profile.d/go-env.sh‘ con l’editor ‘nano‘.

sudo nano /etc/profile.d/go-env.sh

Incolla la seguente configurazione per impostare PATH per Golang.

export GOROOT=/usr/local/go  
export GOPATH=$HOME/go  
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Salva ed esci dal file quando hai finito.

Ora rendi il file ‘/etc/profile.d/go-env.sh‘ eseguibile e caricalo nella tua sessione corrente con il comando ‘source‘.

sudo chmod +x /etc/profile.d/go-env.sh  
source /etc/profile.d/go-env.sh

Infine, controlla il file binario per ‘go‘ e controlla la sua versione con il seguente comando:

which go  
go version

Come puoi vedere qui sotto, Golang ‘1.23.2‘ è installato in ‘/usr/local/go/bin/go‘.

setup and install Golanfg

Installazione di Vuls e dei dizionari Vuls

Dopo aver installato Golang, compilerai e installerai Vuls e i suoi componenti per costruire database CVE in formato sqlite3. Di seguito sono riportati alcuni componenti di Vuls che installerai:

  • go-cve-dictionary‘ è utilizzato per costruire il NVD (National Vulnerabilities Database)
  • goval-dictionary‘ per costruire il database OVAL che contiene CVE per la maggior parte delle distribuzioni Linux come Debian, Ubuntu e RedHat
  • go-exploitdb‘ per cercare exploit dai database exploitdb
  • go-msfdb‘ per cercare CVE all’interno dei database Metasploit
  • go-kev‘ per costruire una copia locale di KEV (Known Exploited Vulnerabilities) fornita da CISA
  • go-cti‘ che sarà utilizzato per costruire il database CVE da CTI (Cyber Threat Intelligence)

Per prima cosa, esegui il comando qui sotto per creare nuove directory di log e cambiare la proprietà al tuo utente come ‘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 una nuova directory ‘$GOPATH/src/github.com/vulsio’ con il seguente comando:

mkdir -p $GOPATH/src/github.com/vulsio

Spostati nella directory ‘$GOPATH/src/github.com/vulsio’, scarica il codice sorgente dello strumento ‘go-cve-dictionary‘ tramite ‘git’, quindi compila e installalo.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/go-cve-dictionary.git  
cd go-cve-dictionary; make install

cve dictionary

Ora esegui il comando qui sotto per scaricare, compilare e installare lo strumento ‘goval-dictionary‘.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/goval-dictionary.git  
cd goval-dictionary; make install

Dopo che ‘goval-dictionary’ è stato installato, passa al prossimo strumento per installare lo strumento ‘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

go-exploitdb

Successivamente, esegui il comando qui sotto per installare e compilare lo strumento ‘go-msfdb‘.

cd $GOPATH/src/github.com/vulsio  
git clone https://github.com/vulsio/go-msfdb.git  
cd go-msfdb; make install

go-msfdb

Dopo di che, installa lo strumento ‘go-kev‘ per costruire database CVE per KEV (Known Exploited Vulnerabilities) da 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.sqlite3

E poi installa lo strumento ‘go-cti‘ che sarà utilizzato per costruire CVE da CTI (Cyber Threat Intelligence).

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.sqlite3

Successivamente, esegui il comando qui sotto per scaricare, compilare e installare ‘vuls‘ sulla tua macchina 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

install vuls

Quando tutto è installato, il file binario per ogni strumento sarà disponibile nella directory ‘$GOPATH/bin’. Esegui il comando qui sotto per controllare quella directory.

ls $GOPATH/bin/

Puoi vedere qui sotto i file binari per ‘vuls‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-msfdb‘, ‘go-kev‘ e ‘go-cti‘.

Infine, puoi anche controllare il comando ‘vuls‘ qui sotto. Questo ti mostrerà il messaggio di aiuto per ‘vuls‘.

vuls help

check vuls

Scaricare i database CVE (Common Vulnerabilities and Exposure)

In questo esempio, scaricherai i database CVE per:

  • NVD (National Vulnerabilities Database) tramite ‘go-cve-dictionary
  • OVAL (Open Vulnerability and Assessment Language) per Ubuntu 24.04 tramite ‘goval-dictionary
  • Database ExploitDB tramite ‘go-exploitdb
  • Database Metasploit tramite ‘go-msfdb
  • Catalogo KEV (Known Exploited Vulnerabilities) da CISA tramite ‘go-kev
  • Database MITRE ATT&CK e CAPEC tramite ‘go-cti

Vai alla tua directory home con il seguente comando:

cd $HOME

Ora esegui il comando qui sotto per scaricare e costruire i database CVE (Common Vulnerabilities and Exposures).

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

download nvd database

download oval database

download msfdb

Dopo che il processo è completato, i tuoi database CVE saranno disponibili nella tua directory home con il formato ‘.sqlite3‘. Verifica l’elenco dei database con il seguente comando:

ls -ah *.sqlite3

Scansione della macchina locale con Vuls

Ora che hai installato Vuls e i suoi componenti, inclusi i database CVE. In questa sezione, scansionerai la tua macchina locale Ubuntu con Vuls.

All’interno della tua directory home, crea un nuovo file ‘config.toml‘ con l’editor ‘nano‘.

nano config.toml

Inserisci la configurazione qui sotto per impostare la scansione per localhost con la modalità ‘fast’.

[servers]  
  
[servers.localhost]  
host = "localhost"  
port = "local"  
scanMode = [ "fast" ]  
#scanMode = ["fast", "fast-root", "deep", "offline"]

Salva il file ed esci dall’editor.

Ora esegui il comando ‘vuls’ qui sotto per verificare il file ‘config.toml’.

vuls configtest

Se hai una configurazione corretta, vedrai un output simile al seguente:

check configuration

Successivamente, scansiona localhost con il comando ‘vuls scan‘ qui sotto.

sudo vuls scan

Puoi vedere qui sotto che il processo di scansione è completo.

scanning localhost with vuls

Per ottenere dettagli del rapporto di scansione, utilizza il comando ‘vuls tui‘ qui sotto. Questo ti mostrerà l’interfaccia utente terminale del rapporto Vuls.

sudo vuls tui

Puoi premere ‘CTRL+c‘ per uscire dal TUI di Vuls.

Scansione del server remoto con Vuls

In questa sezione, imparerai come impostare una scansione remota con Vuls. Quindi scannerai il sistema remoto tramite SSH con Vuls. In questo esempio, scannerai il server target Debian 12 con l’indirizzo IP ‘192.168.10.10‘ e l’utente è ‘alice‘.

Per prima cosa, esegui il comando qui sotto per scaricare il database OVAL per Debian 12.

goval-dictionary fetch debian 12

Ora genera chiavi pubbliche e private SSH, quindi caricale sul server target con il comando ‘ssh-copy-id‘.

ssh-keygen -t ed25519  
ssh-copy-id [email protected]

copy ssh key

Collegati al server target ‘192.168.10.10’, quindi aggiorna l’indice dei pacchetti e installa dipendenze come ‘debian-goodies‘ e ‘reboot-notifier‘.

ssh [email protected]  
sudo apt update && sudo apt install debian-goodies reboot-notifier -y

Digita ‘exit‘ per disconnetterti dal server target.

Successivamente, apri la configurazione di Vuls ‘config.toml‘ utilizzando l’editor ‘nano‘.

nano ~/config.toml

Inserisci la configurazione qui sotto per aggiungere i dettagli del server target. In questo caso, il nuovo server target sarà chiamato ‘debian12‘ con l’indirizzo IP ‘192.168.10.10‘ e l’autenticazione tramite chiave SSH.

[servers.debian12]  
host = "192.168.10.10"  
port = "22"  
user = "alice"  
keyPath = "~/.ssh/id_ed25519"  
scanMode = [ "fast-root" ] # "fast", "fast-root" o "deep"

Salva il file ed esci dall’editor.

Ora esegui il comando ‘vuls‘ qui sotto per verificare la tua configurazione. Assicurati di avere la configurazione corretta e appropriata.

vuls configtest

Dopo di che, scansiona il server remoto ‘debian12‘ con il comando qui sotto.

vuls scan debian12

Puoi vedere qui sotto che la scansione remota tramite Vuls è completa.

scan remote server with vuls

Conclusione

Congratulazioni! Hai completato l’installazione di Vuls Vulnerability Scanner sul server Ubuntu 24.04. Hai anche imparato come generare database CVE con Vuls, scansionando server locali e remoti con Vuls. Da qui, puoi ora integrare Vuls con un altro scanner come NMAP per la scansione delle porte, oppure puoi anche installare Vulsrepo per l’interfaccia grafica e basata sul web.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.