GNU/Linux >> Tutoriels Linux >  >> Linux

Configuration et réglage d'OpenVAS dans Kali Linux

Les utilisateurs demandent souvent l'ajout de scanners de vulnérabilité à Kali, notamment ceux qui commencent par "N", mais en raison de contraintes de licence, nous ne les incluons pas dans la distribution. Heureusement, Kali inclut le très performant OpenVAS, qui est gratuit et open-source. Bien que nous ayons brièvement couvert OpenVAS dans le passé, nous avons décidé de consacrer un article plus approfondi à sa configuration et à la manière de l'utiliser plus efficacement.

Les scanners de vulnérabilité ont souvent mauvaise réputation, principalement parce que leur rôle et leur objectif sont mal compris. Les scanners de vulnérabilité recherchent les vulnérabilités - ce ne sont pas des machines à exploits magiques et devraient être l'une des nombreuses sources d'informations utilisées dans une évaluation. Exécuter aveuglément un scanner de vulnérabilité contre une cible se terminera presque certainement par la déception et le malheur, avec des dizaines (voire des centaines) de résultats de bas niveau ou non informatifs.

Configuration requise

La principale plainte que nous recevons à propos d'OpenVAS (ou de tout autre scanner de vulnérabilité) peut être résumée comme "c'est trop lent et plante et ne fonctionne pas et c'est mauvais, et vous devriez vous sentir mal". Dans presque tous les cas, la lenteur et/ou les plantages sont dus à des ressources système insuffisantes . OpenVAS a des dizaines de milliers de signatures et si vous ne donnez pas suffisamment de ressources à votre système, en particulier la RAM, vous vous retrouverez dans un monde de misère. Certains scanners de vulnérabilités commerciaux nécessitent un minimum de 8 Go de RAM et en recommande encore plus.

OpenVAS ne nécessite pas cette quantité de mémoire, mais plus vous pouvez en fournir, plus votre système de numérisation fonctionnera de manière fluide. Pour cet article, notre machine virtuelle Kali dispose de 3 processeurs et 3 Go de RAM , ce qui est généralement suffisant pour analyser un petit nombre d'hôtes à la fois.

Configuration initiale d'OpenVAS dans Kali

OpenVAS comporte de nombreuses pièces mobiles et sa configuration manuelle peut parfois être un défi. Heureusement, Kali contient un utilitaire facile à utiliser appelé "openvas-setup" qui s'occupe de configurer OpenVAS, de télécharger les signatures et de créer un mot de passe pour l'utilisateur administrateur.

Cette configuration initiale peut prendre un certain temps , même avec une connexion Internet rapide, alors asseyez-vous et laissez-le faire son travail. À la fin de la configuration, le mot de passe généré automatiquement pour l'utilisateur admin s'affiche. Assurez-vous de enregistrer ce mot de passe dans un endroit sûr .

[email protected]:~# openvas-setup
ERROR: Directory for keys (/var/lib/openvas/private/CA) not found!
ERROR: Directory for certificates (/var/lib/openvas/CA) not found!
ERROR: CA key not found in /var/lib/openvas/private/CA/cakey.pem
ERROR: CA certificate not found in /var/lib/openvas/CA/cacert.pem
ERROR: CA certificate failed verification, see /tmp/tmp.7G2IQWtqwj/openvas-manage-certs.log for details. Aborting.

ERROR: Your OpenVAS certificate infrastructure did NOT pass validation.
See messages above for details.
Generated private key in /tmp/tmp.PerU5lG2tl/cakey.pem.
Generated self signed certificate in /tmp/tmp.PerU5lG2tl/cacert.pem.
...
/usr/sbin/openvasmd

User created with password 'xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx'.

Traitement des erreurs de configuration

Parfois, le script "openvas-setup" affiche des erreurs à la fin du téléchargement NVT similaires à ce qui suit.

