Présentation

OpenVAS est un scanner très avancé qui permet de détecter des vulnérabilités sur des serveurs, réseaux et plus globalement tout ce qui possède une adresse. C’est un fork de Nessus, développé par Tenable Network Security. Selon sa complexité, le scan prendra quelques minutes à quelques heures. Un rapport assez exhaustif sera fourni et permettra de se focaliser sur les points à renforcer ; ou à attaquer si vous êtes un script kiddie.

Exemple de rapport

Le scanner est installé par défaut sur la version complète de Kali, avec ses scripts de lancement et d’arrêt. Cependant, il est courant de rencontrer énormément de problèmes avec son démarrage : il ne suffit pas de lancer une commande.

Je propose ici une installation sur n’importe quelle machine basée Debian.

Installation

Premièrement, on tire le paquet depuis les dépôts :

apt update && apt -y upgrade
apt install openvas

OpenVAS nécessite également le système de gestion de base de données REDIS. C’est un serveur de base de données noSQL très hautes performances.

Vous devrez ajouter les dépôts DOTDEB et la clef sur Debian 8 (jessy) :

# Ajout des dépôts
echo 'deb http://ftp.utexas.edu/dotdeb/ stable all' > /etc/apt/sources.list.d/dotdeb.list
echo 'deb-src http://ftp.utexas.edu/dotdeb/ stable all' >> /etc/apt/sources.list.d/dotdeb.list

# Importation de la clef
wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

# Update et ajout du paquet
apt-get update
apt-get install redis-server

C’est plus simple sur Debian 9 (stretch), normalement c’est déjà dans les dépôts :

apt update && apt install redis-server

Il reste maintenant à installer quelques dépendances utiles au scanner :

apt install -y rpm nsis alien
Paramétrage

Un premier problème à résoudre : openVAS utilise une socket pour parler à redis-server, nous devons donc la créer au bon emplacement :

mkdir -p /var/run/redis-openvas
touch /var/run/redis-openvas/redis-server.sock
chmod 755 /var/run/redis-openvas/redis-server.sock

Attention : ça dépend ses systèmes mais il est possible que /run soit réinitialisé à chaque reboot de la machine (montage en tmpfs). Plutôt que de modifier ce fonctionnement (c’est le cas dans Kali),  il est préférable de placer ces commandes de configuration dans un script lancé à chaque démarrage de openVAS & redis-server.

Nous devons maintenant lancer redis-server avec la bonne configuration. Voici mon fichier de configuration, normalement installé par défaut sur Kali et placé dans /etc/redis/redis-openvas.conf :

On lance maintenant REDIS :

redis-server /etc/redis/redis-openvas.conf
openVAS : Lancement

On lance la configuration initiale :

openvas-setup

Un couple user/pass sera créé à la fin de l’initialisation. Par défaut l’utilisateur sera toujours admin, pour changer son mot de passe :

openvasmd --user=admin --new-password=<pass>

On lance ensuite les services concernés :

openvasmd & openvassd & gsad

Des erreurs peuvent apparaître à cette étape si vous avez foiré la configuration de redis-server. Si le lancement des services rend la main, vous pouvez passer à la suite. L’erreur relative à la connexion à REDIS devrait ressembler à ça :

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory

(openvassd:2272): lib kb_redis-CRITICAL **: redis_new: cannot access redis at '/var/run/redis/redis.sock'

(openvassd:2272): lib kb_redis-CRITICAL **: get_redis_ctx: redis connection error: No such file or directory
openvassd: no process found

Vous avez alors un problème avec la socket.

Ensuite, openVAS dispose d’un remarquable auto-test capable de détecter énormément de défauts de configuration, de disponibilité de paquets, etc :

openvas-check-setup

Si la sortie ressemble à quelque chose comme ça :

root@Securityx:~/Bureau# openvas-check-setup
openvas-check-setup 2.3.7
  Test completeness and readiness of OpenVAS-9
  (add '--v6' or '--v7' or '--v8'
   if you want to check for another OpenVAS version)

  Please report us any non-detected problems and
  help us to improve this check routine:
  http://lists.wald.intevation.org/mailman/listinfo/openvas-discuss

  Send us the log-file (/tmp/openvas-check-setup.log) to help analyze the problem.

  Use the parameter --server to skip checks for client tools
  like GSD and OpenVAS-CLI.

