Специалист Orange Cyberdefense нашёл способ обхода защитных механизмов и выполнения произвольного кода в процессе LSASS. Он использовал службу CNG Key Isolation (KeyIso).
В июле 2022 года Microsoft внесла изменения в систему Protected Process Light, чтобы устранить уязвимости, позволяющие обходить защиту LSASS. Этот процесс отвечает за хранение и управление учётными данными пользователей в Windows.
Метод заключается в использовании уязвимых библиотек. Он известен как «Bring Your Own Vulnerable DLL» (BYOVDLL) и позволяет загрузить уязвимую версию DLL-библиотеки в процесс LSASS.
Специалист Orange Cyberdefense попробовал загрузить уязвимую версию библиотеки keyiso.dll в LSASS. Он изменил настройки реестра и указал путь к этой версии. При попытке запуска службы специалист столкнулся с ошибкой, так как система не смогла найти цифровую подпись DLL.
Тогда он обратился к каталогам файлов с криптографическими хэшами для проверки подлинности файлов в Windows. Исследователь установил нужный каталог и подтвердил, что система распознала подпись уязвимой библиотеки. В итоге он смог загрузить уязвимую версию keyiso.dll в LSASS.
После этого автор начал реализовывать полную цепочку эксплуатации уязвимостей. Он зарегистрировал новый провайдер ключей с уязвимой версией библиотеки ncryptprov.dll. Она была успешно загружена в процесс LSASS с помощью System Informer.
Наконец, исследователь смог запустить выполнение кода внутри защищённого процесса LSASS. Он использовал метод вывода сообщения через OutputDebugStringW, которое отобразилось в отладчике.
О том, как обнаружить хакера на этапе дампа учётных данных в Windows, можно прочитать здесь.
Источник: habr.com