(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

Si vous avez la malchance de rencontrer ce problème, vous pouvez exécuter "openvas-check-setup" pour voir quel composant est à l'origine des problèmes. Dans ce cas particulier, nous recevons ce qui suit du script.

...
ERROR: The number of NVTs in the OpenVAS Manager database is too low.
FIX: Make sure OpenVAS Scanner is running with an up-to-date NVT collection and run 'openvasmd --rebuild'.
...

Le scipt 'openvas-check-setup' détecte le problème et fournit même la commande à exécuter pour (espérons-le) résoudre le problème. Après avoir reconstruit la collection NVT comme recommandé, toutes les vérifications sont réussies.

[email protected]:~# openvasmd --rebuild
[email protected]:~# openvas-check-setup
openvas-check-setup 2.3.7
Test completeness and readiness of OpenVAS-9
...
It seems like your OpenVAS-9 installation is OK.
...

Gestion des utilisateurs OpenVAS

Si vous avez besoin (ou souhaitez) créer des utilisateurs OpenVAS supplémentaires, exécutez « openvasmd » avec le --create-user option, qui ajoutera un nouvel utilisateur et affichera le mot de passe généré aléatoirement.

[email protected]:~# openvasmd --create-user=dookie
User created with password 'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyy'.
[email protected]:~# openvasmd --get-users
admin
dookie

Si vous êtes comme nous, vous oublierez de sauvegarder le mot de passe administrateur ou de le supprimer accidentellement. Heureusement, il est facile de changer les mots de passe des utilisateurs OpenVAS avec "openvasmd" et le --new-password option.

[email protected]:~# openvasmd --user=dookie --new-password=s3cr3t
[email protected]:~# openvasmd --user=admin --new-password=sup3rs3cr3t

Démarrer et arrêter OpenVAS

Les services réseau sont désactivés par défaut dans Kali Linux, donc si vous n'avez pas configuré OpenVAS pour qu'il démarre au démarrage, vous pouvez démarrer les services requis en exécutant "openvas-start".

[email protected]:~# openvas-start
Starting OpenVas Services

Une fois l'initialisation des services terminée, vous devriez trouver les ports TCP 9390 et 9392 à l'écoute sur votre interface de bouclage.

[email protected]:~# 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 *:*

En raison de la pression sur les ressources système, vous voudrez probablement arrêter OpenVAS chaque fois que vous avez fini de l'utiliser, surtout si vous n'utilisez pas un système dédié pour l'analyse des vulnérabilités. OpenVAS peut être arrêté en exécutant "openvas-stop".

[email protected]:~# openvas-stop
Stopping OpenVas Services

Utilisation de l'assistant de sécurité Greenbone

L'assistant de sécurité Greenbone est l'interface Web OpenVAS, disponible sur votre machine locale (après avoir démarré OpenVAS) à https://localhost:9392 . Après avoir accepté le certificat auto-signé, la page de connexion vous sera présentée et une fois authentifié, vous verrez le tableau de bord principal.

Configuration des identifiants

Les analyseurs de vulnérabilité fournissent les résultats les plus complets lorsque vous êtes en mesure de fournir au moteur d'analyse des informations d'identification à utiliser sur les systèmes analysés. OpenVAS utilisera ces informations d'identification pour se connecter au système analysé et effectuer une énumération détaillée des logiciels installés, des correctifs, etc. Vous pouvez ajouter des informations d'identification via l'entrée "Identifiants" dans le menu "Configuration".

Configuration cible

OpenVAS, comme la plupart des scanners de vulnérabilité, peut rechercher des systèmes distants, mais c'est un scanner de vulnérabilité, pas un scanner de port. Plutôt que de vous fier à un scanner de vulnérabilité pour identifier les hôtes, vous vous simplifierez la vie en utilisant un scanner réseau dédié comme Nmap ou Masscan et en important la liste des cibles dans OpenVAS.

[email protected]:~# nmap -sn -oA nmap-subnet-86 192.168.86.0/24
[email protected]:~# grep Up nmap-subnet-86.gnmap | cut -d " " -f 2 > live-hosts.txt

Une fois que vous avez votre liste d'hôtes, vous pouvez les importer dans la section "Cibles" du menu "Configuration".

Configuration de l'analyse

Avant de lancer une analyse de vulnérabilité, vous devez affiner la configuration d'analyse qui sera utilisée, ce qui peut être fait dans la section "Configurations d'analyse" du menu "Configuration". Vous pouvez cloner n'importe laquelle des configurations d'analyse par défaut et modifier ses options, en désactivant tous les services ou vérifications dont vous n'avez pas besoin. Si vous utilisez Nmap pour effectuer une analyse préalable de votre ou vos cibles, vous pouvez économiser des heures d'analyse des vulnérabilités.

Configuration des tâches

Vos informations d'identification, cibles et configurations d'analyse sont configurées, vous êtes maintenant prêt à tout assembler et à exécuter une analyse de vulnérabilité. Dans OpenVAS, les analyses de vulnérabilité sont effectuées en tant que « tâches ». Lorsque vous configurez une nouvelle tâche, vous pouvez optimiser davantage l'analyse en augmentant ou en diminuant les activités simultanées qui ont lieu. Avec notre système avec 3 Go de RAM, nous avons ajusté nos paramètres de tâche comme indiqué ci-dessous.

Grâce à nos paramètres d'analyse et à notre sélection de cible plus précis, les résultats de notre analyse sont beaucoup plus utiles.

Automatiser OpenVAS

L'une des fonctionnalités les moins connues d'OpenVAS est son interface de ligne de commande, avec laquelle vous interagissez via la commande "omp". Son utilisation n'est pas entièrement intuitive, mais nous ne sommes pas les seuls fans d'OpenVAS et nous avons découvert quelques scripts de base que vous pouvez utiliser et étendre pour automatiser vos analyses OpenVAS.

Le premier est openvas-automate.sh de mgeeky, un script Bash semi-interactif qui vous demande un type d'analyse et s'occupe du reste. Les configurations d'analyse sont codées en dur dans le script. Si vous souhaitez utiliser vos configurations personnalisées, elles peuvent être ajoutées dans la section "cibles".

[email protected]:~# apt -y install pcregrep
[email protected]:~# ./openvas-automate.sh 192.168.86.61

:: OpenVAS automation script.
mgeeky, 0.1

[>] Please select scan type:
1. Discovery
2. Full and fast
3. Full and fast ultimate
4. Full and very deep
5. Full and very deep ultimate
6. Host Discovery
7. System Discovery
9. Exit

--------------------------------
Please select an option: 5

[+] Tasked: 'Full and very deep ultimate' scan against '192.168.86.61'
[>] Reusing target...
[+] Target's id: 6ccbb036-4afa-46d8-b0c0-acbd262532e5
[>] Creating a task...
[+] Task created successfully, id: '8e77181c-07ac-4d2c-ad30-9ae7a281d0f8'
[>] Starting the task...
[+] Task started. Report id: 6bf0ec08-9c60-4eb5-a0ad-33577a646c9b
[.] Awaiting for it to finish. This will take a long while...

8e77181c-07ac-4d2c-ad30-9ae7a281d0f8 Running 1% 192.168.86.61

Nous sommes également tombés sur un article de blog de code16 qui présente et explique leur script Python pour interagir avec OpenVAS. Comme le script Bash ci-dessus, vous devrez apporter de légères modifications au script si vous souhaitez personnaliser le type d'analyse.

[email protected]:~# ./code16.py 192.168.86.27
------------------------------------------------------------------------------
code16
------------------------------------------------------------------------------
small wrapper for OpenVAS 6

[+] Found target ID: 19f3bf20-441c-49b9-823d-11ef3b3d18c2
[+] Preparing options for the scan...
[+] Task ID = 28c527f8-b01c-4217-b878-0b536c6e6416
[+] Running scan for 192.168.86.27
[+] Scan started... To get current status, see below:

zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz
...
zZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzzZzz

[+] Scan looks to be done. Good.
[+] Target scanned. Finished taskID : 28c527f8-b01c-4217-b878-0b536c6e6416
[+] Cool! We can generate some reports now ... :)
[+] Looking for report ID...
[+] Found report ID : 5ddcb4ed-4f96-4cee-b7f3-b7dad6e16cc6
[+] For taskID : 28c527f8-b01c-4217-b878-0b536c6e6416

