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
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.2Esegui 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.gzUna volta installato Golang, accedi al tuo utente e crea una nuova directory ‘go‘ all’interno della directory home.
su - arvd
mkdir $HOME/goSuccessivamente, crea un nuovo file di ambiente ‘/etc/profile.d/go-env.sh‘ con l’editor ‘nano‘.
sudo nano /etc/profile.d/go-env.shIncolla la seguente configurazione per impostare PATH per Golang.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/binSalva 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.shInfine, controlla il file binario per ‘go‘ e controlla la sua versione con il seguente comando:
which go
go versionCome puoi vedere qui sotto, Golang ‘1.23.2‘ è installato in ‘/usr/local/go/bin/go‘.

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/vulsioSpostati 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
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 installDopo 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
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
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.sqlite3E 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.sqlite3Successivamente, 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
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
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 $HOMEOra 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


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 *.sqlite3Scansione 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.tomlInserisci 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 configtestSe hai una configurazione corretta, vedrai un output simile al seguente:

Successivamente, scansiona localhost con il comando ‘vuls scan‘ qui sotto.
sudo vuls scanPuoi vedere qui sotto che il processo di scansione è completo.

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 tuiPuoi 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 12Ora 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]
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 -yDigita ‘exit‘ per disconnetterti dal server target.
Successivamente, apri la configurazione di Vuls ‘config.toml‘ utilizzando l’editor ‘nano‘.
nano ~/config.tomlInserisci 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 configtestDopo di che, scansiona il server remoto ‘debian12‘ con il comando qui sotto.
vuls scan debian12Puoi vedere qui sotto che la scansione remota tramite Vuls è completa.

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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.