Сканер CVE-2023-38831
Обзор
Сканер CVE-2023-38831 — это современный инструмент кибербезопасности, предназначенный для обнаружения и анализа наличия уязвимости CVE-2023-38831 в установках WinRAR. Проект реализует многоуровневый подход к обнаружению уязвимостей, включающий проверки целостности файлов, сканирование памяти процессов, анализ сетевого трафика и исполнение в песочнице.
Возможности
- Обнаружение уязвимостей: Сканирует установки WinRAR на наличие уязвимости CVE-2023-38831.
- Проверка целостности файлов: Проверяет целостность исполняемых файлов WinRAR.
- Сканирование памяти процессов: Анализирует память запущенных процессов WinRAR на предмет подозрительных паттернов.
- Анализ сетевого трафика: Отслеживает сетевой трафик на предмет потенциальных попыток эксплуатации.
- Исполнение в песочнице: Безопасно исполняет и анализирует WinRAR в контролируемой среде.
- Веб-интерфейс: Предоставляет удобный веб-интерфейс для запуска сканирований и просмотра результатов.
- Интеграция с базой данных: Сохраняет и извлекает результаты сканирования для исторического анализа.
- Визуализация: Представляет результаты сканирования в виде интерактивных графиков и таблиц.
Техническая архитектура
Основные компоненты
- Модуль сканера (
src/scanner.py): Координирует процесс сканирования, объединяя все методы обнаружения.
- Проверка целостности (
src/integrity.py): Реализует проверку хэшей файлов для исполняемых файлов WinRAR.
- Сканер памяти (
src/memory_scanner.py): Использует psutil для анализа памяти процессов.
- Сетевой анализатор (
src/network_analyzer.py): Использует scapy для инспекции сетевых пакетов.
- Среда песочницы (
src/sandbox.py): Создаёт изолированную среду для безопасного исполнения и анализа.
- Обработчик базы данных (
src/database.py): Управляет операциями с базой данных SQLite для хранения и извлечения результатов.
- Веб-интерфейс (
src/web_interface.py): Реализует веб-сервер на основе Flask для взаимодействия с пользователем.
Ключевые технологии
- Python 3.8+: Основной язык программирования
- SQLite: Легковесная база данных для хранения результатов сканирования
- Flask: Веб-фреймворк для пользовательского интерфейса
- Scapy: Манипулирование и анализ сетевых пакетов
- psutil: Кроссплатформенный мониторинг процессов и системы
- Chart.js: JavaScript-библиотека для визуализации результатов
Установка
- Клонируйте репозиторий:
git clone https://github.com/yezzfusl/cve_2023_38831_scanner.git
cd cve_2023_38831_scanner
- Создайте и активируйте виртуальное окружение:
python -m venv venv
source venv/bin/activate # В Windows используйте venv\Scripts\activate
- Установите зависимости:
pip install -r requirements.txt
- Настройте базу данных:
python -c "from src.database import Database; Database().create_table()"
Использование
Интерфейс командной строки
- Запустите сканер из командной строки:
Веб-интерфейс
- Запустите веб-сервер:
python -m src.web_interface
Веб-интерфейс доступен по адресу http://localhost:5000.
Конфигурация
- Настройки базы данных: измените
src/database.py, чтобы сменить расположение файла базы данных или перейти на другую систему управления базами данных.
- Параметры сканирования: настройте пороговые значения и шаблоны обнаружения в соответствующих файлах модулей (например,
src/memory_scanner.py, src/network_analyzer.py).
Тестирование
Вопросы безопасности
- Этот инструмент следует использовать только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
- Среда песочницы обеспечивает дополнительный уровень безопасности, однако при сканировании потенциально вредоносных файлов всё равно следует соблюдать осторожность.
- Анализ сетевого трафика может захватывать конфиденциальные данные. Убедитесь в соблюдении соответствующих законов и нормативных требований о конфиденциальности.
Оптимизация производительности
- Сканер памяти использует эффективные методы отображения памяти для минимизации потребления ресурсов.
- Запросы к базе данных оптимизированы по производительности и используют правильное индексирование часто запрашиваемых столбцов.
- Веб-интерфейс реализует асинхронное сканирование, чтобы предотвратить блокировку интерфейса во время длительных проверок.
Расширение проекта
- Дополнительные проверки уязвимостей: Реализуйте новые методы обнаружения в отдельных модулях и интегрируйте их в модуль
scanner.py.
- Разработка API: Расширьте веб-интерфейс, чтобы предоставить RESTful API для интеграции с другими средствами безопасности.
- Интеграция машинного обучения: Включите модели машинного обучения для обнаружения аномалий в поведении процессов или паттернах сетевого трафика.
Участие в разработке
- Сделайте форк репозитория.
- Создайте новую ветку для вашей функции:
git checkout -b feature-name
- Зафиксируйте ваши изменения:
git commit -am 'Add some feature'
- Отправьте изменения в ветку:
git push origin feature-name
- Отправьте pull request.
Лицензия
Этот проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.
Благодарности
Отказ от ответственности
Этот инструмент предназначен только для образовательного и профессионального использования. Авторы не несут ответственности за любое неправомерное использование или ущерб, причинённый этой программой. Всегда убеждайтесь, что у вас есть разрешение, прежде чем сканировать системы или сети, которые вам не принадлежат.