Escáner CVE-2023-38831
Resumen
El Escáner CVE-2023-38831 es una herramienta avanzada de ciberseguridad diseñada para detectar y analizar la presencia de la vulnerabilidad CVE-2023-38831 en instalaciones de WinRAR. Este proyecto implementa un enfoque de múltiples capas para la detección de vulnerabilidades, incorporando comprobaciones de integridad de archivos, escaneo de memoria de procesos, análisis de tráfico de red y ejecución en sandbox.
Características
- Detección de vulnerabilidades: Escanea instalaciones de WinRAR en busca de la vulnerabilidad CVE-2023-38831.
- Comprobación de integridad de archivos: Verifica la integridad de los archivos ejecutables de WinRAR.
- Escaneo de memoria de procesos: Analiza la memoria de los procesos WinRAR en ejecución en busca de patrones sospechosos.
- Análisis de tráfico de red: Monitorea el tráfico de red en busca de posibles intentos de explotación.
- Ejecución en sandbox: Ejecuta y analiza WinRAR de forma segura en un entorno controlado.
- Interfaz web: Proporciona una interfaz web fácil de usar para iniciar escaneos y ver resultados.
- Integración con base de datos: Almacena y recupera resultados de escaneo para análisis histórico.
- Visualización: Presenta los resultados de escaneo mediante gráficos y tablas interactivas.
Arquitectura técnica
Componentes principales
- Módulo de escáner (
src/scanner.py): Orquesta el proceso de escaneo, integrando todos los métodos de detección.
- Comprobador de integridad (
src/integrity.py): Implementa la verificación de hash de archivos para los ejecutables de WinRAR.
- Escáner de memoria (
src/memory_scanner.py): Utiliza psutil para el análisis de memoria de procesos.
- Analizador de red (
src/network_analyzer.py): Aprovecha scapy para la inspección de paquetes de red.
- Entorno sandbox (
src/sandbox.py): Crea un entorno aislado para la ejecución y el análisis seguros.
- Manejador de base de datos (
src/database.py): Gestiona las operaciones de la base de datos SQLite para el almacenamiento y recuperación de resultados.
- Interfaz web (
src/web_interface.py): Implementa un servidor web basado en Flask para la interacción con el usuario.
Tecnologías clave
- Python 3.8+: Lenguaje de programación principal
- SQLite: Base de datos ligera para el almacenamiento de resultados de escaneo
- Flask: Framework web para la interfaz de usuario
- Scapy: Manipulación y análisis de paquetes de red
- psutil: Monitoreo multiplataforma de procesos y sistema
- Chart.js: Librería JavaScript para la visualización de resultados
Instalación
- Clonar el repositorio:
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Crear y activar un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows, usar venv\Scripts\activate
- Instalar las dependencias:
pip install -r requirements.txt
- Configurar la base de datos:
python -c "from src.database import Database; Database().create_table()"
Uso
Interfaz de línea de comandos
- Ejecutar el escáner desde la línea de comandos:
Interfaz web
- Iniciar el servidor web:
python -m src.web_interface
Acceda a la interfaz web en http://localhost:5000.
Configuración
- Ajustes de la base de datos: Modifique
src/database.py para cambiar la ubicación del archivo de base de datos o cambiar a un sistema de base de datos diferente.
- Parámetros de escaneo: Ajuste los valores de umbral y los patrones de detección en los archivos de módulos correspondientes (por ejemplo,
src/memory_scanner.py, src/network_analyzer.py).
Pruebas
- Ejecutar el conjunto de pruebas:
Consideraciones de seguridad
- Esta herramienta solo debe utilizarse en sistemas que usted posea o para los cuales tenga permiso explícito de prueba.
- El entorno sandbox proporciona una capa adicional de seguridad, pero se debe tener precaución al escanear archivos potencialmente maliciosos.
- El análisis de tráfico de red puede capturar datos sensibles. Asegúrese de cumplir con las leyes y regulaciones de privacidad pertinentes.
Optimización del rendimiento
- El escáner de memoria utiliza técnicas eficientes de mapeo de memoria para minimizar el uso de recursos.
- Las consultas a la base de datos están optimizadas para el rendimiento, con indexación adecuada en las columnas de acceso frecuente.
- La interfaz web implementa escaneo asíncrono para evitar el bloqueo de la interfaz durante escaneos de larga duración.
Ampliación del proyecto
- Comprobaciones adicionales de vulnerabilidades: Implemente nuevos métodos de detección en módulos separados e intégrelos en el módulo
scanner.py.
- Desarrollo de API: Extienda la interfaz web para proporcionar una API RESTful para la integración con otras herramientas de seguridad.
- Integración de aprendizaje automático: Incorpore modelos de ML para la detección de anomalías en el comportamiento de procesos o patrones de tráfico de red.
Contribuciones
- Haga un fork del repositorio.
- Cree una nueva rama para su funcionalidad:
git checkout -b feature-name
- Confirme sus cambios:
git commit -am 'Add some feature'
- Envíe los cambios a la rama:
git push origin feature-name
- Envíe una solicitud de extracción (pull request).
Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para obtener más detalles.
Agradecimientos
Descargo de responsabilidad
Esta herramienta es solo para uso educativo y profesional. Los autores no son responsables de ningún uso indebido o daño causado por este programa. Asegúrese siempre de tener permiso antes de escanear sistemas o redes que no sean de su propiedad.