Повышение привилегий в Windows через штатные механизмы

Операционная система кэширует состояния и наследует права, чтобы поддерживать скорость работы сетей и упрощать развёртывание. Одна ошибка в реестре или настройке делегирования превращает штатный вызов в полный доступ к узлу без запроса пароля. https://seberd.ru/25783

Почему процесс lsass хранит учётные данные в памяти и когда изоляция не срабатывает

Архитектура операционной системы вынуждает процесс lsass.exe кэшировать билеты Kerberos в оперативной памяти. Сетевые запросы проходят быстрее, когда учётные данные уже находятся в адресном пространстве. Провайдер WDigest изначально сохранял пароли в открытом виде ради поддержки устаревших веб-интерфейсов.

Встроенные сборки последних лет отключают модуль автоматически. Администраторы часто включают ключ HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential вручную, когда корпоративные приложения требуют аутентификацию по старым стандартам. Право SeDebugPrivilege превращает чтение памяти в тривиальную задачу.

Запуск стороннего исполняемого файла из %TEMP% с аргументами дампа фиксируется событием 4688. Механизм Credential Guard изолирует секреты в виртуализированном контейнере VBS. Подписанные драйверы ядра и легитимные диагностические утилиты обходят изоляцию, потому что получают прямой доступ к защищённым областям на уровне гипервизора.

Современные средства защиты приложений активно блокируют чтение памяти. Правила Attack Surface Reduction пресекают попытки обращения к lsass со стороны неподписанных инструментов. В средах с жёсткими политиками WDAC запуск сторонних утилит из пользовательских каталогов невозможен без обхода контрольных точек. Разница между сборками Windows 10 LTSC и Windows 11 24H2 становится критической. Старые редакции операционной системы хранят секреты в стандартных структурах памяти, тогда как новые сборки требуют явного отключения защиты на уровне прошивки или реестра. Инженеры часто жертвуют изоляцией ради совместимости со старыми системами учёта или базами данных.

Вектор остаётся открытым до выпуска обновлений от поставщика ПО. Сопоставление времени запуска процессов с графиками обслуживания помогает отделить диагностику от посторонней активности. Мониторинг изменений ключей реестра и аудит прав на отладку процессов дают предупреждение до компрометации. Отключение защиты ради одного приложения открывает дверь для множества других техник.

В зрелых инфраструктурах приоритет смещается в сторону поведенческого анализа. Средства EDR отслеживают последовательность вызовов API OpenProcess и ReadProcessMemory. Нормальные утилиты администрирования запрашивают отладку только во время плановых окон обслуживания. Подозрительные процессы обращаются к памяти lsass сразу после запуска или используют косвенные методы через драйверы с ослабленной проверкой подписи. Включение Protected Process Light для lsass добавляет дополнительный слой контроля.

Система проверяет цифровую подпись каждого процесса перед разрешением доступа к защищённым областям. Администраторам приходится балансировать между производительностью мониторинга и безопасностью. Агенты сбора метрик часто теряют функциональность при активном PPL. Корректировка конфигурации требует предварительного тестирования в изолированном сегменте. Резкое изменение параметров защиты ломает автоматические задачи резервного копирования и аудита.

Где параметр AlwaysInstallElevated всё ещё обходит контроль учётных записей

Ветви реестра HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer и HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer управляют контекстом выполнения пакетов MSI. Значение 1 в обеих ветках заставляет установщик наследовать права NT AUTHORITY\SYSTEM. Механизм создавали для автоматического развёртывания софта в сегментах без делегированных полномочий. Стандартный редактор групповых политик не отображает параметр в пользовательском интерфейсе. Миграция конфигураций между доменами регулярно оставляет ключ активным без видимых причин. Проверка состояния требует прямого запроса к реестру.

reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

Запуск msiexec /quiet /qn /i payload.msi проходит без диалоговых окон. Операционная система игнорирует запрос на повышение прав из-за установленного флага. Обнаружение аномальной активности требует мониторинга запуска msiexec.exe с ключом /quiet из пользовательских каталогов. Удаление ключей или сброс значения в ноль устраняет вектор. В средах с активными правилами AppLocker и включённым Smart App Control техника теряет работоспособность.

Метод сохраняет актуальность в унаследованных сегментах, где политики контроля приложений отключены ради совместимости с самописным ПО и старыми системами документооборота. Смежная поверхность атаки связана с правами на модификацию бинарных путей служб. Вывод дескриптора безопасности через sc sdshow <имя_службы> раскрывает разрешающие записи. Права CC или WP у групп BU или AU позволяют заменить исполняемый файл на произвольный скрипт. Регулярный аудит конфигураций предотвращает скрытое повышение прав.

Инфраструктуры с ручным развёртыванием агентского ПО содержат подобные настройки чаще всего. Инженеры обходят ограничения прав пользователя для ускорения установки. Возврат к стандартной модели требует тестирования в изолированном сегменте. Резкое изменение контекста выполнения ломает автоматические задачи резервного копирования и мониторинга.

