Installer et utiliser Greenbone Vulnerability Manager dans la distribution Kali Linux
- Mise à jour le 30 nov. 2024

Greenbone Vulnerability Manager (anciennement OpenVAS) est un logiciel Open source qui inclus plusieurs outils (OpenVas, WebUI, …) pour réaliser des analyses de vulnérabilités.
En effet, nous pourrons depuis ce logiciel réaliser une analyse complète des vulnérabilités d'un réseau ou d'une seule machine.
Historiquement Greenbone Vulnerability Manager est un fork de Nessus qui est devenu aurjourd'hui un logiciel propriétaire.
- Principales caractéristiques :
- Scanner de vulnérabilité
- Fork de Nessus
- Capable de traquer les failles de sécurités d'un poste ou d'un réseau
- Version de Kali Linux : 2024.3
Installer GVM
Installation
- Mettre à jour les paquets :
kali@kali:~$ sudo apt update && sudo apt dist-upgrade
- Installer les paquets logiciels suivant :
kali@kali:~$ sudo apt install gvm postgresql nsis
- Lancer le script de mise en service :
- Ce dernier effectuera les actions suivantes :
- Démarrer les service et création de la base PostgreSQL
- Création des fichiers certificats GVM
- Application des permissions
- Mise à jour des définitions de vulnérabilités
- Création et paramétrage du compte admin
- Ce dernier effectuera les actions suivantes :
kali@kali:~$ sudo gvm-setup
[…]
[*] Please note the password for the admin user
[*] User created with password 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'.
[>] You can now run gvm-check-setup to make sure everything is correctly configured
Bien noter le mot de passe de l'utilisateur admin.
- Démarrer les services gvmd et gsad :
kali@kali:~$ sudo systemctl start gvmd.service && sudo systemctl start gsad.service
- Lancer le script de vérification de configuration :
kali@kali:~$ sudo gvm-check-setup
[>]
It seems like your GVM-23.11.0 installation is OK.
- Vérifier que le service gvmd est correctement lancé :
kali@kali:~$ sudo systemctl status gvmd.service
- Vérifier que le service WebUI est en attente de clients :
kali@kali:~$ sudo ss -ltn4p
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:9392 0.0.0.0:* users:(("gsad",pid=2243,fd=10))
- Donner les droits de création de taches à l'utilisateur admin :
kali@kali:~$ sudo gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value admin
- On devrait maintenant pouvoir se connecter à l'adresse https://127.0.0.1:9392 avec le login admin :

