LINUX:Openvas-Kali

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu d'Openvas


But

Openvas est un outil qui sert à trouver les failles connues du moment. Il attaque, sans préjudice, votre serveur à distance à travers votre réseau ou à travers Internet. Le rapport vous signale les failles, leur gravité et, si possible, des solutions.

Lors de mes essais d'installation d'Openvas sur des versions récentes de Fedora (Fedora 40), l'installation était impossible car certains paquets dépendants étaient manquants.

Je me suis rabattu sur Kali-Linux.


Kali

Au lieu de prendre une machine physique, je me suis orienté vers une machine virtuelle.


Installation

Sur le site de Kali-Linux, une image toute faite existe pour le gestionnaire de machines virtuelles VirtualBox à l'URL: https://www.kali.org/get-kali/#kali-virtual-machines

La procédure d'installation est facile; elle est décrite à l'URL: https://www.kali.org/docs/virtualization/import-premade-virtualbox/

On obtient un fichier compressé à décompresser avec "7Zip" (par exemple: "kali-linux-2025.3-virtualbox-amd64.7z"). On deux fichiers: un fichier de paramètres de la machine virtuelle ("kali-linux-2025.3-virtualbox-amd64.vbox") et l'image de cette machine virtuelle ("kali-linux-2025.3-virtualbox-amd64.vdi").

Dans le dossier de nos machines virtuelles de VirtualBox ("VirtualBox VMs"), on crée un répertoire du nom de base de nos fichiers résultants de notre extraction ("kali-linux-2025.3-virtualbox-amd64"). Et on y met ces deux fichiers.

On ouvre le programme VirtualBox et dans le menu du haut, on clique sur l'option "Ajouter". L'écran résultant nous invite à introduire le nom du fichier de paramètres de notre nouvelle machine virtuelle ("kali-linux-2025.3-virtualbox-amd64.vbox"). On obtient au final, l'écran suivant.



Je conseille fortement d’augmenter la mémoire de cette machine virtuelle. A la base, elle est de 2 GB mais dès le lancement d'Openvas, la machine va "swapper" et vous aurez l'impression qu'elle est bloquée. Je suis passé à 6 GB pour éviter ce problème. Pour ce faire, avant de lancer la machine virtuelle, on sélectionne notre machine virtuelle dans la colonne de gauche et ensuite on clique dans le menu sur l'option "Configuration".

Dans le menu qui s'ouvre, dans l'onglet de gauche "System", on déplace ce curseur de la "Mémoire vive" à la valeur souhaitée. On valide.



Notons qu'au final, l'espace disque de cette machine virtuelle montera à 50 GB.


Premier contact

On peut maintenant lancer notre machine. C'est une station de travail avec un interface X Windows.

Pour se connecter, le nom d'utilisateur est "kali" et le mot de passe "kali" mais nous nous apercevons vite que nous sommes confrontés à un clavier QWERTY car l'installation est faite pour les Etats-Unis. Pour le mot "kali", vous devrez taper les touches "kqli".

La première opération à faire est d'adapter ce clavier, la langue et, tant qu'on y est, le fuseau horaire. Suivez les instructions de l'article sur KALI. Ensuite on redémarre.

La seconde étape consiste à mettre à jour les paquets de cette distribution. On lance une console ROOT comme expliqué dans l'article sur KALI. Et on introduit successivement les deux commandes suivantes:

apt update
apt upgrade

Lors de cette opération, mon anti-virus a bloqué divers paquets; désactivez momentanément ce dernier.

Pour mon confort de navigation et d'édition, j'installe Midnight Commander:

apt install mc

On peut avoir un aperçu de son utilisation dans l'article sur Midnight Commander. Mais on peut très bien utiliser les outils classiques offerts par une station de travail.

Notons que l'on peut éviter la console ROOT et passer par une console classique mais alors toutes les commandes données devrons être précédées de la commande "sudo" qui vous demandera une authentification.


Autre conseil, ajoutez le nom de vos machines locales que vous allez tester ainsi que leur adresse IP correspondante dans le fichier "/etc/hosts" grâce à un éditeur de texte.


Installation

Nous allons procéder à son installation. Cette procédure est expliquée à l'URL: https://greenbone.github.io/docs/latest/22.4/kali/index.html

Openvas a changé de nom pour "Greenbone". Et donc le nom du paquet a aussi changé. On introduit la commande dans une console ROOT:

