Estoy tratando de encontrar una manera de obtener una lista completa de las cuentas de usuario en un sistema Windows 7, incluidas las ocultas. El cuadro de diálogo Cuentas de usuario ( >control userpasswords2
) solo muestra las cuentas de usuario normales, e incluso el editor de Grupos y usuarios locales solo muestra las cuentas de usuario normales y las cuentas estándar ocultas / deshabilitadas como Administrador e Invitado. El cuadro de diálogo Seleccionar usuarios o grupos tiene un botón Buscar ahora que combina usuarios y grupos, pero, por desgracia, tiene el mismo contenido que el LUG.
Estoy buscando una lista más completa que incluya cuentas de usuario "super-ocultas" / virtuales como TrustedInstaller (o para ser más precisos, NT Service \ TrustedInstaller: observe el "dominio" diferente).
Lo comprobé HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
, pero la SpecialAccounts
clave no existe.
También lo verifiqué HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
, y aunque tiene las cuentas SystemProfile, LocalService y NetworkService enumeradas, no tiene otras (como TrustedInstaller y su tipo).
TrustedInstaller específicamente es un poco confuso porque es un usuario, un servicio y un archivo ejecutable. Lo estoy usando como ejemplo porque está "súper oculto" ya que no parece estar incluido en ningún tipo de lista de usuarios. (Como experimento, traté de buscar en el registro completo el "instalador de confianza" para ver si podía encontrar un lugar donde figurara como usuario, pero no encontré ninguno).
Para ser claros, lo que estoy buscando es una lista de todos cuentas que se pueden usar en un campo de entrada de usuario, como en diálogos de permisos o como runas
argumento.
fuente
Respuestas:
No creo que haya una lista definitiva de todas las cuentas posibles.
Hay diferentes tipos de nombres que puede usar en el campo de entrada del usuario, como en los cuadros de diálogo de permisos.
Primero están las Win32_Accounts estándar, para obtener una lista completa, abra una sesión de PowerShell y ejecute:
Estos son los usuarios habituales, los grupos y las cuentas integradas.
Desde Vista, hay una nueva clase de cuentas, llamadas cuentas virtuales, porque no aparecen en las herramientas de administración habituales. A veces también se llaman cuentas de servicio, y hay al menos tres tipos diferentes de estas:
Dado que Vista, cada servicio de Windows tiene una cuenta virtual asociada, incluso se ejecuta bajo una cuenta de usuario diferente e incluso si no se ejecuta en absoluto. Parece que
NT Service\MSSQLSERVER
Para obtener una lista de esos usos:
Cada grupo de aplicaciones IIS que se ejecuta bajo ApplicationPoolIdentity se ejecuta bajo una cuenta especial llamada
IIS APPPOOL\NameOfThePool
Suponiendo que tiene instaladas las herramientas de secuencias de comandos de administración de IIS, puede ejecutar:
En Server 2008+ y Windows 8+ tiene Hyper-V, cada máquina virtual crea su propia cuenta virtual, que se ve así:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
para obtener una lista use:
Aunque estas cuentas no se aceptan en el cuadro de diálogo de permisos, puede usarlas con icacls.exe para establecer permisos.
También hay un grupo especial
NT Virtual Machine\Virtual Machines
, que no aparece en ningún otro lado. Todas las cuentas de máquinas virtuales son miembros de este grupo, por lo que puede usar esto para establecer permisos para todos los archivos de VM.Estos nombres son específicos del idioma, por ejemplo, en alemán se llama
NT Virtual Machine\Virtuelle Computer
El proceso dvm.exe (Desktop Window Manager) se ejecuta bajo un usuario
Windows Manager\DWM-1
Nuevamente, no puede usar este tipo de usuarios en los cuadros de diálogo de permisos. Tampoco es realmente posible enumerarlos porque existe uno para cada 'sesión de escritorio', por lo que cuando usa dos sesiones RDP, también tiene
DWM-2
yDWM-3
ademásDVM-1
. Por lo tanto, hay tantos como escritorios disponibles.En ciertos casos, también puede usar nombres de computadora en el cuadro de diálogo de permisos, generalmente cuando forma parte de un dominio de Active Directory.
Al usar PowerShell y 'JEA (Just suficiente Administration)' y conectarse a un servidor con una sesión remota PS, se puede crear un usuario virtual temporal.
estos tienen el siguiente formato:
winrm virtual users\winrm va_x_computername_username
y un SID que comienza con
S-1-5-94-
la 'x' es un número entero.
Estas cuentas se pueden usar al asignar permisos NTFS, pero no sé cómo enumerar todos estos posibles usuarios virtuales.
Mientras está en una sesión de JEA, puede usar
whoami
para averiguar el nombre de la cuenta actual.Incluso estas listas no le dan todas las cuentas posibles.
Por ejemplo, puede crear un grupo de aplicaciones y
FooBarPool
luego eliminarlo nuevamente, aún puede usarloIIS APPPOOL\FooBarPool
en el cuadro de diálogo de permisos, por lo que debe haber una lista interna en alguna parte.fuente
everyone
, comorestricted
, etc., y su discusión deNT Service\*
cuentas explica otros comoTrustedInstaller
. También cubrió casos especiales más exóticos, pero parece que se tienen en cuenta todos los comunes.Get-WebConfiguration system.applicationHost/applicationPools/add
lugar.Esto se debe a que TrustedInstaller es un servicio y no un objeto "usuario". Con Vista, los Servicios ahora son los principales de seguridad y se les pueden asignar permisos.
http://technet.microsoft.com/en-us/magazine/2007.06.acl.aspx
fuente
Vaya a la pestaña de seguridad y haga clic
Edit
Add...
Hacer clic
Advanced...
Haga clic
Object Types...
y desmarqueGroups
, luego haga clicOK
Haga clic
Find Now
. Esto mostrará una lista de todos los usuarios regulares y usuarios del sistema incorporado ("principios de seguridad integrados", como Windows los llama).Tenga en cuenta que no todas las cuentas que aparecen en esta página se pueden usar en un comando Ejecutar como, aunque todas se pueden usar en un diálogo de permisos.
fuente
SYSTEM
está (o al menos debería estar) allí, TrustedInstaller no lo está .find now
botón en el panel de control de Usuarios y Grupos, que es similar pero ligeramente diferente. Que yo sepa, la única cuenta que no aparece aquí es TrustedInstaller. Esto se debe a que Microsoft hace todo lo posible para evitar que usted haga algo a / con la cuenta TrustedInstaller. Te haré saber si pienso en alguna otra forma de hacer esto.Locations...
en su computadora si está en un dominio (pero solo quiere su computadora).A partir de Windows Vista, los servicios se tratan como usuarios. Es decir, se asigna un Identificador de seguridad (SID) a cada servicio. Esto no es específico del servicio TrustedInstaller . Puede ver el SID asignado a cualquier servicio utilizando el
sc showsid
comando:Tenga en cuenta que no es necesario que el servicio exista en el sistema. Ejemplos:
o, para el servicio Instrumental de administración de Windows (
Winmgmt
):y, finalmente, para un servicio falso:
Tenga en cuenta que todos los SID comienzan con
S-1-5-80
, donde80
se asigna a laSECURITY_SERVICE_ID_BASE_RID
sub autoridad. Además, esta asignación es determinista: no se utilizan RID y el SID será el mismo en todos los sistemas (consulte las referencias al final de esta publicación para obtener más información).Como ejemplo, asignaré el
NT Service\Winmgmt
servicio, escribo permiso para algún archivo:Windows subraya el nombre
Winmgmt
y confirma que es una identidad válida:Ahora, haga clic en Aceptar y luego asigne el permiso de escritura:
Esto confirma que cualquier nombre de servicio puede usarse como identidad de usuario. Por lo tanto, no los llamaría cuentas "ocultas en la cena": D
Para obtener más información, lea los siguientes artículos:
fuente
Puede usar la API NetQueryDisplayInformation, combinar con la comprobación de bit a bit en el indicador de información del usuario. Tengo exactamente el mismo requisito, por lo que cocino un código de muestra (modificado de la consulta GRUPO MSDN).
El indicador de usuario que utilicé es UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> esto garantiza que obtengamos una cuenta humana, la cuenta humana siempre requiere contraseña.
código de trabajo en: http://www.cceye.com/list-system-normal-user-account-only/
fuente