Changer l'interface de connection WebUI (Optionnel)
Dans sa configuration par défaut Greenbone Security Assistant (GSA) (WebUI) est seulement accessible via l'adresse locale (127.0.0.1). Pour pouvoir se connecter à l'interface Web depuis n'importe quel hôte du réseau nous aurons besoins de modifier la configuration systemctl des services.
- Modifier le fichier /usr/lib/systemd/system/gvmd.service :
[Unit]
Description=Greenbone Vulnerability Manager daemon (gvmd)
After=network.target networking.service postgresql.service ospd-openvas.service
Wants=postgresql.service ospd-openvas.service
Documentation=man:gvmd(8)
ConditionKernelCommandLine=!recovery
[Service]
Type=forking
User=_gvm
Group=_gvm
PIDFile=/run/gvmd/gvmd.pid
RuntimeDirectory=gvmd
RuntimeDirectoryMode=2775
#ExecStart=/usr/sbin/gvmd --osp-vt-update=/run/ospd/ospd.sock --listen-group=_gvm
ExecStart=/usr/sbin/gvmd --osp-vt-update=/run/ospd/ospd.sock -a 0.0.0.0
Restart=always
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target
- Modifier le fichier /usr/lib/systemd/system/gsad.service :
[Unit]
Description=Greenbone Security Assistant daemon (gsad)
Documentation=man:gsad(8) https://www.greenbone.net
After=network.target gvmd.service
Wants=gvmd.service
[Service]
Type=forking
User=_gvm
Group=_gvm
RuntimeDirectory=gsad
RuntimeDirectoryMode=2775
PIDFile=/run/gsad/gsad.pid
#ExecStart=/usr/sbin/gsad --foreground --listen 127.0.0.1 --port 9392
ExecStart=/usr/sbin/gsad --mlisten=KALI_IP_ADDRESS --listen 0.0.0.0 --port 9392
ExecStart=/usr/sbin/gsad --foreground --mlisten=192.168.1.19 --listen 0.0.0.0 --port 9392
Restart=always
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target
Alias=greenbone-security-assistant.service
- Recharger la configuration systemd :
kali@kali:~$ sudo systemctl daemon-reload
- Redémarrer les services gvm :
kali@kali:~$ sudo systemctl restart gvmd.service
kali@kali:~$ sudo systemctl restart gsad.service
Commandes Utiles
- Mettre à jour le Network Vulnerability Tests :
kali@kali:~$ sudo -u _gvm greenbone-nvt-sync
- Mettre à jour les feeds :
kali@kali:~$ sudo greenbone-feed-sync --type CERT
kali@kali:~$ sudo greenbone-feed-sync --type SCAP
kali@kali:~$ sudo greenbone-feed-sync --type GVMD_DATA
- Créer un compte gvadmin :
kali@kali:~$ sudo runuser -u _gvm -- gvmd --create-user=gvadmin --password=stPassw0rd --disable-password-policy
- Obtenir l'UUIDs de tous les utilisateurs :
kali@kali:~$ sudo runuser -u _gvm -- gvmd --get-users --verbose
- Changer le mot de passe d'un utilisateur :
kali@kali:~$ sudo runuser -u _gvm -- gvmd --user=gvadmin --new-password=gvadmin
Utiliser GVM
Nous allons voir ici comment réaliser une première analyse de vulnérabilités d'un hôte.
Créer une cible
- Aller dans Targets :

- Cliquer sur le lien de Nouvelle Cible :

- Définir la cible à analyser en paramétrant l'adresse ip et en lui donnant un Nom :

Création d'une tâche
- Ouvrir Tasks :

- Cliquer sur l'icône de création de Nouvelle Tache :

- Définir la Tache en précisant son Nom, en associant la Cible et en cochant Schedule Once :

- Cliquer sur le bouton Play afin de Lancer la tache :

- Après quelques minutes, une fois la tache terminée, cliquer sur le lien pour accéder au dernier rapport du scan de vulnérabilités :

- On devrait accéder à un rapport complet :

Dépannage
À la création de la première tache, juste après l'installation, on pourra se trouver à avoir l'erreur suivante : Failed to find config 'daba56c8-73ec-11df-a475-002264764cea'. Cela peut venir du fait que l'utilisateur n'a pas les droits de créer de tache. Cela peut également venir du fait que tout les éléments n'ont pas encore été téléchargé. Voyons ci-dessous comment faire pour résoudre cela.
- Donner les droits de création de taches à l'utilisateur admin :
kali@kali:~$ sudo gvmd --modify-setting 78eceaec-3385-11ea-b237-28d24461215b --value admin
- Cela peut également venir du fait qu'une mise à jour est en cours (processur particulièrement long lors de la première initialisation), on pourra pour cela surveiller les logs pour contrôler l'avancement :
kali@kali:~$ sudo tail -f /var/log/gvm/gvmd.log
md manage: INFO:2024-11-30 16h50.23 utc:4774: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2011.xml
md manage: INFO:2024-11-30 16h51.22 utc:4774: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2018.xml
md manage: INFO:2024-11-30 16h53.13 utc:4774: Updating /var/lib/gvm/scap-data/nvdcve-2.0-2019.xml
- Et également vérifier l'activité du processus gvmd dans le dossier /var/lib/gvm/ :
kali@kali:~$ sudo lsof +D /var/lib/gvm/
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/109/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gvmd 4771 _gvm 18uW REG 8,1 0 1493222 /var/lib/gvm/feed-update.lock
gvmd 4774 _gvm 18u REG 8,1 0 1493222 /var/lib/gvm/feed-update.lock
gvmd 4774 _gvm 20r DIR 8,1 4096 1453575 /var/lib/gvm/scap-data
gvmd 4774 _gvm 21r REG 8,1 107150285 1493243 /var/lib/gvm/scap-data/nvdcve-2.0-2020.xml