03 septiembre, 2024

Hola, quiero la clave de SYSTEM (Windows y un usuario Especial)

Una forma de canalizar mi asombro y espanto de alguno requerimientos es escribir en mi blog, por lo menos desasna alguna persona más y evita que este mal se reproduzca cuando solicitan permisos de SYSTEM en Windows.

 

Horror SYSTEM Meme

Cuando escucho esto me crispa porque demuestra que no se tiene idea de lo que se esta haciendo, y peor cuando es un desarrollador quien lo solicita. Es mas sensato reconocer que no se sabe ya que no tengo problema de enseñarlo, pero evidentemente hay vicios que se arrastran


Que es el user SYSTEM? 

En Windows es una cuenta especial utilizada por el sistema operativo para ejecutar procesos y tareas que requieren los máximos privilegios en el sistema. Es más poderoso que un usuario administrador normal porque puede acceder y modificar cualquier parte del sistema operativo, incluidos los archivos protegidos y las configuraciones del sistema.

Básicamente, "System" es como el "superusuario" que Windows usa para manejar las operaciones críticas y mantener el sistema en funcionamiento. Es una cuenta interna, por lo que los usuarios regulares no pueden iniciar sesión como "System" directamente. No aparece en el Administrador de usuarios y no se puede agregar a ningún grupo.

Es una pseudocuenta similar, pero no idéntica, al root en Linux 🐧. Las diferencias principales son:

  • SYSTEM es una cuenta de servicio y, por lo tanto, no tiene un perfil de usuario (al menos no en el mismo sentido que un usuario de escritorio) 
  • El modelo de permisos de Windows aún aplica las ACL de modo que puedan existir objetos a los que el SYSTEM no pueda acceder directamente (aunque aún puede otorgar un privilegio a un token y obtener acceso de esa manera).

 

Soy modo dios con SYSTEM? Que privilegios tiene?


La cuenta SYSTEM es el nivel de privilegio más alto en el modelo de usuario de Windows. Existe para proporcionar propiedad a los objetos que se crean antes de que un usuario normal inicie sesión, como el Local Security Authority Subsystem (LSASS) y el Session Management Subsystem (SMSS).

También aparece en un volumen del sistema de archivos NTFS. De forma predeterminada, a la cuenta SYSTEM se le otorgan permisos de Control total para todos los archivos en un volumen NTFS. Aquí la cuenta tiene los mismos derechos y permisos funcionales que la cuenta Administrador.

Permisos en NTFS SYSTEM

Otorgar permisos al archivo con el grupo de Administradores no otorga implícitamente permiso a la cuenta SYSTEM. Los permisos de la cuenta SYSTEM se pueden eliminar de un archivo, pero no recomendamos eliminarlos.

Ojo acá se pone mas nerdo la cosa ... estas advertido!

Este usuario es reconocido por el subsistema de seguridad, pero no existe estrictamente como usuario

Meme futurama confundido

Este concepto es un poco confuso, pero hay que pensarlo de esta manera: la computadora en sí no es un usuario, pero hay muchas cosas que la computadora necesita hacer con objetos asegurables, por lo que necesita una forma de representarla como una entidad en el modelo de seguridad.

El sistema de control de acceso de Windows utiliza listas de control de acceso discrecional (DACLs) para proteger objetos. Estas DACLs constan de entradas de control de acceso (ACEs), cada una de las cuales otorga o deniega un conjunto particular de derechos de acceso a un "fideicomisario" particular, representado por un identificador de seguridad (SID). Ese SID representa un principio de seguridad. Los usuarios y grupos son ejemplos de principios de seguridad, pero hay principios que no son ni usuarios ni grupos. Por ejemplo, ANONYMOUS LOGON (SID S-1-5-7) representa la identidad de seguridad de una conexión al sistema sin un nombre de usuario o contraseña, pero no es en sí mismo un usuario. Otro ejemplo es AUTHENTICATED USERS, que es una entidad de seguridad que actúa como un grupo que contiene todos los usuarios autenticados en el sistema en un momento dado. No es un grupo en el sentido de que puedas agregarle o eliminar usuarios.

SYSTEM (SID S-1-5-18) es un principio de seguridad que representa la identidad del sistema operativo y muchos de sus servicios. Se puede utilizar de forma similar a una cuenta, pero técnicamente no es una cuenta de usuario.


¿Por qué no podemos iniciar sesión en esa cuenta? ¿Por qué la cuenta no está asociada con ninguna cuenta de usuario que haya iniciado sesión?

SYSTEM no tiene un perfil de usuario en el sentido normal porque no es un usuario interactivo, ni es estrictamente un usuario. No podes iniciar sesión con SYSTEM, ni local ni remotamente. Esto también se aplica a otras cuentas de servicio, como LOCAL SERVICE and NETWORK SERVICE. El caso especial de las cuentas de servicios locales (incluido el SYSTEM) es que no existen fuera de la máquina a la que están conectadas, por lo que no forman parte del dominio. Puede tener cuentas de servicio de dominio, pero existen como parte de AD en lugar de cuentas en una máquina.

