Vulnérabilités · 8 min read · Sep 16, 2025
Comment installer et utiliser le scanner de vulnérabilités Vuls sur Ubuntu 24.04

Vuls est un scanner de vulnérabilités sans agent, gratuit et open-source qui peut être exécuté partout. Vous pouvez exécuter Vuls sur le Cloud, sur site et Docker, et il prend en charge les principales distributions. Vuls prend en charge plusieurs bases de données de vulnérabilités telles que NVD, JVN, OVAL, RHSA/ALAS/ELSA/FreeBSD-SA.
Avec Vuls, vous pouvez scanner plusieurs systèmes d’exploitation en utilisant plusieurs méthodes. Vous pouvez scanner les locaux de votre hôte, et vous pouvez scanner des hôtes/serveurs distants via SSH. Il fournit également plusieurs méthodes de scan, un scan rapide qui ne nécessite pas de privilèges root et un scan approfondi qui nécessite des privilèges root. Vuls peut scanner plusieurs serveurs cibles à la fois. Lorsque le scan est terminé, vous pouvez envoyer le résultat par Email et Slack.
Dans ce guide, nous allons vous montrer comment installer le scanner de vulnérabilités Vuls sur un serveur Ubuntu 24.04. Vous allez installer Vuls, générer des bases de données CVE et scanner Ubuntu/Debian via des scans locaux et distants.
Prérequis
Pour commencer ce guide, assurez-vous d’avoir les éléments suivants :
- Un serveur Ubuntu 24.04
- Un utilisateur non-root avec des privilèges root
- Une machine Ubuntu/Debian supplémentaire pour le scan distant via Vuls
Installation des dépendances
Avant d’installer Vuls, vous devez vous assurer que Golang est installé sur votre système. Pour l’instant, la dernière version de Vuls nécessite la dernière version de Golang, donc vous devez installer Golang manuellement en téléchargeant le package binaire.
Tout d’abord, exécutez la commande ci-dessous pour mettre à jour l’index des paquets Ubuntu et installer des dépendances telles que ‘sqlite3‘, ‘git‘, ‘make‘ et ‘gcc‘.
sudo apt update
sudo apt install sqlite3 git debian-goodies gcc make wget -y
Après l’installation des dépendances, vous devez installer Golang sur votre système. Dans cet exemple, vous allez installer la dernière version de Golang via une installation binaire manuelle.
Sélectionnez votre version de Golang avec ce qui suit. Par exemple, Golang 1.23.2 :
export latest_version=1.23.2Exécutez la commande ‘wget’ ci-dessous pour télécharger Golang et l’extraire dans le répertoire ‘/usr/local‘ avec la commande ‘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.gzUne fois Golang installé, connectez-vous à votre utilisateur et créez un nouveau répertoire ‘go‘ dans le répertoire personnel.
su - arvd
mkdir $HOME/goEnsuite, créez un nouveau fichier d’environnement ‘/etc/profile.d/go-env.sh‘ avec l’éditeur ‘nano‘.
sudo nano /etc/profile.d/go-env.shCollez la configuration suivante pour configurer PATH pour Golang.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/binEnregistrez et quittez le fichier une fois terminé.
Maintenant, rendez le ‘/etc/profile.d/go-env.sh‘ exécutable et chargez-le dans votre session actuelle avec la commande ‘source‘.
sudo chmod +x /etc/profile.d/go-env.sh
source /etc/profile.d/go-env.shEnfin, vérifiez le fichier binaire pour ‘go‘ et vérifiez sa version avec ce qui suit :
which go
go versionComme vous pouvez le voir ci-dessous, Golang ‘1.23.2‘ est installé dans le ‘/usr/local/go/bin/go‘.

