WEAPONIZING-CVE-2024-4367
CVE-2024-4367 — критическая уязвимость (CVSS 9.8) в PDF.js, позволяющая выполнять произвольный JavaScript-код из-за недостаточной проверки типов объекта FontMatrix в PDF-файлах.
Мастер эксплойта CVE-2024-4367: Руководство пользователя
| ИДЕНТИФИКАТОР CVE | CVE-2024-4367 |
|---|
| КРИТИЧНОСТЬ | Критическая (оценка CVSS: 9.8) |
| УЯЗВИМОСТЬ | Выполнение произвольного JavaScript-кода в PDF.js из-за недостаточной проверки типов объекта FontMatrix |
| ЭКСПЛУАТАЦИЯ | Специально созданные PDF-файлы могут выполнять JavaScript в браузере жертвы, что приводит к краже данных, XSS или RCE. |
1. Настройка окружения
Предварительные требования
-
Операционная система:
- Дистрибутив Linux на базе Debian/Ubuntu или аналогичный, с правами администратора.
- Убедитесь, что установлен Python 3.x (
python3 --version).
-
Настройка скрипта:
- Сохраните скрипт эксплойта в каталоге по вашему выбору (например,
~/cve-2024-4367/) с именем файла cve_2024_4367_exploit_wizard.py.
-
Шаблонный PDF:
- Поместите безвредный PDF-файл с именем
template.pdf в тот же каталог. Этот файл послужит основой для вредоносного PDF.
-
Social Engineering Toolkit (SET):
- Установите SET (Social Engineering Toolkit):
sudo apt-get update
sudo apt-get install set
- Проверьте установку с помощью:
2. Запуск мастера эксплойта
Шаг 1: Сделайте скрипт исполняемым (необязательно)
Предоставьте скрипту права на выполнение:
chmod +x cve_2024_4367_exploit_wizard.py
Шаг 2: Выполните скрипт
Запустите скрипт одним из следующих способов:
./cve_2024_4367_exploit_wizard.py
или
python3 cve_2024_4367_exploit_wizard.py
Шаг 3: Следуйте подсказкам на экране
Скрипт проведёт вас через процесс атаки шаг за шагом.
3. Пошаговый рабочий процесс мастера
Шаг 1: Проверка и установка зависимостей
- Скрипт автоматически проверяет наличие:
- PyPDF2: требуется для работы с PDF-файлами.
- SET: используется для фишинговых кампаний.
- Отсутствующие зависимости будут установлены автоматически (или появится запрос на ручную установку).
Шаг 2: Создание вредоносного PDF
- Скрипт внедряет JavaScript-полезную нагрузку в поле
/FontMatrix файла template.pdf.
- Результат,
malicious.pdf, будет сохранён в том же каталоге.
- Будет отображён успех или неудача.
Шаг 3: Управление целями кампании
- Добавляйте адреса электронной почты (или идентификаторы) целей в интерактивном режиме.
- Вводите адреса электронной почты целей по одному.
- Завершите список, введя
done.
- Скрипт интегрируется с SET для доставки вредоносного PDF через фишинг.
- Следуйте подсказкам SET для настройки кампании:
- Настройте шаблоны электронных писем.
- Прикрепите
malicious.pdf.
- Выйдите из SET, чтобы вернуться в мастер.
Шаг 5: Размещение вредоносного PDF
- Скрипт запускает HTTP-сервер по адресу
http://localhost:8080.
malicious.pdf доступен для скачивания.
- Данные, похищенные полезной нагрузкой (например,
document.cookie), будут записаны в консоль скрипта.
4. Тестирование эксплойта
Проверка в контролируемой среде
- Откройте
malicious.pdf в уязвимой версии PDF.js или в изолированной виртуальной машине.
- Отслеживайте журналы сервера, чтобы подтвердить выполнение полезной нагрузки и кражу данных.
Наблюдение за журналами кражи данных
- Данные (например, cookie), отправленные полезной нагрузкой, будут записаны в виде:
[+] Data exfiltrated: session_id=abcd1234; auth_token=xyz987
Изменение полезной нагрузки для дополнительных тестов
- Настройте полезную нагрузку для таких действий, как кейлоггинг или перенаправление.
- Проверьте способность вашей среды обнаруживать или смягчать эти угрозы.
5. Очистка и задачи после выполнения
Остановка локального сервера
Завершите работу HTTP-сервера с помощью Ctrl+C в терминале.
Защита вредоносных ресурсов
- Удалите или безопасно храните
malicious.pdf, чтобы предотвратить случайное использование.
- Безопасно архивируйте любые журналы или данные кампании.
Сброс тестовой среды
- Если вы используете виртуальную машину, вернитесь к чистому снимку.
- Убедитесь, что в системе не осталось вредоносных артефактов.
6. Важные примечания и юридический отказ от ответственности
Только для авторизованного использования
- Этот скрипт и руководство предназначены для образовательных целей и авторизованного тестирования на проникновение в контролируемых средах.
- Несанкционированное использование незаконно и может повлечь серьёзные юридические последствия.
- Всегда получайте явное разрешение перед проведением любых тестов эксплойтов.
Защита ваших систем
-
Обновите PDF.js:
- Убедитесь, что установлена последняя версия PDF.js для устранения CVE-2024-4367.
-
Ограничьте JavaScript в PDF-файлах:
- По возможности отключите выполнение JavaScript в программах просмотра PDF.
-
Внедрите защиту конечных точек:
- Используйте надёжные инструменты обнаружения и реагирования на конечных точках.
-
Обучайте пользователей:
- Обучите сотрудников распознавать фишинговые попытки и избегать открытия непроверенных PDF-файлов.
Следуя этому руководству ответственно, вы сможете эффективно моделировать реальные сценарии атак и укрепить свою кибербезопасность.