Por razones prácticas, algunas partes de la infraestructura de la cuenta de usuario normal se replican para principios de seguridad integrados bajo los cuales un proceso puede ejecutarse en el contexto. Por ejemplo, existen directorios especiales que se utilizan como ubicaciones de almacenamiento cuando un proceso que se ejecuta con una de estas identidades de seguridad intenta acceder a %APPDATA% o una ubicación similar específica de la cuenta.

Es importante machacar este concepto: "La cuenta SYSTEM es una cuenta de servicio, no una cuenta de usuario". Por lo tanto:

  • No es miembro del grupo de usuarios interactivos [Interactive] (SID S-1-5-4). 
  • No tiene ningún perfil de usuario de escritorio asociado. 

Simplemente está ahí para facilitar el funcionamiento del sistema operativo y sus servicios. Por ejemplo, es posible que los servicios en modo de usuario asociados con los controladores deban ejecutarse en el momento del arranque, antes de que el usuario inicie sesión, por lo que se ejecutan como SYSTEM para que el proceso se ejecute en el arranque y tengan los privilegios necesarios para comunicarse con los controladores.

Si hacemos algo en la cuenta del SYSTEM, como cambiar el nombre de un archivo, ¿se registra en el administrador de eventos?

No más que cualquier otra cuenta. De hecho, se puede habilitar la auditoría y otros registros como parte de las funciones de auditoría de su sistema de archivos o como parte de la política de seguridad local (o grupal), pero esto también se aplica a cualquier otra cuenta.

¿Esta cuenta tiene contraseña? o nombre de usuario?

El nombre completo de la entidad de seguridad del SYSTEM es NT AUTHORITY\SYSTEM. La cuestión de si tiene contraseña o no, es complicada. La respuesta simple es no, pero eso no cuenta la historia completa. Tiene algo llamado evidencia (evidence), que es un término utilizado en el modelo de seguridad de Windows para referirse a cualquier forma de datos de identificación que demuestre que usted es quien dice ser. Esto no es tan claro como las contraseñas o los certificados, sino que se extiende a cosas como tokens de seguridad adjuntos a subprocesos o procesos. Como tal, no tiene una contraseña en el sentido de que usted pueda escribir algo e iniciar sesión en ella, pero tiene evidencia que demuestra que es la cuenta del SYSTEM para evitar que un proceso local se haga pasar por ella.


Podemos ejecutar el Explorador de Windows con la cuenta del SYSTEM y explorar su perfil, pero cuando lo hago, a menudo tengo dificultades para eliminar, cambiar el nombre, etc., ¿por qué?

Ya estamos haciendo cosas raras y abusando del modelo; que sepa doña Rosa no anda ejecutando explorer con system ....

Lo importante a recordar aquí es que un proceso puede ejecutarse como SYSTEM pero aún tener identificadores para objetos que existen en una sesión diferente. Tener en cuenta que las sesiones no son lo mismo que los usuarios: son objetos contenedores de los que se crean instancias para los usuarios cuando inician sesión. De forma predeterminada, los servicios se ejecutan bajo la sesión nula, que no puede ver. Estos se denominan servicios no interactivos y generalmente pertenecen a SID que no están en el grupo integrado (built-in group) de INTERACTIVE USERS (S-1-5-4). Cuando se ejecuta Explorer como SYSTEM en su propia sesión, sus identificadores de Windows existen en la sesión actual en la que ha iniciado sesión, pero son propiedad de SYSTEM. La distinción importante es que no sos propietario de ese proceso ni de sus identificadores, pero sí de la sesión en la que existe. En el mejor de los casos, esto es un truco: está engañando a un proceso de servicio no interactivo para que posea identificadores que existen en una sesión interactiva. Técnica utilizada por algunos malware.


Resumiendo

  • Cuenta Peligrosa, no la uses!
  • Nombres que lo podemos encontrar
    • LocalSystem account
    • .\LocalSystem 
    • LocalSystem
    • ComputerName\LocalSystem
    • NT AUTHORITY\SYSTEM
    • SYSTEM
  • La cuenta NO tiene contraseña 
  • Security ID (SID): S-1-5-18
  • No tiene ningún perfil propio
  • Tiene amplios privilegios en la computadora local
  • Presenta las credenciales de la computadora (e.g. MANGO$) a servidores remotos
  • No es miembro del grupo de usuarios interactivos [Interactive] (SID S-1-5-4). 

 Referencias

  • https://wiki.samba.org/index.php/The_SYSTEM_Account 
  • https://msdn.microsoft.com/en-us/library/windows/desktop/ms684190(v=vs.85).aspx
  • https://support.microsoft.com/en-us/help/243330/well-known-security-identifiers-in-windows-operating-systems
  • https://support.microsoft.com/en-us/help/120929/how-the-system-account-is-used-in-windows
  • https://security.stackexchange.com/questions/66743/system-account-in-windows 
  • https://learn.microsoft.com/es-es/windows/win32/secauthz/access-control-lists
  • Libro Windows Internals de Mark Russinovich

 

0 comments:

Publicar un comentario