Installation de Vuls et des dictionnaires Vuls
Après l’installation de Golang, vous allez compiler et installer Vuls et ses composants pour construire des bases de données CVE au format sqlite3. Voici quelques composants Vuls que vous allez installer :
- ‘go-cve-dictionary‘ est utilisé pour construire la NVD (National Vulnerabilities Database)
- ‘goval-dictionary‘ pour construire la base de données OVAL qui contient des CVE pour la plupart des distributions Linux telles que Debian, Ubuntu et RedHat
- ‘go-exploitdb‘ pour rechercher des exploits dans les bases de données exploitdb
- ‘go-msfdb‘ pour rechercher des CVEs dans les bases de données Metasploit
- ‘go-kev‘ pour construire une copie locale de KEV (Known Exploited Vulnerabilities) fournie par CISA
- ‘go-cti‘ qui sera utilisé pour construire une base de données CVE à partir de CTI (Cyber Threat Intelligence)
Tout d’abord, exécutez la commande ci-dessous pour créer de nouveaux répertoires de journaux et changer la propriété à votre utilisateur tel que ‘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}Créez un nouveau répertoire ‘$GOPATH/src/github.com/vulsio’ avec ce qui suit :
mkdir -p $GOPATH/src/github.com/vulsioDéplacez-vous dans le répertoire ‘$GOPATH/src/github.com/vulsio’, téléchargez le code source de l’outil ‘go-cve-dictionary‘ via ‘git’, puis compilez et installez-le.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-cve-dictionary.git
cd go-cve-dictionary; make install
Maintenant, exécutez la commande ci-dessous pour télécharger, compiler et installer l’outil ‘goval-dictionary‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/goval-dictionary.git
cd goval-dictionary; make installAprès l’installation de ‘goval-dictionary’, passez à l’outil suivant pour installer l’outil ‘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
Ensuite, exécutez la commande ci-dessous pour installer et compiler l’outil ‘go-msfdb‘.
cd $GOPATH/src/github.com/vulsio
git clone https://github.com/vulsio/go-msfdb.git
cd go-msfdb; make install
Après cela, installez l’outil ‘go-kev‘ pour construire des bases de données CVE pour KEV (Known Exploited Vulnerabilities) par CIS par 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.sqlite3Et ensuite, installez l’outil ‘go-cti‘ qui sera utilisé pour construire des CVEs à partir de 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.sqlite3Ensuite, exécutez la commande ci-dessous pour télécharger, compiler et installer ‘vuls‘ sur votre machine 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
Lorsque tout est installé, le fichier binaire pour chaque outil sera disponible dans le répertoire ‘$GOPATH/bin’. Exécutez la commande ci-dessous pour vérifier ce répertoire.
ls $GOPATH/bin/Vous pouvez voir ci-dessous le fichier binaire pour ‘vuls‘, ‘go-cve-dictionary‘, ‘goval-dictionary‘, ‘go-exploitdb‘, ‘go-msfdb‘, ‘go-kev‘ et ‘go-cti‘.
Enfin, vous pouvez également vérifier la commande ‘vuls‘ ci-dessous. Cela vous montrera le message d’aide pour ‘vuls‘.
vuls help
Téléchargement des bases de données CVEs (Common Vulnerabilities and Exposure)
Dans cet exemple, vous allez télécharger des bases de données CVE pour :
- NVD (National Vulnerabilities Database) via ‘go-cve-dictionary‘
- OVAL (Open Vulnerability and Assessment Language) pour Ubuntu 24.04 via ‘goval-dictionary‘
- Bases de données ExploitDB via ‘go-exploitdb‘
- Bases de données Metasploit via ‘go-msfdb‘
- Catalogue KEV (Known Exploited Vulnerabilities) par CISA via ‘go-kev‘
- Bases de données MITRE ATT&CK et CAPEC via ‘go-cti‘
Allez dans votre répertoire personnel avec ce qui suit :
cd $HOMEMaintenant, exécutez la commande ci-dessous pour télécharger et construire des bases de données 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