Step 1: Checking OpenVAS Scanner ... 
        OK: OpenVAS Scanner is present in version 5.1.3.
        OK: redis-server is present in version v=5.0.3.
        OK: scanner (kb_location setting) is configured properly using the redis-server socket: /var/run/redis-openvas/redis-server.sock
        OK: redis-server is running and listening on socket: /var/run/redis-openvas/redis-server.sock.
        OK: redis-server configuration is OK and redis-server is running.
        OK: NVT collection in /var/lib/openvas/plugins contains 48874 NVTs.
        WARNING: Signature checking of NVTs is not enabled in OpenVAS Scanner.
        SUGGEST: Enable signature checking (see http://www.openvas.org/trusted-nvts.html).
        WARNING: The initial NVT cache has not yet been generated.
        SUGGEST: Start OpenVAS Scanner for the first time to generate the cache.
Step 2: Checking OpenVAS Manager ... 
        OK: OpenVAS Manager is present in version 7.0.3.
        OK: OpenVAS Manager database found in /var/lib/openvas/mgr/tasks.db.
        OK: Access rights for the OpenVAS Manager database are correct.
        OK: sqlite3 found, extended checks of the OpenVAS Manager installation enabled.
        OK: OpenVAS Manager database is at revision 184.
        OK: OpenVAS Manager expects database at revision 184.
        OK: Database schema is up to date.
        OK: OpenVAS Manager database contains information about 48873 NVTs.
        OK: At least one user exists.
        OK: OpenVAS SCAP database found in /var/lib/openvas/scap-data/scap.db.
        OK: OpenVAS CERT database found in /var/lib/openvas/cert-data/cert.db.
        OK: xsltproc found.
Step 3: Checking user configuration ... 
        WARNING: Your password policy is empty.
        SUGGEST: Edit the /etc/openvas/pwpolicy.conf file to set a password policy.
Step 4: Checking Greenbone Security Assistant (GSA) ... 
        OK: Greenbone Security Assistant is present in version 7.0.3.
        OK: Your OpenVAS certificate infrastructure passed validation.
Step 5: Checking OpenVAS CLI ... 
        OK: OpenVAS CLI version 1.4.5.
Step 6: Checking Greenbone Security Desktop (GSD) ... 
        SKIP: Skipping check for Greenbone Security Desktop.
Step 7: Checking if OpenVAS services are up and running ... 
        OK: netstat found, extended checks of the OpenVAS services enabled.
        OK: OpenVAS Scanner is running and listening on a Unix domain socket.
        OK: OpenVAS Manager is running and listening on a Unix domain socket.
        OK: Greenbone Security Assistant is listening on port 443, which is the default port.
Step 8: Checking nmap installation ...
        WARNING: Your version of nmap is not fully supported: 7.70
        SUGGEST: You should install nmap 5.51 if you plan to use the nmap NSE NVTs.
Step 10: Checking presence of optional tools ...
        OK: pdflatex found.
        OK: PDF generation successful. The PDF report format is likely to work.
        OK: ssh-keygen found, LSC credential generation for GNU/Linux targets is likely to work.
        OK: rpm found, LSC credential package generation for RPM based targets is likely to work.
        OK: alien found, LSC credential package generation for DEB based targets is likely to work.
        OK: nsis found, LSC credential package generation for Microsoft Windows targets is likely to work.

It seems like your OpenVAS-9 installation is OK.

Vous pouvez lancer openVAS. Sinon, corrigez les erreurs.

Lancement :

openvas-start

Vérification de l’ouverture des ports TCP :

ss -ant
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9390 *:*
LISTEN 0 128 127.0.0.1:9392 *:*

Il est maintenant possible de connecter à GREENBONE, l’interface web livrée avec openVAS. Elle sera ici disponible à l’adresse : https://localhost:9392

Pour arrêter le scanner  :

openvas-stop

Cet article n’aborde que l’installation et la configuration de ce scanner, vous trouverez facilement sur internet des ressources relatives à son utilisation.

Rappelez vous que le véritable hacker n’essaye pas de tout détruire ; la science est dans la pénétration, pas dans la destruction.

Bonne exploration des failles !

 


Laisser un commentaire