Scanner CVE-2023-38831
Présentation
Le Scanner CVE-2023-38831 est un outil de cybersécurité avancé conçu pour détecter et analyser la présence de la vulnérabilité CVE-2023-38831 dans les installations de WinRAR. Ce projet met en œuvre une approche multicouche pour la détection des vulnérabilités, incluant des vérifications d'intégrité des fichiers, l'analyse de la mémoire des processus, l'analyse du trafic réseau et l'exécution en bac à sable.
Fonctionnalités
- Détection de vulnérabilité : Analyse les installations de WinRAR pour la vulnérabilité CVE-2023-38831.
- Vérification de l'intégrité des fichiers : Vérifie l'intégrité des exécutables WinRAR.
- Analyse de la mémoire des processus : Analyse la mémoire des processus WinRAR en cours d'exécution pour des motifs suspects.
- Analyse du trafic réseau : Surveille le trafic réseau pour détecter d'éventuelles tentatives d'exploitation.
- Exécution en bac à sable : Exécute et analyse WinRAR de manière sécurisée dans un environnement contrôlé.
- Interface web : Fournit une interface web conviviale pour lancer les analyses et visualiser les résultats.
- Intégration de base de données : Stocke et récupère les résultats d'analyse pour une analyse historique.
- Visualisation : Présente les résultats d'analyse via des graphiques et tableaux interactifs.
Architecture technique
Composants principaux
- Module Scanner (
src/scanner.py) : Orchestre le processus d'analyse, intégrant toutes les méthodes de détection.
- Vérificateur d'intégrité (
src/integrity.py) : Implémente la vérification de hachage de fichier pour les exécutables WinRAR.
- Analyseur mémoire (
src/memory_scanner.py) : Utilise psutil pour l'analyse de la mémoire des processus.
- Analyseur réseau (
src/network_analyzer.py) : Exploite scapy pour l'inspection des paquets réseau.
- Environnement bac à sable (
src/sandbox.py) : Crée un environnement isolé pour une exécution et une analyse sécurisées.
- Gestionnaire de base de données (
src/database.py) : Gère les opérations de la base de données SQLite pour le stockage et la récupération des résultats.
- Interface web (
src/web_interface.py) : Implémente un serveur web basé sur Flask pour l'interaction utilisateur.
Technologies clés
- Python 3.8+ : Langage de programmation principal
- SQLite : Base de données légère pour le stockage des résultats d'analyse
- Flask : Framework web pour l'interface utilisateur
- Scapy : Manipulation et analyse de paquets réseau
- psutil : Surveillance multiplateforme des processus et du système
- Chart.js : Bibliothèque JavaScript pour la visualisation des résultats
Installation
- Clonez le dépôt :
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Créez et activez un environnement virtuel :
python -m venv venv
source venv/bin/activate # Sur Windows, utilisez venv\Scripts\activate
- Installez les dépendances :
pip install -r requirements.txt
- Configurez la base de données :
python -c "from src.database import Database; Database().create_table()"
Utilisation
Interface en ligne de commande
- Lancez le scanner depuis la ligne de commande :
Interface web
- Démarrez le serveur web :
python -m src.web_interface
Accédez à l'interface web à l'adresse http://localhost:5000.
Configuration
- Paramètres de la base de données : Modifiez
src/database.py pour changer l'emplacement du fichier de base de données ou passer à un autre système de base de données.
- Paramètres d'analyse : Ajustez les valeurs de seuil et les motifs de détection dans les fichiers de modules respectifs (par exemple,
src/memory_scanner.py, src/network_analyzer.py).
Tests
- Exécutez la suite de tests :
Considérations de sécurité
- Cet outil ne doit être utilisé que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.
- L'environnement bac à sable offre une couche de sécurité supplémentaire, mais il faut néanmoins faire preuve de prudence lors de l'analyse de fichiers potentiellement malveillants.
- L'analyse du trafic réseau peut capturer des données sensibles. Assurez-vous de respecter les lois et réglementations applicables en matière de confidentialité.
- L'analyseur mémoire utilise des techniques de mappage mémoire efficaces pour minimiser l'utilisation des ressources.
- Les requêtes de base de données sont optimisées pour les performances, avec un indexation appropriée sur les colonnes fréquemment consultées.
- L'interface web implémente une analyse asynchrone pour éviter le blocage de l'interface utilisateur lors d'analyses de longue durée.
Extension du projet
- Vérifications de vulnérabilité supplémentaires : Implémentez de nouvelles méthodes de détection dans des modules séparés et intégrez-les dans le module
scanner.py.
- Développement d'API : Étendez l'interface web pour fournir une API RESTful destinée à l'intégration avec d'autres outils de sécurité.
- Intégration de l'apprentissage automatique : Incorporez des modèles de ML pour la détection d'anomalies dans le comportement des processus ou les motifs de trafic réseau.
Contribution
- Forkez le dépôt.
- Créez une nouvelle branche pour votre fonctionnalité :
git checkout -b nom-fonctionnalite
- Commitez vos modifications :
git commit -am 'Ajoute une fonctionnalite'
- Poussez vers la branche :
git push origin nom-fonctionnalite
- Soumettez une pull request.
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Remerciements
Avertissement
Cet outil est destiné à un usage éducatif et professionnel uniquement. Les auteurs ne sont pas responsables de toute utilisation abusive ou des dommages causés par ce programme. Assurez-vous toujours d'avoir l'autorisation avant d'analyser des systèmes ou des réseaux que vous ne possédez pas.