← retour aux outils back to tools

# 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