CVE-2023-38831 Scanner
Überblick
Der CVE-2023-38831 Scanner ist ein fortschrittliches Cybersicherheitswerkzeug, das entwickelt wurde, um das Vorhandensein der CVE-2023-38831-Sicherheitslücke in WinRAR-Installationen zu erkennen und zu analysieren. Dieses Projekt implementiert einen mehrschichtigen Ansatz zur Schwachstellenerkennung, der Dateiintegritätsprüfungen, Prozessspeicher-Scans, Netzwerkverkehrsanalyse und Sandbox-Ausführung umfasst.
Funktionen
- Schwachstellenerkennung: Scannt WinRAR-Installationen auf die CVE-2023-38831-Sicherheitslücke.
- Dateiintegritätsprüfung: Überprüft die Integrität von WinRAR-Ausführungsdateien.
- Prozessspeicher-Scanning: Analysiert den Speicher laufender WinRAR-Prozesse auf verdächtige Muster.
- Netzwerkverkehrsanalyse: Überwacht den Netzwerkverkehr auf mögliche Exploit-Versuche.
- Sandbox-Ausführung: Führt WinRAR sicher in einer kontrollierten Umgebung aus und analysiert es.
- Weboberfläche: Bietet eine benutzerfreundliche webbasierte Oberfläche zum Starten von Scans und Anzeigen von Ergebnissen.
- Datenbankintegration: Speichert und ruft Scanergebnisse für historische Analysen ab.
- Visualisierung: Stellt Scanergebnisse durch interaktive Diagramme und Tabellen dar.
Technische Architektur
Kernkomponenten
- Scanner-Modul (
src/scanner.py): Orchestriert den Scanvorgang und integriert alle Erkennungsmethoden.
- Integritätsprüfer (
src/integrity.py): Implementiert die Dateihash-Überprüfung für WinRAR-Ausführungsdateien.
- Speicher-Scanner (
src/memory_scanner.py): Nutzt psutil für die Prozessspeicheranalyse.
- Netzwerkanalysator (
src/network_analyzer.py): Verwendet scapy zur Netzwerkpaketinspektion.
- Sandbox-Umgebung (
src/sandbox.py): Erstellt eine isolierte Umgebung für die sichere Ausführung und Analyse.
- Datenbank-Handler (
src/database.py): Verwaltet SQLite-Datenbankoperationen zum Speichern und Abrufen von Ergebnissen.
- Weboberfläche (
src/web_interface.py): Implementiert einen Flask-basierten Webserver für die Benutzerinteraktion.
Wichtige Technologien
- Python 3.8+: Kernprogrammiersprache
- SQLite: Leichtgewichtige Datenbank zur Speicherung von Scanergebnissen
- Flask: Web-Framework für die Benutzeroberfläche
- Scapy: Netzwerkpaketmanipulation und -analyse
- psutil: Plattformübergreifende Prozess- und Systemüberwachung
- Chart.js: JavaScript-Bibliothek zur Ergebnisvisualisierung
Installation
- Klonen Sie das Repository:
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Erstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv venv
source venv/bin/activate # Unter Windows: venv\Scripts\activate
- Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
- Richten Sie die Datenbank ein:
python -c "from src.database import Database; Database().create_table()"
Verwendung
Befehlszeilenschnittstelle
- Führen Sie den Scanner über die Befehlszeile aus:
Weboberfläche
- Starten Sie den Webserver:
python -m src.web_interface
Greifen Sie auf die Weboberfläche unter http://localhost:5000 zu.
Konfiguration
- Datenbankeinstellungen: Ändern Sie
src/database.py, um den Speicherort der Datenbankdatei zu ändern oder auf ein anderes Datenbanksystem umzustellen.
- Scan-Parameter: Passen Sie Schwellenwerte und Erkennungsmuster in den entsprechenden Moduldateien an (z. B.
src/memory_scanner.py, src/network_analyzer.py).
Tests
- Führen Sie die Testsuite aus:
Sicherheitshinweise
- Dieses Werkzeug sollte nur auf Systemen verwendet werden, die Sie besitzen oder für die Sie ausdrücklich eine Testberechtigung haben.
- Die Sandbox-Umgebung bietet eine zusätzliche Sicherheitsebene, dennoch ist Vorsicht geboten, wenn potenziell schädliche Dateien gescannt werden.
- Die Netzwerkverkehrsanalyse kann sensible Daten erfassen. Stellen Sie die Einhaltung der einschlägigen Datenschutzgesetze und -vorschriften sicher.
Leistungsoptimierung
- Der Speicher-Scanner verwendet effiziente Speicherzuordnungstechniken, um die Ressourcennutzung zu minimieren.
- Datenbankabfragen sind für die Leistung optimiert, mit geeigneten Indizes auf häufig abgefragten Spalten.
- Die Weboberfläche implementiert asynchrones Scannen, um eine Blockierung der Benutzeroberfläche bei lang andauernden Scans zu verhindern.
Erweiterung des Projekts
- Zusätzliche Schwachstellenprüfungen: Implementieren Sie neue Erkennungsmethoden in separaten Modulen und integrieren Sie sie in das Modul
scanner.py.
- API-Entwicklung: Erweitern Sie die Weboberfläche um eine RESTful-API zur Integration mit anderen Sicherheitstools.
- Integration von maschinellem Lernen: Fügen Sie ML-Modelle zur Anomalieerkennung im Prozessverhalten oder in Netzwerkverkehrsmustern hinzu.
Mitwirken
- Forken Sie das Repository.
- Erstellen Sie einen neuen Branch für Ihre Funktion:
git checkout -b funktionsname
- Committen Sie Ihre Änderungen:
git commit -am 'Funktion hinzugefügt'
- Pushen Sie den Branch:
git push origin funktionsname
- Reichen Sie einen Pull-Request ein.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Danksagungen
Haftungsausschluss
Dieses Werkzeug dient ausschließlich zu Bildungs- und professionellen Zwecken. Die Autoren übernehmen keine Verantwortung für Missbrauch oder Schäden, die durch dieses Programm verursacht werden. Stellen Sie stets sicher, dass Sie die Berechtigung haben, bevor Sie Systeme oder Netzwerke scannen, die Ihnen nicht gehören.