Современные системы защиты обращают внимание на родительский процесс и цепочку вызовов. Запуск msiexec из explorer.exe или пользовательской сессии без прав администратора создаёт чёткий сигнал для средств мониторинга. Нормальное развёртывание корпоративного софта проходит через системные службы доставки или специализированные платформы управления. Обнаружение нестандартных родительских процессов рядом с параметрами тихой установки снижает время реакции.

Администраторы часто забывают отключать параметр в ветке HKCU, полагаясь только на глобальные настройки домена. Локальные пользователи получают возможность обходить ограничения без изменения доменных политик. Проверка обеих веток реестра становится обязательным элементом базовой гигиены. Инвентаризация прав на запись в каталоги установки дополняет картину. Злоумышленник может подготовить каталог с модифицированными файлами конфигурации. Система установит подготовленный контент с системными правами при следующем обновлении пакета.

Как отсутствие кавычек в путях служб подставляет произвольный код

Интерпретатор командной строки обрабатывает пути к исполняемым файлам служб последовательно при отсутствии кавычек и наличии пробелов. Запись C:\Program Files\MyApp\service.exe без обрамляющих символов заставляет систему проверять C:\Program.exe перед переходом к целевому каталогу. Право на запись в корневой директории диска позволяет поместить подготовленный файл. Операционная система выполнит сторонний код вместо оригинального бинарника.

Инвентаризация записей выполняется запросом wmic service get name,pathname с фильтрацией строк, содержащих пробелы без кавычек. Команда Get-CimInstance Win32_Service работает стабильнее на современных сборках. Корпоративные развёртывания стороннего программного обеспечения регулярно оставляют подобные записи. Добавление кавычек и отзыв прав на запись в корневые каталоги закрывает вектор.

Служба печати загружает драйверные библиотеки по запросу клиента через RPC. Параметр NoWarningNoElevationOnUpdate в ветке HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint отключает проверку цифровой подписи при обновлении. Злоумышленник использует стандартный интерфейс установки принтера для загрузки произвольной библиотеки с правами SYSTEM. Отключение Spooler на контроллерах домена и файловых серверах устраняет вектор полностью. Проверка доступных RPC-конечных точек утилитой rpcdump.py с фильтром MS-RPRN подтверждает состояние службы.

Журнал приложений фиксирует ошибки доступа к компонентам DCOM кодом 10016. Разработчики сторонних печатных решений оставляют открытые права на запись в каталоги драйверов для упрощения обновлений. Сегментация сетевых принтеров на отдельные VLAN и отключение прямого доступа к RPC-интерфейсу службы печати снижает поверхность воздействия до управляемых узлов. В актуальных сборках производитель сильно ограничил функциональность. Унаследованное оборудование сохраняет работоспособность вектора в изолированных сегментах. Современные системы управления принтерами требуют явной проверки цифровых подписей перед загрузкой кода.

Автоматизированные средства защиты приложений сканируют пути служб при каждом запуске. Нестандартные расположения исполняемых файлов без кавычек попадают в список аномалий. Системы мониторинга сопоставляют время создания файла с расписанием запуска службы. Подозрительная активность возникает, когда бинарник появляется в корне диска или в каталоге C:\Program за секунды до старта сервиса. Нормальное обновление программного обеспечения происходит через инсталляторы с проверкой подписи и временными каталогами. Злоумышленник помещает подготовленный файл в заранее известное место. Система выполняет вредоносный код вместо легитимного компонента из-за приоритета поиска. Исправление записей в реестре требует перезапуска службы или перезагрузки узла. Администраторы часто откладывают процедуру из-за риска остановки критических процессов. Поэтапное исправление конфигураций снижает нагрузку на инфраструктуру.

Почему NTLM хеши перемещаются между узлами без знания паролей

Реестр хранит локальные учётные записи и их NTLM хеши в изолированном кусте HKLM\SAM. Операционная система блокирует прямой доступ к файлу c:\Windows\System32\config\SAM для стандартных администраторов. Утилита reg.exe создаёт резервные копии веток HKLM\SAM и HKLM\SYSTEM с правами SYSTEM. Перенос файлов на отдельный хост и анализ раскрывает хеши без запуска кода на целевой машине. Протокол SMB принимает хеш напрямую при аутентификации. Механизм минует этап вычисления ответа на challenge. Ограничения производителя требуют наличия учётной записи встроенного администратора с идентификатором RID 500 или явного разрешения в политике. Техника остаётся рабочей при отключённой подписи SMB и унифицированных паролях локальных администраторов.

Массовое применение одинакового пароля на десятках узлов превращает компрометацию одной машины в доступ ко всей группе. Решение LAPS генерирует уникальные пароли для каждого хоста и автоматически обновляет их. Принудительная подпись SMB блокирует передачу хеша в открытом виде. Журнал безопасности фиксирует сетевые входы событием 4624 с полем Logon Type равным 3.

