Сейчас на форуме: jinoweb (+4 невидимых)

 eXeL@B —› Программирование —› Не определяет SYSTEM_MANDATORY_LABEL_ACE для SACL
Посл.ответ Сообщение

Ранг: 19.5 (новичок), 8thx
Активность: 0.050.08
Статус: Участник

Создано: 18 марта 2020 13:01
· Личное сообщение · #1

Исследую одну теорию доступа к системным процессам без драйвера.
Опущу создание системного процесса, но по итогу я имею свой NT AUTHORITY\SYSTEM процесс.
Мой процесс открывает хендлы системных процессов с полным доступом, и хендлы Protected и ProtectedLite процессов с флагами PROCESS_QUERY_LIMITED_INFORMATION | ACCESS_SYSTEM_SECURITY
Далее я получаю море информации из SECURITY_DESCRIPTOR и сравниваю её с данными WinDbg (lkd>).
К примеру, хендл lsass.exe я открываю с флагами PROCESS_ALL_ACCESS | ACCESS_SYSTEM_SECURITY и получаю информацию о DACL и SACL.
По DACL вопросов нет - данные моей программы (ACE из ACCESS_ALLOWED_ACE) полностью совпадают с данными WinDbg.
Но с SACL история иная - если SACL имеет только SYSTEM_AUDIT_ACE моя программа выводит из него всю информацию по ACE, но если есть ещё и SYSTEM_MANDATORY_LABEL_ACE (или только он) моя программа не видит его ACE.
Не понимаю в чём проблема? У меня полный доступ к хендлу процесса. Или SYSTEM_MANDATORY_LABEL_ACE на это наплевать?

Добавлено спустя 1 час 12 минут
Сорян, поторопился и досконально не изучил мануалы
Оказывается флаг SACL_SECURITY_INFORMATION фильтрует SACL и удаляет данные из ACE.
Проблема решилась добавлением флага LABEL_SECURITY_INFORMATION в функцию GetSecurityInfo.


 eXeL@B —› Программирование —› Не определяет SYSTEM_MANDATORY_LABEL_ACE для SACL
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати