¿Es "NT AUTHORITY\SYSTEM" un usuario o un grupo?

¿Es "NT AUTHORITY\SYSTEM" un usuario o un grupo?

En Windows el usuario Systemse muestra con el símbolo de grupo: ingrese la descripción de la imagen aquí. (Usando la API interna de Win32ID de cuenta de búsquedaTambién revela que parece ser un grupo.SidTypeGroup.)

Por otro lado, los procesos pueden ejecutarse de forma system contextsimilar en un archivo user context. Además, los documentos de Microsoft lo describen como "usuario del sistema" o "cuenta del sistema", y no como "grupo del sistema".

¿Es un usuario que, para fines heredados, se muestra como grupo?

(¿O es algoWerner Heisenberg¿Le habría interesado?)


Nota:¿Qué es el usuario NT AUTHORITY\SYSTEM?es similar pero no responde a la pregunta de por qué se muestra como grupo y se comporta como un usuario.

Respuesta1

Primero,token de acceso contiene mucho más que elidentificador de seguridad (SID). Sólo hay que "Ejecutar como administrador" un programa para ver en el Administrador de Tareas que su usuario es uno mismo y no Administrador, y este milagro se consigue simplemente modificando el token de acceso, no sustituyendo el SID.

En segundo lugar, NT-AUTHORITY y SYSTEM no son cuentas ni grupos, a pesar de lo que dicen otras fuentes (incluso dentro de Microsoft). Un SID normalmente tiene un nombre que se muestra cuando es necesario. Una cuenta de usuario aportará su SID como SID principal al token de acceso, que también determinará el nombre que muestran varias utilidades. Pero el token de acceso puede contener SID adicionales, por ejemplo para todos los grupos a los que pertenece esa cuenta de usuario. Al verificar los permisos, Windows buscará cualquier SID en el token de acceso que tenga ese permiso.

Algunos SID de Windows conocidos tendrán nombres informados por Windows, aunque en realidad no pertenecen a ninguna cuenta.

AIdentificador de seguridad está definido por Wikipedia como:

un identificador único e inmutable de un usuario, grupo de usuarios o otro principal de seguridad.

El SID ni siquiera necesita definir una cuenta de usuario o un grupo. Simplemente define un conjunto de permisos. El artículo de Wikipedia anterior agrega:

Windows otorga o deniega acceso y privilegios a recursos basados ​​en listas de control de acceso (ACL), que utilizan SID para identificar de forma única a los usuarios y sus membresías en grupos. Cuando un usuario inicia sesión en una computadora, se genera un token de acceso que contiene los SID de usuario y grupo y el nivel de privilegio del usuario. Cuando un usuario solicita acceso a un recurso, el token de acceso se compara con la ACL para permitir o denegar una acción particular en un objeto particular.

El SID de NT-AUTHORITY\SYSTEMse puede agregar a otras cuentas. Por ejemplo, esto se dice sobre el Cuenta del sistema local:

La cuenta LocalSystem es una cuenta local predefinida utilizada por el administrador de control de servicios. [...]Su token incluye los SID NT AUTHORITY\SYSTEM y BUILTIN\Administrators; estas cuentastener acceso a la mayoría de los objetos del sistema.

Ya se puede ver en el texto anterior la confusión que reina incluso en la documentación de Microsoft en cuanto a los SID del sistema, que no son exactamente cuentas ni grupos, sino sólo un conjunto de permisos. Esta confusión se extiende aún más a otras utilidades y artículos, por lo que cualquier información devuelta debe examinarse cuidadosamente.

El artículo de Microsoft Identificadores de seguridad conocidos en los sistemas operativos Windows detalla todos los SID del sistema, algunos de los cuales incluyo a continuación:

imagen

Conclusión: NT-AUTHORITY\SYSTEM es el nombre de un ID de seguridad, que no es ni un grupo ni una cuenta. Se muestra en el Administrador de tareas como SISTEMA cuando es el SID principal de un programa. Lo más que yo llamaría es "una pseudocuenta".

Respuesta2

En mi humilde opinión, tu observación es correcta. NT-AUTHORITY\SYSTEMes un grupo, por lo que podrías referirte a él como el sistemagrupo. Este grupoexiste desde Windows NT 4al menos y ya ha habido un grupo allí:

Grupos Especiales

[...]

Sistema: el sistema operativo.

También hay una cuenta llamadaSistema localcual

[...] incluye el NT AUTHORITY\SYSTEM [...]

entonces podrías llamar a esto el sistemausuarioque es miembro del grupo SISTEMA.

Sistemas internosPsGetSidapoya la teoría de grupos para SISTEMA:

C:\>PsGetsid.exe S-1-5-18

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Account for YOURPCNAMEHERE\S-1-5-18:
Well Known Group: NT-AUTHORITY\SYSTEM

Respecto al inicio de un proceso en grupo:

Para gestionar la seguridad, un proceso obtiene unatoken de acceso. El token de acceso contiene únicamente SID. No estoy seguro de si se verifica si el SID del usuario es realmente un usuario o un grupo. En principio no importaría: el SID define a qué se puede acceder. Quizás elArtículo de CodeProjectpuede ayudar con la implementación

información relacionada