¿Por qué SYSTEM no puede otorgar SeTcbPrivilege?

0

Estoy intentando otorgarle a una consola de Windows que procese el privilegio SeTcbPrivilege de un proceso del SISTEMA no interactivo que usa OpenProcessToken(...) con TOKEN_ADJUST_PRIVILEGES .

A pesar de ejecutarse como SISTEMA, la subvención SeTcbPrivilege falla; como lo demostró un error de auditoría en el Visor de sucesos al intentar realizar una acción con esos derechos y realizar una comprobación cruzada con PrivilegeCheck(...) . La concesión del proceso SeDebugPrivilege y cualquier otra subvención se realizará correctamente.

Mi suposición es que esto falla debido a la política de grupo 'Actuar como parte de un sistema operativo', lo que impide que incluso SYSTEM otorgue este derecho a un proceso que no sea de SYSTEM. ¿Es válida esta suposición, o hay algún otro obstáculo que debe superarse? Esto está en un sistema Windows 10 actualizado, algo endurecido.

    
pregunta Rushyo 08.11.2018 - 21:06
fuente

1 respuesta

3

Para cada uno de los privilegios posibles en un token, hay tres estados posibles:

  1. Habilitado: el privilegio está presente en el token y está activo.
  2. Deshabilitado: el privilegio está presente en el token, pero no está activo actualmente.
  3. No presente: el privilegio no se incluyó cuando se creó el token o se eliminó.

No hay manera de agregar un privilegio que el token aún no tenga. Aunque parece que eso es lo que estás tratando de hacer; tome un token que pertenezca a un proceso sin SeTcbPrivilege, y agregue SeTcbPrivilege a él. No puede hacer eso (no desde el modo de usuario, al menos; un controlador de kernel probablemente podría). Si SeTcbPrivilege está en el tercer estado, o bien no estaba allí originalmente (porque el proceso no tenía "Actuar como arte del sistema operativo" cuando se creó) o se eliminó mediante una llamada previa a AdjustTokenPrivileges - entonces lo que estás tratando de hacer es imposible.

Sin saber más sobre cuál es su objetivo final, no puedo proporcionar un enfoque alternativo al problema.

    
respondido por el CBHacking 08.11.2018 - 21:16
fuente

Lea otras preguntas en las etiquetas