
Créer des données exploitables à partir de vos scans de vulnérabilités

Créez des données exploitables à partir de vos scans de vulnérabilités

VulnWhisperer est un outil de gestion des vulnérabilités et un agrégateur de rapports. VulnWhisperer récupère tous les rapports des différents scanners de vulnérabilités et crée un fichier avec un nom unique pour chacun, en utilisant ces données ultérieurement pour synchroniser avec Jira et alimenter Logstash. Jira effectue une synchronisation complète en cycle fermé avec les données fournies par les scanners, tandis que Logstash indexe et tagge toutes les informations contenues dans le rapport (voir les fichiers logstash dans /resources/elk6/pipeline/). Les données sont ensuite transférées vers ElasticSearch pour être indexées, et finissent dans un format visuel et interrogeable dans Kibana avec des tableaux de bord déjà définis.
VulnWhisperer est un projet open-source financé par la communauté. VulnWhisperer fonctionne actuellement mais nécessite une refonte de la documentation et une révision du code. Cela est prévu dans les prochains mois (février ou mars 2022 - espérons-le). Veuillez noter que le financement participatif est une option. Si vous souhaitez de l'aide pour mettre en place VulnWhisperer, êtes intéressé par de nouvelles fonctionnalités, ou recherchez un support payant (pour ceux qui ont besoin de contrats de support commercial pour implémenter des solutions open-source), veuillez contacter [email protected].
Ensuite, vous devrez importer les visualisations dans Kibana et configurer votre logstash. Vous pouvez suivre les instructions d'exemple de configuration [ici](https://github.com/HASecuritySolutions/VulnWhisperer/wiki/Sample-Guide-ELK-Deployment) ou opter pour la solution `docker-compose` que nous proposons.Besoin d'aide ou envie de discuter ? Rejoignez notre canal Slack
Installer les dépendances des packages système (distributions basées sur Debian, CentOS n'en a pas besoin)
sudo apt-get install zlib1g-dev libxml2-dev libxslt1-dev
(Optionnel) Utiliser un virtualenv Python pour ne pas perturber les bibliothèques Python de l'hôte
virtualenv venv (créera le virtualenv python 2.7)
source venv/bin/activate (démarre le virtualenv, maintenant pip s'exécutera là et devrait installer les bibliothèques sans sudo)
deactivate (pour quitter le virtualenv une fois terminé)
Installer les bibliothèques Python requises
pip install -r /path/to/VulnWhisperer/requirements.txt
cd /path/to/VulnWhisperer
python setup.py install
(Optionnel) Si vous utilisez un proxy, ajoutez l'URL du proxy comme variable d'environnement dans le PATH
export HTTP_PROXY=http://example.com:8080
export HTTPS_PROXY=http://example.com:8080
Vous êtes maintenant prêt à télécharger les scans. (voir section exécution)
Il y a quelques étapes de configuration pour mettre en place VulnWhisperer :

Pour exécuter, remplissez le fichier de configuration avec les paramètres de votre scanner de vulnérabilités. Ensuite, vous pouvez exécuter depuis la ligne de commande.
(optionnel: -F -> fournit une coloration des logs "Fancy", utile pour la compréhension lors de l'exécution manuelle de VulnWhisperer)
vuln_whisperer -c configs/frameworks_example.ini -s nessus
ou
vuln_whisperer -c configs/frameworks_example.ini -s qualys
Si aucune section n'est spécifiée (par exemple -s nessus), vulnwhisperer vérifiera dans le fichier de configuration les modules qui ont la propriété enabled=true et les exécutera séquentiellement.

ELK est tout un monde en soi, et pour les nouveaux venus sur la plateforme, cela nécessite des compétences de base en Linux et généralement un peu de dépannage jusqu'à ce qu'il soit déployé et fonctionne comme prévu. Comme nous ne sommes pas en mesure de fournir un support pour chaque problème ELK des utilisateurs, nous avons mis en place un docker-compose qui comprend :
Le docker-compose nécessite simplement de spécifier les chemins où les données VulnWhisperer seront sauvegardées, et où se trouvent les fichiers de configuration. Si exécuté directement après git clone, avec juste l'ajout de la configuration du scanner au fichier de configuration VulnWhisperer (/resources/elk6/vulnwhisperer.ini), cela fonctionnera immédiatement.
Il se charge également de charger les tableaux de bord et visualisations Kibana automatiquement via l'API, ce qui doit être fait manuellement autrement au démarrage de Kibana.
Pour plus d'informations sur docker-compose, consultez le wiki docker-compose ou la FAQ.
Notre feuille de route actuelle est la suivante :
En plus de cela, nous essayons de nous concentrer sur la correction des bugs dès que possible, ce qui peut retarder le développement. Nous accueillons également volontiers les PRs, et une fois le nouveau standard implémenté, il sera très facile d'ajouter la compatibilité avec de nouveaux scanners.
Le standard de vulnérabilités sera initialement un simple nouveau JSON à un seul niveau avec toutes les informations correspondant aux différents scanners ayant des noms de variables standardisés, tout en conservant le reste des variables telles qu'elles sont. À l'avenir, une fois tout implémenté, nous évaluerons la possibilité de passer à un standard existant comme ECS ou AWS Vulnerability Schema ; nous privilégions la fonctionnalité à la perfection.