Как проверить подлинность загрузчика Windows после атаки
Если после подозрительной активности компьютер стал загружаться медленнее, запускать неизвестные программы или требовать смены пароля до входа в Windows, загрузчик нужно проверять до открытия обычного рабочего стола. Загрузочные вредоносы способны подменить путь к системе, внедрить свой код в конфигурацию загрузки или изменить файлы на системном разделе. При этом внешне операционная система может выглядеть исправной.
Проверка сводится не к одному сообщению «файл подписан», а к сопоставлению нескольких признаков: доверенной цифровой подписи, контрольной сумме, содержимого BCD, настроек Secure Boot и журналов загрузки. Каждый способ имеет ограничения. Например, хеш подтверждает совпадение с конкретным эталоном, а подпись — происхождение файла, но не гарантирует, что остальная система чиста.
Наиболее убедительный порядок — загрузиться с доверенного аварийного носителя, отключить сетевое соединение и осмотреть оригинальный диск как данные. Если компьютер выполняет действия злоумышленника ещё до запуска Windows, проверка из работающей системы способна показывать ложные значения. Для критичных случаев образ диска лучше анализировать на отдельной машине.
Сначала фиксируют состояние без изменений: делают резервную копию, записывают модель, версию и номер сборки Windows, параметры UEFI, путь системного тома и результаты проверки. Затем сравнивают загрузочные компоненты с официальным источником и только после этого принимают решение о ремонте или полной переустановке.
Что входит в цепочку загрузки Windows
В типичной загрузке UEFI прошивка запускает C:\EFI\Microsoft\Boot\bootmgr.efi. Загрузчик Windows обычно обращается к bootmgfw.efi, а тот вызывает winload.efi или другой загрузчик, указанный в конфигурации BCD. Проверять нужно не только bootmgr.efi, но и связанные файлы, параметры записей и модуль, с которого фактически стартует система.
На устаревших компьютерах с BIOS цепочка другая: после MBR запускается Bootmgr, затем загружаются winload.exe, winboot.sys и драйверы загрузочного сектора. На диске находятся файлы вроде C:\Boot, C:\Bootmgr и C:\Windows\System32\Boot. Нормальный путь зависит от разметки, поэтому его сравнивают с тем, что возвращает bcdedit.
Полезно заранее знать, какие файлы должны находиться на EFI-разделе и где лежит BCD. Для дополнительного изучения сценариев загрузки и обхода проверок используйте материалы на сайте maks-1.com. Если раздел не читается, путь ведёт в неожиданную папку или появился неизвестный .efi, это повод приостановить обычную загрузку и перейти к офлайн-проверке.
Проверка из работающей системы
Из работающей Windows доступен быстрый первичный осмотр. В командной строке с правами администратора выполняют bcdedit /enum all, а для текущей записи — bcdedit /enum {current}. В выводе проверяют path, device, description, наличие параметра testpath no и соответствие системного диска ожидаемому разделу. Неизвестный путь, несколько конкурирующих записей или подозрительный bootmgfw.efi требуют более глубокой проверки.
Цифровую подпись файлов EFI проверяют в PowerShell. Поле Status со значением Valid и сертификат Microsoft служат сильным подтверждением подлинности, хотя проверка должна выполняться из доверенной среды. Одновременно полезно вычислить SHA-256, чтобы сравнить файл с заранее сохранённым эталоном.
Get-AuthenticodeSignature 'C:\EFI\Microsoft\Boot\bootmgr.efi'
Get-AuthenticodeSignature 'C:\EFI\Microsoft\Boot\bootmgfw.efi'
certutil -hashfile "C:\EFI\Microsoft\Boot\bootmgr.efi" SHA256
certutil -hashfile "C:\EFI\Microsoft\Boot\bootmgfw.efi" SHA256
Если PowerShell показывает NotSigned, HashMismatch, UnknownError или неожиданного издателя, файл нужно сравнить с официальной копией. Ошибка чтения, необычные дата и время изменения, неверный владелец и отличающийся размер также фиксируются как исходные данные для сравнения. Результаты лучше сохранить в текстовом файле и не запускать сомнительные найденные компоненты.
| Метод | Что подтверждает | Ограничение |
|---|---|---|
| Контрольная сумма SHA-256 | Полное совпадение с эталонным файлом | Эталон должен соответствовать версии и обновлению |
| Проверка цифровой подписи | Неизменность подписанного файла и доверенный издатель | Не исключает компрометацию других компонентов |
| Просмотр BCD | Путь, описание и параметры загрузочных записей | Вывод из заражённой Windows можно подделать |
| Secure Boot | Проверку подписей по ключам UEFI | Пользовательские ключи и отключение требуют отдельной оценки |
Сверка с эталонным диском Windows
Эталон должен соответствовать архитектуре, редакции и максимально близкой версии Windows. Для Microsoft 365, Home, Pro и серверных сборок файлы могут различаться, а после обновлений их хеши меняются. Надёжнее использовать официальный ISO Microsoft и извлекать из него именно компоненты той же схемы, не ориентируясь только на название образа.
Правильная процедура — загрузить доверенный Live USB или WinPE, открыть командную строку и подключить системный том. EFI-раздел сначала просматривают как данные, затем назначают ему временную букву, например S:, и проверяют S:\EFI\Microsoft\Boot\BCD командой bcdedit /store S:\EFI\Microsoft\Boot\BCD /enum all. Букову тома определяют через diskpart, чтобы не записать данные на другой раздел.
Из официального ISO извлекают bootmgr.efi и bootmgfw.efi того же выпуска, затем сравнивают хеши, подписи, размеры и версии PE-файлов. Полное совпадение хешей — сильное доказательство; различие требует изучения обновлений и может быть легитимным. Если точного эталона нет, оценивают происхождение подписи, доверие цепочки сертификатов и соответствие путей штатной схеме.
Безопасная загрузка и признаки изменения
Secure Boot должен проверять подписи загрузчиков по ключам UEFI. В msinfo32 видно состояние безопасной загрузки, а команда Confirm-SecureBootUEFI в PowerShell возвращает результат True или False. Отключённая защита после атаки — серьёзный сигнал, особенно если её раньше не меняли. Пользовательские ключи допустимы для мультизагрузочной конфигурации, но их источник и состав необходимо проверить.
Журналы помогают установить хронологию. В «Просмотр событий» изучают канал Microsoft-Windows-Windows-Boot-Manager/Operational, системный журнал и Microsoft-Windows-Windows Defender/Operational. Следы внезапного изменения BCD, отключения Secure Boot, очистки журналов или появления неизвестных драйверов должны быть сопоставлены с датой инцидента. Удалённый или очищенный журнал сам по себе доказывает вмешательство не всегда, но повышает риск.
Команда sfc /verifyonly проверяет защищённые файлы, а DISM /Online /Cleanup-Image /RestoreHealth восстанавливает хранилище компонентов; ни одна из них не заменяет осмотр EFI-раздела. Для дополнительного изучения журналов и признаков компрометации полезны в справочных материалах teknisi.org. Запуск Microsoft Defender Offline может обнаружить часть загрузочных вредоносов, хотя некоторые из них активируются раньше защитного программного обеспечения.
Восстановление доверенного загрузчика
Если подлинность загрузчика не подтверждена, безопаснее не лечить отдельный файл на предположительно заражённой системе. Полная переустановка Windows с удалением прежнего EFI-раздела и повторным созданием разделов исключает сохранение скрытых параметров загрузки. Перед этим важно сохранить пользовательские данные, а пароли и активные сессии затем сменить с другого чистого устройства.
Когда повреждение ограничено BCD или штатными файлами, загрузку восстанавливают из WinPE. Для UEFI временно подключают системный том и выполняют bcdboot C:\Windows /s S: /f UEFI /l ru-RU, предварительно проверив букву Windows и языковой код. В системах с BIOS применяют bootrec /fixmbr, bootrec /fixboot и bootrec /rebuildbcd. Эти команды запускают из среды восстановления, а не из подозрительной Windows.
После ремонта проверку повторяют полностью: сверяют подписи и хеши, просматривают BCD, убеждаются в включённом Secure Boot и загружают систему без подозрительных внешних носителей. Если сомнения сохраняются, повреждение прошивки, запасного раздела или скрытого диска исключают только полной заменой комплектующих либо проверкой на отдельном оборудовании. Независимая чистая машина и новый образ Windows дают наиболее надёжную точку отсчёта.
Сохраните этот порядок как памятку: зафиксируйте состояние, проверьте BCD, сравните файлы с официальным эталоном, изучите Secure Boot и журналы, а ремонт выполняйте только из доверенной среды. При обнаружении неизвестного .efi, подменённой подписи или изменения пути загрузки остановитесь и переходите к переустановке, не пытаясь доверять результатам проверки из уже скомпрометированной системы.
Подпишитесь на обновления блога и повторяйте эталонную проверку после крупных обновлений Windows: состав загрузочных файлов, параметры BCD и политика Secure Boot могут меняться легитимно. Регулярная сверка помогает заметить расхождение раньше, чем загрузчик получит возможность подменить систему.