apt install gvm


Configuration

La configuration est simple et automatique. On lance la commande suivante toujours dans une console ROOT:

gvm-setup

Toute une procédure se met en route:


[>] Starting PostgreSQL service
[>] Creating GVM's certificate files
[>] Creating PostgreSQL database
[*] Creating database user
[*] Creating database
[*] Creating permissions
CREATE ROLE
[*] Applying permissions
GRANT ROLE
[*] Creating extension uuid-ossp
CREATE EXTENSION
[*] Creating extension pgcrypto
CREATE EXTENSION
[*] Creating extension pg-gvm
CREATE EXTENSION
[>] Migrating database
[>] Checking for GVM admin user
[*] Creating user admin for gvm
[*] Please note the generated admin password
[*] User created with password c991b60f-7cd5-4562-9148-81e1835b7b70.
[*] Configure Feed Import Owner
[*] Define Feed Import Owner
[*] Update GVM feeds
Running as root. Switching to user '_gvm' and group '_gvm'.
Trying to acquire lock on /var/lib/openvas/feed-update.lock
Acquired lock on /var/lib/openvas/feed-update.lock
 Downloading Notus files from 
rsync://feed.community.greenbone.net/community/vulnerability-feed/24.10/vt-data/notus/ to /var/lib/notus
 Downloading NASL files from 
rsync://feed.community.greenbone.net/community/vulnerability-feed/24.10/vt-data/nasl/ to /var/lib/openvas/plugins
Releasing lock on /var/lib/openvas/feed-update.lock
Trying to acquire lock on /var/lib/gvm/feed-update.lock
Acquired lock on /var/lib/gvm/feed-update.lock
 Downloading SCAP data from 
rsync://feed.community.greenbone.net/community/vulnerability-feed/24.10/scap-data/ to /var/lib/gvm/scap-data
 Downloading CERT-Bund data from 
rsync://feed.community.greenbone.net/community/vulnerability-feed/24.10/cert-data/ to /var/lib/gvm/cert-data
 Downloading gvmd data from 
rsync://feed.community.greenbone.net/community/data-feed/24.10/ to /var/lib/gvm/data-objects/gvmd
Releasing lock on /var/lib/gvm/feed-update.lock
[*] Checking Default scanner
[*] Modifying Default Scanner
Scanner modified.
[+] Done
[*] Please note the password for the admin user
[*] User created with password c991b60f-7cd5-4562-9148-81e1835b7b70.
[>] You can now run gvm-check-setup to make sure everything is correctly configured

Il est important de noter le nom d'utilisateur et son mot de passe qui permettront de rentrer dans Openvas.

Au passage, vous remarquerez que divers fichiers sont chargés. Ce sont les bases de données nécessaires pour effectuer les tests d'intrusions.

Ces tests changent au cours du temps et d'autres tests de vulnérabilisés sont ajoutés. Si par la suite, vous désirez les mettre à jour, lancez la commande:

greenbone-feed-sync


Vérification

Il est conseillé d'effectuer une vérification de cette configuration grâce à la commande:

gvm-check-setup

De nouveau toute une procédure se met en route avec le démarrage de divers services:


gvm-check-setup 25.04.0
 This script is provided and maintained by Debian and Kali.
  Test completeness and readiness of GVM-25.04.0
Step 1: Checking OpenVAS (Scanner)... 
       OK: OpenVAS Scanner is present in version 23.23.1.
       OK: Notus Scanner is present in version 22.7.2.
       OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem.