[+] Preparing report in PDF for 192.168.86.27

[+] Report should be done in : Report_for_192.168.86.27.pdf
[+] Thanks. Cheers!

Avec le large éventail d'options disponibles dans OpenVAS, nous n'avons pu qu'effleurer la surface dans cet article, mais si vous prenez votre temps et réglez efficacement vos analyses de vulnérabilité, vous constaterez que la mauvaise réputation d'OpenVAS et d'autres scanners de vulnérabilité est immérité. Le nombre d'appareils connectés dans nos maisons et nos lieux de travail ne cesse d'augmenter et leur gestion devient de plus en plus difficile. L'utilisation efficace d'un scanner de vulnérabilité peut rendre cette gestion au moins un peu plus facile.


Linux
  1. Configuration d'une adresse IPv6 dans Red Hat Enterprise Linux 7 et 8

  2. Linux - Configurer, compiler et installer un noyau Linux personnalisé ?

  3. Kali Linux 1.0.5 et radio définie par logiciel

  4. Version Kali Linux 1.0.7

  5. Version Kali Linux 1.0.6

Guide d'examen et d'installation de Kali Linux avec captures d'écran

OpenVAS - Installation de l'évaluation des vulnérabilités sur Kali Linux

Installer et configurer Jenkins sous Linux

Explication :Redirection des entrées, des sorties et des erreurs sous Linux

Installez Nessus sur Kali et améliorez la distribution Linux

Présentation de la surveillance et du réglage des performances Linux