CVE-2014-1812
Microsoft Windows
2021-11-03
Microsoft Windows Active Directory contains a privilege escalation vulnerability due to the way it distributes passwords that are configured using Group Policy preferences. An authenticated attacker who successfully exploits the vulnerability could decrypt the passwords and use them to elevate privileges on the domain.
Технический анализ и план устранения
Суть уязвимости
Уязвимость позволяет аутентифицированному злоумышленнику расшифровывать пароли, которые были заданы через настройки групповых политик (Group Policy Preferences, GPP). Эти пароли (например, для локальных учетных записей, служб) хранятся в файлах Groups.xml в общей сетевой папке SYSVOL в зашифрованном виде, но с использованием статического, известного ключа. Злоумышленник с доступом к домену может:
1. Найти файлы Groups.xml в \\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\.
2. Извлечь из них зашифрованную строку cpassword.
3. Расшифровать её с помощью общедоступного ключа, получив пароль в чистом виде.
4. Использовать полученный пароль для повышения привилегий в домене.
Как исправить
Установите официальные обновления безопасности от Microsoft, которые устраняют уязвимость, удаляя возможность задавать пароли через GPP.
Для Windows Server (контроллеры домена): * Windows Server 2012 R2: Установите обновление KB2962486. * Windows Server 2008 R2: Установите обновление KB2928120. * Windows Server 2008: Установите обновление KB2928120.
После установки обновлений:
1. Удалите все существующие файлы GPP, содержащие пароли (Groups.xml, Services.xml, Scheduledtasks.xml, Datasources.xml, Printers.xml, Drives.xml).
2. Пересоздайте все пароли, которые когда-либо задавались через GPP, так как они уже могли быть скомпрометированы.
Проверка установленного обновления (на контроллере домена):
wmic qfe list | findstr "KB2928120 KB2962486"
Временное решение
Если немедленная установка патчей невозможна, выполните следующие действия:
-
Очистите SYSVOL от уязвимых файлов:
- Найдите и удалите все файлы GPP, содержащие атрибут
cpassword. Используйте скрипт PowerShell:powershell Get-ChildItem -Path "\\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\" -Recurse -Include *.xml | Select-String "cpassword" | Select-Object -Unique Path - Вручную удалите найденные файлы или зачистите из них строки с
cpassword.
- Найдите и удалите все файлы GPP, содержащие атрибут
-
Измените метод управления паролями:
- Немедленно прекратите использовать настройки групповых политик (Group Policy Preferences) для задания любых паролей.
- Для управления паролями локальных учетных записей используйте встроенные функции, например, Restricted Groups или специализированные решения (например, Microsoft LAPS).
-
Усильте мониторинг:
- Настройте аудит и оповещения на доступ к файлам
.xmlв общей папкеSYSVOLс рабочих станций пользователей (события Windows4663). - Регулярно запускайте скрипты для поиска вновь созданных файлов с
cpassword.
- Настройте аудит и оповещения на доступ к файлам