Checking permissions of /var/lib/openvas/gnupg/*
       OK: _gvm owns all files in /var/lib/openvas/gnupg
       OK: redis-server is present.
       OK: scanner (db_address setting) is configured properly using the redis-server socket: /var/run/redis-openvas/redis-server.sock
       OK: the mqtt_server_uri is defined in /etc/openvas/openvas.conf
       OK: _gvm owns all files in /var/lib/openvas/plugins
       OK: NVT collection in /var/lib/openvas/plugins contains 94615 NVTs.
       OK: The notus directory /var/lib/notus/products contains 505 NVTs.
Checking that the obsolete redis database has been removed
Could not connect to Redis at /var/run/redis-openvas/redis-server.sock: No such file or directory
       OK: No old Redis DB
       Starting ospd-openvas service
       Waiting for ospd-openvas service
       OK: ospd-openvas service is active.
       OK: ospd-OpenVAS is present in version 22.9.0.
Step 2: Checking GVMD Manager ... 
       OK: GVM Manager (gvmd) is present in version 26.2.1.
Step 3: Checking Certificates ... 
       OK: GVM client certificate is valid and present as /var/lib/gvm/CA/clientcert.pem.
       OK: Your GVM certificate infrastructure passed validation.
Step 4: Checking data ... 
       OK: SCAP data found in /var/lib/gvm/scap-data.
       OK: CERT data found in /var/lib/gvm/cert-data.
Step 5: Checking Postgresql DB and user ... 
       OK: Postgresql version and default port are OK.
 gvmd      | _gvm     | UTF8     | libc            | fr_BE.UTF-8 | fr_BE.UTF-8 |        |           | 16436|pg-gvm|10|2200|f|22.6||
       OK: At least one user exists.
Step 6: Checking Greenbone Security Assistant (GSA) ... 
       OK: Greenbone Security Assistant is present in version 24.2.3~git.
Step 7: Checking if GVM services are up and running ... 
       Starting gvmd service
       Waiting for gvmd service
       OK: gvmd service is active.
       Starting gsad service
       Waiting for gsad service
       OK: gsad service is active.
Step 8: Checking few other requirements...
       OK: nmap is present.
       OK: ssh-keygen found, LSC credential generation for GNU/Linux targets is likely to work.
       OK: nsis found, LSC credential package generation for Microsoft Windows targets is likely to work.
       OK: xsltproc found.
       WARNING: Your password policy is empty.
       SUGGEST: Edit the /etc/gvm/pwpolicy.conf file to set a password policy.
Step 9: Checking greenbone-security-assistant...
       OK: greenbone-security-assistant is installed
It seems like your GVM-25.04.0 installation is OK.

A ce stade, je conseille de redémarrer la machine.


Lancement

Maintenant on entre dans le vif du sujet. On va lancer l'interface d'Openvas avec la commande:

gvm-start

Elle se charge de lancer tous les services qui en dépendent.

Son pendant pour l'arrêter est:

gvm-stop

Si tout se passe bien, une fenêtre de type WEB apparaît. On introduit le nom d'utilisateur "admin" et le mot de passe généré lors de la configuration. C'est Firefox qui est lancé et qui se connecte à l'URL https://127.0.0.1:9392.



Statut

La première étape consiste à vérifier que toutes les bases de données des vulnérabilités sont bien chargées. Tant que cette étape n'est pas finie, vous ne pourrez pas lancer une tâche. Pour cette vérification, allez dans le menu de gauche dans la partie "Administration" et à l'intérieur dans l'option "Feed Status". Il faut que tous les statuts soient à "Current" et non plus à "Update...". Dans mon cas, cette étape a duré toute la nuit.



Tâche

L'étape précédente étant finalisée, on peut passer au lancement d'une tâche.

Pour maximiser la détection de problèmes internes dans la machine cible, je désactive momentanément certaines protections tels Wazuh, Fail2Ban ou certaines règles du FireWall sous forme de liste blanche par exemple. Notre machine virtuelle Kali sera détectée via l'adresse IP de la machine qui l'héberge. Dès que nous aurons fini nos détections et la résolution des problèmes détectés, on refermera ces trous dans nos murs.

On va ouvrir la fenêtre des tâches ("Tashs") en cliquant dans le menu de gauche dans la partie "Scans" et à l'intérieur dans l'option "Tashs".



En haut de cet écran, on remarque une baguette magique. On clique dessus et dans le menu contextuel qui s'ouvre, on peut créer une nouvelle tâche ("Task wizard"). Dans fenêtre qui s'ouvre, il suffit d'introduire l'adresse IP de la machine à tester ou son nom. On lance cette tâche en cliquant sur le bouton du bas à droite "Start Scan".



On peut suivre l'évolution du traitement. La fenêtre se met à jour régulièrement.


Résultat

Quant la tâche est terminée, on peut passer au point suivant dans le menu de gauche "Reports". Vous avez une vue globale du niveau et du nombre de problèmes de chaque tâche.



En cliquant sur une des tâches, vous passerez à une vue détaillée.



Passez en revue les différents onglets. Chaque problème, outre son niveau de vulnérabilité, comporte une description succincte et éventuellement une solution.

Dès que des solutions sont apportées sur la machine cible, on relance le scan pour vérification.




retour au menu d'Openvas