Greenbone Vulnerability Management (GVM)

Scanner de vulnérabilités et plateforme de gestion open-source complète, anciennement connue sous le nom d'OpenVAS. Full-featured open-source vulnerability scanner and management platform, formerly known as OpenVAS.

↗ https://www.greenbone.net

Overview

GVM (the successor branding of OpenVAS) is a complete vulnerability management stack: a scanning engine with a continuously updated Network Vulnerability Test (NVT) feed, a scan scheduler, a results database, and a web UI (Greenbone Security Assistant) for configuring scans and reviewing findings. It’s the standard open-source alternative to Nessus/Nexpose for broad, credentialed or uncredentialed vulnerability scanning across a network range.

Common Usage

Check service status

sudo gvm-check-setup

Start all GVM services (scanner, manager, web UI)

sudo gvm-start
# Update the NVT/vulnerability feed
sudo greenbone-nvt-sync
sudo greenbone-feed-sync --type GVMD_DATA

# Access the web UI (default)
# https://127.0.0.1:9392

Scanning via gvm-cli / gvm-tools

List existing scan configs

gvm-cli socket --gmp-username admin --gmp-password <pass> \
  --xml "<get_configs/>"
# Create and start a task via gvm-tools (Python scripting interface)
python3 <<'EOF'
from gvm.connections import UnixSocketConnection
from gvm.protocols.gmp import Gmp

with Gmp(connection=UnixSocketConnection()) as gmp:
    gmp.authenticate('admin', '<pass>')
    gmp.create_target(name='engagement-scope', hosts=['10.10.10.0/24'])
    # ... create_task(), start_task() follow the same pattern
EOF

Tips

  • The NVT feed sync (greenbone-feed-sync) is large and slow on first run — budget time before an engagement, not during it
  • Full/deep scans are noisy and can trip IDS/IPS easily — coordinate scan windows with the client like any active vulnerability scan
  • Credentialed scans (SSH/SMB creds supplied in the target config) surface far more findings than unauthenticated scans — always prefer credentialed when creds are in scope
  • The web UI is the easiest entry point for one-off scans; gvm-tools/GMP API is better for scripted, repeatable scan pipelines
Help / Man page
gvm-start / gvm-stop / gvm-check-setup   Service management scripts

gvm-cli <connection-type> [options]
  connection-type: socket | tls | ssh
  --gmp-username <user>    GMP authentication username
  --gmp-password <pass>    GMP authentication password
  --xml <xml>               Raw GMP XML command to send

greenbone-feed-sync --type <TYPE>
  TYPES: GVMD_DATA, SCAP, CERT, NVT

Key components:
  gvmd          Manager daemon (task/result database, GMP protocol)
  ospd-openvas  Scanner daemon wrapping the OpenVAS NVT engine
  gsad          Greenbone Security Assistant (web UI), default port 9392

Vue d’ensemble

GVM (le nom successeur d’OpenVAS) est une pile complète de gestion de vulnérabilités : un moteur de scan avec un flux Network Vulnerability Test (NVT) mis à jour en continu, un planificateur de scans, une base de résultats, et une interface web (Greenbone Security Assistant) pour configurer les scans et consulter les résultats. C’est l’alternative open-source standard à Nessus/Nexpose pour du scan de vulnérabilités large, avec ou sans identifiants, sur une plage réseau.

Utilisation courante

# Vérifier l'état des services
sudo gvm-check-setup

# Démarrer tous les services GVM (scanner, manager, interface web)
sudo gvm-start

# Mettre à jour le flux NVT/vulnérabilités
sudo greenbone-nvt-sync
sudo greenbone-feed-sync --type GVMD_DATA

# Accéder à l'interface web (par défaut)
# https://127.0.0.1:9392

Scanner via gvm-cli / gvm-tools

# Lister les configurations de scan existantes
gvm-cli socket --gmp-username admin --gmp-password <pass> \
  --xml "<get_configs/>"

# Créer et démarrer une tâche via gvm-tools (interface de script Python)
python3 <<'EOF'
from gvm.connections import UnixSocketConnection
from gvm.protocols.gmp import Gmp

with Gmp(connection=UnixSocketConnection()) as gmp:
    gmp.authenticate('admin', '<pass>')
    gmp.create_target(name='engagement-scope', hosts=['10.10.10.0/24'])
    # ... create_task(), start_task() follow the same pattern
EOF

Conseils

  • La synchronisation du flux NVT (greenbone-feed-sync) est volumineuse et lente au premier lancement : prévoyez du temps avant une mission, pas pendant
  • Les scans complets/approfondis sont bruyants et peuvent facilement déclencher un IDS/IPS : coordonnez les fenêtres de scan avec le client comme pour tout scan de vulnérabilités actif
  • Les scans avec identifiants (identifiants SSH/SMB fournis dans la configuration de la cible) remontent bien plus de résultats que les scans sans identifiants : privilégiez toujours le scan authentifié quand les identifiants sont dans le périmètre
  • L’interface web est le point d’entrée le plus simple pour des scans ponctuels ; gvm-tools/l’API GMP est préférable pour des pipelines de scan scriptés et reproductibles
Aide / Page de manuel
gvm-start / gvm-stop / gvm-check-setup   Service management scripts

gvm-cli <connection-type> [options]
  connection-type: socket | tls | ssh
  --gmp-username <user>    GMP authentication username
  --gmp-password <pass>    GMP authentication password
  --xml <xml>               Raw GMP XML command to send

greenbone-feed-sync --type <TYPE>
  TYPES: GVMD_DATA, SCAP, CERT, NVT

Key components:
  gvmd          Manager daemon (task/result database, GMP protocol)
  ospd-openvas  Scanner daemon wrapping the OpenVAS NVT engine
  gsad          Greenbone Security Assistant (web UI), default port 9392