CVE-2023-38831 Scanner
Panoramica
Lo scanner CVE-2023-38831 è uno strumento avanzato di cybersicurezza progettato per rilevare e analizzare la presenza della vulnerabilità CVE-2023-38831 nelle installazioni di WinRAR. Questo progetto implementa un approccio multilivello al rilevamento delle vulnerabilità, integrando controlli di integrità dei file, scansione della memoria dei processi, analisi del traffico di rete ed esecuzione in sandbox.
Caratteristiche
- Rilevamento vulnerabilità: Scansiona le installazioni di WinRAR per la vulnerabilità CVE-2023-38831.
- Controllo integrità file: Verifica l'integrità dei file eseguibili di WinRAR.
- Scansione memoria processi: Analizza la memoria dei processi WinRAR in esecuzione per individuare pattern sospetti.
- Analisi traffico di rete: Monitora il traffico di rete per potenziali tentativi di exploit.
- Esecuzione in sandbox: Esegue e analizza WinRAR in sicurezza in un ambiente controllato.
- Interfaccia web: Fornisce un'interfaccia web intuitiva per avviare scansioni e visualizzare i risultati.
- Integrazione database: Memorizza e recupera i risultati delle scansioni per analisi storiche.
- Visualizzazione: Presenta i risultati delle scansioni tramite grafici e tabelle interattive.
Architettura tecnica
Componenti principali
- Modulo Scanner (
src/scanner.py): Coordina il processo di scansione, integrando tutti i metodi di rilevamento.
- Controllore di integrità (
src/integrity.py): Implementa la verifica dell'hash dei file per gli eseguibili WinRAR.
- Scanner di memoria (
src/memory_scanner.py): Utilizza psutil per l'analisi della memoria dei processi.
- Analizzatore di rete (
src/network_analyzer.py): Sfrutta scapy per l'ispezione dei pacchetti di rete.
- Ambiente sandbox (
src/sandbox.py): Crea un ambiente isolato per un'esecuzione e un'analisi sicure.
- Gestore database (
src/database.py): Gestisce le operazioni sul database SQLite per l'archiviazione e il recupero dei risultati.
- Interfaccia web (
src/web_interface.py): Implementa un server web basato su Flask per l'interazione con l'utente.
Tecnologie chiave
- Python 3.8+: Linguaggio di programmazione principale
- SQLite: Database leggero per l'archiviazione dei risultati delle scansioni
- Flask: Framework web per l'interfaccia utente
- Scapy: Manipolazione e analisi dei pacchetti di rete
- psutil: Monitoraggio multipiattaforma di processi e sistema
- Chart.js: Libreria JavaScript per la visualizzazione dei risultati
Installazione
- Clona il repository:
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Crea e attiva un ambiente virtuale:
python -m venv venv
source venv/bin/activate # Su Windows, usa venv\Scripts\activate
- Installa le dipendenze:
pip install -r requirements.txt
- Configura il database:
python -c "from src.database import Database; Database().create_table()"
Utilizzo
Interfaccia a riga di comando
- Esegui lo scanner dalla riga di comando:
Interfaccia web
- Avvia il server web:
python -m src.web_interface
Accedi all'interfaccia web all'indirizzo http://localhost:5000.
Configurazione
- Impostazioni del database: Modifica
src/database.py per cambiare la posizione del file del database o passare a un sistema di database diverso.
- Parametri di scansione: Regola i valori di soglia e i pattern di rilevamento nei rispettivi file di modulo (es.
src/memory_scanner.py, src/network_analyzer.py).
Test
Considerazioni sulla sicurezza
- Questo strumento dovrebbe essere utilizzato solo su sistemi di tua proprietà o per i quali hai il permesso esplicito di effettuare test.
- L'ambiente sandbox fornisce un ulteriore livello di sicurezza, ma è comunque necessario prestare attenzione quando si esaminano file potenzialmente dannosi.
- L'analisi del traffico di rete potrebbe catturare dati sensibili. Assicurati di rispettare le leggi e le normative sulla privacy applicabili.
Ottimizzazione delle prestazioni
- Lo scanner di memoria utilizza tecniche efficienti di mappatura della memoria per ridurre al minimo l'uso delle risorse.
- Le query del database sono ottimizzate per le prestazioni, con un'indicizzazione adeguata delle colonne a cui si accede di frequente.
- L'interfaccia web implementa la scansione asincrona per evitare il blocco dell'interfaccia utente durante scansioni di lunga durata.
Estensione del progetto
- Controlli aggiuntivi per le vulnerabilità: Implementa nuovi metodi di rilevamento in moduli separati e integrali nel modulo
scanner.py.
- Sviluppo di API: Estendi l'interfaccia web per fornire un'API RESTful per l'integrazione con altri strumenti di sicurezza.
- Integrazione di machine learning: Incorpora modelli di ML per il rilevamento di anomalie nel comportamento dei processi o nei pattern del traffico di rete.
Contributi
- Fai un fork del repository.
- Crea un nuovo branch per la tua funzionalità:
git checkout -b feature-name
- Committa le modifiche:
git commit -am 'Add some feature'
- Carica il branch:
git push origin feature-name
- Invia una pull request.
Licenza
Questo progetto è concesso in licenza sotto la MIT License - consulta il file LICENSE per i dettagli.
Riconoscimenti
Disclaimer
Questo strumento è destinato esclusivamente a uso educativo e professionale. Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo programma. Assicurati sempre di avere il permesso prima di scansionare sistemi o reti che non possiedi.