Массовые подключения в короткий промежуток времени с идентичными хешами указывают на автоматизированное перемещение. Утилита logonsessions раскрывает активные сессии. Команда klist sessions показывает кэшированные билеты для сопоставления с логами аутентификации. Отключение NTLMv1 и настройка строгой проверки подписи SMB предотвращают перехват сессий на промежуточных узлах. Регулярная смена паролей учётных записей служб снижает время жизни извлечённых хешей. Гибридные среды с миграцией на новые версии операционной системы часто сохраняют старые хеши в кэше.

Политики очистки не применяются к автономным рабочим станциям по умолчанию. Включение режима строгой валидации сессий и аудит времени последнего изменения пароля позволяют выявить задержки в ротации учётных данных. В сегментах ритейла и производственных площадок унификация паролей встречается чаще всего из-за упрощения развёртывания рабочих мест. Инженеры часто игнорируют требования к ротации ради стабильности легаси-приложений.

Современные средства защиты отслеживают аномальные последовательности аутентификации. Нормальное взаимодействие узлов происходит через Kerberos или подписанные каналы SMB. Подозрительная активность возникает, когда рабочая станция инициирует множественные подключения к разным серверам с одинаковыми учётными данными. Средства EDR анализируют заголовки пакетов и сопоставляют их с конфигурацией домена.

Включение расширенного аудита позволяет фиксировать попытки передачи хешей через промежуточные узлы. Администраторы настраивают правила исключения для легитимных систем резервного копирования. Автоматизированные платформы управления учётными записями сокращают окно атаки до минимума. Интеграция с локальными контроллерами домена обеспечивает централизованный контроль. Регулярная проверка конфигураций безопасности предотвращает возврат к уязвимым настройкам.

Как делегирование Kerberos открывает доступ к другим серверам

Контроллер домена выдаёт билеты службы узлам с разрешённым делегированием. Режим unconstrained delegation сохраняет TGT каждого пользователя, обратившегося к хосту, в памяти процесса. Субъект с доступом к памяти извлекает билеты и формирует запросы к другим ресурсам от имени жертвы. Инвентаризация компьютерных объектов командлетом Get-ADComputer с фильтром по атрибуту TrustedForDelegation выявляет уязвимые узлы. Ограниченный режим constrained delegation требует явного указания целевых SPN.

Ошибка в наименовании службы или копирование конфигурации из тестовой среды открывает доступ к непредусмотренным ресурсам. Модель resource-based constrained delegation переносит управление на целевой объект. Атрибут msDS-AllowedToActOnBehalfOfOtherIdentity хранит список разрешённых учётных записей. Право WriteProperty на этот атрибут позволяет добавить произвольный профиль в список делегирующих.

Проверка дескрипторов безопасности объектов Active Directory выявляет аномальные записи. Отзыв разрешений выполняется очисткой атрибута командлетом Set-ADComputer. Группа Protected Users блокирует делегирование для своих членов. Механизм принудительно использует Kerberos и отключает кэширование учётных данных. Очистка кэша билетов командой klist purge прерывает активные сессии и принудительно требует повторной аутентификации. Событие 4742 с включённым расширенным аудитом фиксирует изменение свойств компьютера.

Сопоставление времени изменения с графиками обслуживания отделяет плановые задачи от несанкционированных действий. Интеграция веб-приложений с внутренними API часто требует делегирования контекста пользователя. Разработчики забывают ограничивать список целевых служб. Настройка строгого контроля SPN и автоматический мониторинг изменений в атрибутах компьютерных объектов разрывают цепочку горизонтального перемещения до момента получения прав администратора домена. В зрелых доменах с активными правилами контроля приложений и строгими политиками WDAC многие из этих техник требуют дополнительной настройки обхода. Ограничение прав на изменение атрибутов делегирования сокращает поверхность атаки.

Современные средства защиты анализируют поведение учётных записей в реальном времени. Нормальное делегирование происходит в строго ограниченных списках служб и фиксированных временных окнах. Подозрительная активность возникает, когда пользовательский билет используется для доступа к ресурсам, которые не связаны с повседневными задачами. Средства мониторинга сопоставляют SPN с конфигурацией приложений и выявляют нестандартные маршруты.

Администраторы настраивают правила ограничения для служебных учётных записей. Автоматизированные скрипты проверяют атрибуты делегирования при каждом изменении групповых политик. Регулярная очистка кэша билетов предотвращает накопление устаревших токенов. Интеграция с системами управления идентификацией обеспечивает централизованный контроль над правами. Поэтапный переход к строгому режиму делегирования снижает риски без остановки критических процессов.

Особенно опасно, когда у обычной учётной записи или компьютера есть право WriteProperty на атрибут msDS-AllowedToActOnBehalfOfOtherIdentity. Что фактически позволяет настроить делегирование на себя. В крупных зрелых доменах такие вещи уже неплохо мониторят через событие 4742, а вот в средних и небольших компаниях на это часто просто закрывают глаза.

Оставьте комментарий