Après que le processus soit terminé, vos bases de données CVE seront disponibles dans votre répertoire personnel au format ‘.sqlite3‘. Vérifiez la liste des bases de données avec ce qui suit :
ls -ah *.sqlite3Scanner la machine locale avec Vuls
Maintenant que vous avez installé Vuls et ses composants, y compris les bases de données CVE. Dans cette section, vous allez scanner votre machine Ubuntu locale avec Vuls.
Dans votre répertoire personnel, créez un nouveau fichier ‘config.toml‘ avec l’éditeur ‘nano‘.
nano config.tomlInsérez la configuration ci-dessous pour configurer le scan pour localhost avec le mode ‘fast’.
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]Enregistrez le fichier et quittez l’éditeur.
Maintenant, exécutez la commande ‘vuls’ ci-dessous pour vérifier le fichier ‘config.toml’.
vuls configtestSi vous avez une configuration correcte, vous verrez une sortie comme suit :

Ensuite, scannez localhost avec la commande ‘vuls scan‘ ci-dessous.
sudo vuls scanVous pouvez voir ci-dessous que le processus de scan est terminé.

Pour obtenir des détails sur le rapport de scan, utilisez la commande ‘vuls tui‘ ci-dessous. Cela vous montrera l’interface utilisateur terminal du rapport Vuls.
sudo vuls tuiVous pouvez appuyer sur ‘CTRL+c‘ pour quitter le TUI de Vuls.
Scanner un serveur distant avec Vuls
Dans cette section, vous apprendrez comment configurer un scan distant avec Vuls. Vous allez scanner le système distant via SSH avec Vuls. Dans cet exemple, vous allez scanner le serveur cible Debian 12 avec l’adresse IP ‘192.168.10.10‘ et l’utilisateur est ‘alice‘.
Tout d’abord, exécutez la commande ci-dessous pour télécharger la base de données OVAL pour Debian 12.
goval-dictionary fetch debian 12Maintenant, générez des clés publiques et privées SSH, puis téléchargez-les sur le serveur cible avec la commande ‘ssh-copy-id‘.
ssh-keygen -t ed25519
ssh-copy-id [email protected]
Connectez-vous au serveur cible ‘192.168.10.10’, puis mettez à jour l’index des paquets et installez des dépendances telles que ‘debian-goodies‘ et ‘reboot-notifier‘.
ssh [email protected]
sudo apt update && sudo apt install debian-goodies reboot-notifier -yTapez ‘exit‘ pour vous déconnecter du serveur cible.
Ensuite, ouvrez la configuration de Vuls ‘config.toml‘ en utilisant l’éditeur ‘nano‘.
nano ~/config.tomlInsérez la configuration ci-dessous pour ajouter les détails du serveur cible. Dans ce cas, le nouveau serveur cible sera nommé ‘debian12‘ avec l’adresse IP ‘192.168.10.10‘ et l’authentification via la clé SSH.
[servers.debian12]
host = "192.168.10.10"
port = "22"
user = "alice"
keyPath = "~/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" ou "deep"Enregistrez le fichier et quittez l’éditeur.
Maintenant, exécutez la commande ‘vuls‘ ci-dessous pour vérifier votre configuration. Assurez-vous d’avoir une configuration correcte et appropriée.
vuls configtestAprès cela, scannez le serveur distant ‘debian12‘ avec la commande ci-dessous.
vuls scan debian12Vous pouvez voir ci-dessous que le scan distant via Vuls est terminé.

Conclusion
Félicitations ! Vous avez terminé l’installation du scanner de vulnérabilités Vuls sur le serveur Ubuntu 24.04. Vous avez également appris à générer des bases de données CVE avec Vuls, à scanner des serveurs locaux et distants avec Vuls. À partir de là, vous pouvez maintenant intégrer Vuls avec un autre scanner tel que NMAP pour le scan de ports, ou vous pouvez également installer Vulsrepo pour l’interface graphique et web.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.