Скрипт-оркестратор мер по смягчению последствий Secure Boot
Обзор
Этот PowerShell-скрипт автоматизирует шаги по смягчению последствий для Secure Boot в связи с CVE-2023-24932, как описано в рекомендациях Microsoft по безопасности. Он охватывает весь процесс, включая обновления реестра, перезагрузки и проверку журнала событий, чтобы гарантировать защиту вашей системы от UEFI-буткита BlackLotus.
Возможности
- Полностью автоматизированная оркестрация: скрипт проводит вас через каждый шаг, включая несколько перезагрузок, и автоматически возобновляет работу после каждой перезагрузки.
- Проверка журнала событий: проверяет наличие определённых идентификаторов событий (например, 1799, 1037) для подтверждения успешных обновлений.
- Учёт BitLocker: предупреждает, если BitLocker активен, и проверяет наличие ключа восстановления.
- Проверки совместимости оборудования: блокирует выполнение на неподдерживаемых конфигурациях (например, TPM 2.0 на Windows Server 2012/R2).
- Варианты ручной проверки: позволяет вручную проверить подпись Boot Manager и базы данных Secure Boot.
Выполняемые шаги
Скрипт следует официальным рекомендациям Microsoft, выполняя следующие шаги по порядку:
-
Обновление DB (0x40)
- Добавляет сертификат «Windows UEFI CA 2023» в базу данных Secure Boot (DB).
- Требует 2 перезагрузки.
-
Обновление Boot Manager (0x100)
- Обновляет Boot Manager до версии, подписанной сертификатом «Windows UEFI CA 2023».
- Требует 2 перезагрузки.
-
Ручная проверка (необязательно)
- Копирует Boot Manager (
bootmgfw.efi) для ручной проверки подписи.
- Проверяет, присутствует ли сертификат «Windows UEFI CA 2023» в DB.
-
Обновление DBX (0x80)
- Добавляет сертификат «Windows Production PCA 2011» в базу данных запрещённых подписей Secure Boot (DBX).
- Блокирует старые версии Boot Manager, подписанные этим сертификатом.
- Требует 2 перезагрузки.
-
Обновление SVN (0x200)
- Обновляет номер безопасной версии Secure Boot (SVN) для предотвращения атак отката.
- Требует 2 перезагрузки.
-
Итоговый отчёт
- Отображает сводку конфигурации Secure Boot и записей журнала событий.
Предварительные требования
- Версия Windows: Windows 10/11, Windows Server 2016/2019/2022 или более поздняя.
- Права администратора: скрипт должен запускаться от имени администратора.
- Включённый Secure Boot: убедитесь, что Secure Boot включён в UEFI-прошивке вашей системы.
- Ключ восстановления BitLocker: если BitLocker активен, убедитесь, что у вас есть ключ восстановления.
Использование
-
Скачайте скрипт:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/helleflo1312/Orchestrated-Powerhell-for-CVE-2023-24932/refs/heads/main/CVE-2023-24932-automation.ps1" -OutFile "CVE-2023-24932-automation.ps1"
-
Запустите скрипт от имени администратора:
.\CVE-2023-24932-automation.ps1
-
Следуйте инструкциям на экране. Скрипт проведёт вас через каждый шаг, включая перезагрузки.
Проверки оборудования:
Скрипт проверит производителей оборудования и совместимость в соответствии с рекомендациями Microsoft по безопасности
Проверка журнала событий
Скрипт проверяет следующие идентификаторы событий для подтверждения успешных обновлений:
- 1036: обновление DB (0x40) выполнено успешно.
- 1799: обновление Boot Manager (0x100) выполнено успешно.
- 1037: обновление DBX (0x80) выполнено успешно.
Если событие не найдено, скрипт отобразит предупреждение, но продолжит выполнение. Вы можете вручную проверить журналы с помощью Просмотра событий.
Пример после успешного выполнения этого скрипта:

Примечания
- Необратимые изменения: после применения обновления DBX (0x80) его нельзя отменить без сброса Secure Boot.
- Носитель восстановления: перед применением обновления DBX убедитесь, что у вас есть обновлённый носитель восстановления. Более старые носители могут не загружаться после обновления.
- Тестирование: протестируйте скрипт в непроизводственной среде перед его широким развёртыванием.
Устранение неполадок
- Ошибки журнала событий: если скрипту не удаётся найти ожидаемые идентификаторы событий, вручную проверьте системные журналы на наличие ошибок.
- Восстановление BitLocker: если система входит в режим восстановления BitLocker, используйте ключ восстановления для разблокировки диска.
- Проблемы с прошивкой: некоторые UEFI-прошивки могут не поддерживать требуемые обновления. Обратитесь к производителю оборудования за обновлениями.
Ссылки
Лицензия
Этот скрипт предоставляется на условиях лицензии MIT. Используйте на свой страх и риск.
Участие в разработке
Если вы столкнулись с проблемами или у вас есть предложения по улучшению, пожалуйста, откройте issue или отправьте pull request на GitHub.
Отказ от ответственности
Этот скрипт предоставляется «как есть», без каких-либо гарантий. Всегда тестируйте его в непроизводственной среде перед развёртыванием на боевых системах.