Ich versuche einen Weg zu finden, um eine umfassende Liste von Benutzerkonten auf einem Windows 7-System zu erhalten, einschließlich versteckter. Das Dialogfeld " Benutzerkonten " ( >control userpasswords2
) zeigt nur die normalen Benutzerkonten an, und selbst der Editor " Lokale Benutzer und Gruppen" zeigt nur normale Benutzerkonten und standardmäßig ausgeblendete / deaktivierte wie Administrator und Gast an. Das Dialogfeld " Benutzer oder Gruppen auswählen" verfügt über eine Schaltfläche " Jetzt suchen", die Benutzer und Gruppen kombiniert, aber leider den gleichen Inhalt wie die LUG hat.
Ich suche nach einer umfassenderen Liste, die "versteckte" / virtuelle Benutzerkonten wie TrustedInstaller enthält (oder genauer gesagt, NT Service \ TrustedInstaller - beachten Sie die verschiedenen "Domänen").
Ich habe es überprüft HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
, aber der SpecialAccounts
Schlüssel existiert nicht.
Ich habe auch überprüft HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
, und obwohl die Konten SystemProfile, LocalService und NetworkService aufgeführt sind, gibt es keine anderen Konten (wie TrustedInstaller und seine Art).
Insbesondere TrustedInstaller ist etwas verwirrend, da es sich um einen Benutzer, einen Dienst und eine ausführbare Datei handelt. Ich verwende es als Beispiel, weil es "super versteckt" ist, da es in keiner Art von Benutzerliste aufgeführt zu sein scheint. (Aus Versuchsgründen habe ich versucht, in der gesamten Registrierung nach "trustedinstaller" zu suchen, um festzustellen, ob ich einen Ort gefunden habe, an dem er als Benutzer aufgeführt ist, aber keinen.)
Um es klar auszudrücken
, suche ich nach einer Liste aller Konten, die in einem Benutzereingabefeld verwendet werden können, z. B. in Berechtigungsdialogen oder als runas
Argument.
quelle
Antworten:
Ich glaube nicht, dass es eine endgültige Liste aller möglichen Konten gibt.
Es gibt verschiedene Arten von Namen, die Sie im Benutzereingabefeld verwenden können, z. B. in Berechtigungsdialogen.
Als Erstes sind Standard-Win32_Accounts aufgeführt. Um eine vollständige Liste zu erhalten, öffnen Sie eine PowerShell-Sitzung und führen Sie Folgendes aus:
Dies sind die üblichen Benutzer, Gruppen und die eingebauten Konten.
Seit Vista gibt es eine neue Klasse von Konten, die als virtuelle Konten bezeichnet werden, da sie in den üblichen Verwaltungstools nicht angezeigt werden. Es gibt manchmal auch so genannte Dienstkonten, und es gibt mindestens drei verschiedene Arten davon:
Da Vista jedem Windows-Dienst ein virtuelles Konto zugeordnet ist, wird es auch unter einem anderen Benutzerkonto ausgeführt und auch wenn es überhaupt nicht ausgeführt wird. Es sieht aus wie
NT Service\MSSQLSERVER
So rufen Sie eine Liste dieser Anwendungen ab:
Jeder IIS-Anwendungspool, der unter ApplicationPoolIdentity ausgeführt wird, wird unter einem speziellen Konto mit dem Namen ausgeführt
IIS APPPOOL\NameOfThePool
Vorausgesetzt, Sie haben die IIS-Verwaltungsskripttools installiert, können Sie Folgendes ausführen:
Unter Server 2008+ und Windows 8+ mit Hyper-V erstellt jede virtuelle Maschine ein eigenes virtuelles Konto. Dies sieht folgendermaßen aus:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
um eine liste zu bekommen benutze:
Obwohl diese Konten im Berechtigungsdialogfeld nicht akzeptiert werden, können Sie sie mit icacls.exe zum Festlegen von Berechtigungen verwenden.
Es gibt auch eine spezielle Gruppe
NT Virtual Machine\Virtual Machines
, die woanders nicht auftaucht. Alle Konten der virtuellen Maschine sind Mitglieder dieser Gruppe, sodass Sie hiermit Berechtigungen für alle VM-Dateien festlegen können.Diese Namen sind sprachspezifisch, z. B. in Deutsch
NT Virtual Machine\Virtuelle Computer
Der Prozess dvm.exe (Desktop Window Manager) wird unter einem Benutzer ausgeführt
Windows Manager\DWM-1
Sie können diesen Benutzertyp auch in den Berechtigungsdialogen nicht verwenden. Es ist auch nicht wirklich möglich, diese aufzuzählen, da für jede 'Desktop-Sitzung' eine vorhanden ist. Wenn Sie also zwei RDP-Sitzungen verwenden, haben Sie auch
DWM-2
undDWM-3
zusätzlich zuDVM-1
. Es gibt also so viele Desktops wie verfügbar sind.In bestimmten Fällen können Sie im Berechtigungsdialog auch Computernamen verwenden, normalerweise wenn Sie Teil einer Active Directory-Domäne sind.
Wenn Sie PowerShell und 'JEA (Just enough Administration)' verwenden und eine Verbindung zu einem Server mit einer PS-Remotesitzung herstellen, wird möglicherweise ein temporärer virtueller Benutzer erstellt.
Diese haben folgendes Format:
winrm virtual users\winrm va_x_computername_username
und eine SID, die mit beginnt
S-1-5-94-
Das 'x' ist eine ganze Zahl.
Diese Konten können beim Zuweisen von NTFS-Berechtigungen verwendet werden, aber ich kann nicht alle diese möglichen virtuellen Benutzer auflisten.
Während einer JEA-Sitzung können
whoami
Sie mit den aktuellen Kontonamen ermitteln.Sogar diese Listen geben Ihnen nicht jeden möglichen Account.
Sie können beispielsweise einen Anwendungspool erstellen und
FooBarPool
dann wieder löschen. Sie können ihn weiterhinIIS APPPOOL\FooBarPool
im Berechtigungsdialog verwenden, sodass irgendwo eine interne Liste vorhanden sein muss.quelle
everyone
,restricted
usw. und Ihre Diskussion überNT Service\*
Konten erklärt andere wieTrustedInstaller
. Sie haben sich auch mit exotischeren Sonderfällen befasst, aber es sieht so aus, als wären alle gängigen Fälle berücksichtigt.Get-WebConfiguration system.applicationHost/applicationPools/add
stattdessen letztendlich verwendet habe .Dies liegt daran, dass TrustedInstaller ein Dienst und kein "Benutzer" -Objekt ist. Mit Vista sind Dienste jetzt Sicherheitsprinzipale und können Berechtigungen zugewiesen werden.
http://technet.microsoft.com/en-us/magazine/2007.06.acl.aspx
quelle
Gehen Sie zur Registerkarte Sicherheit und klicken Sie auf
Edit
Add...
Klicken
Advanced...
Klicken Sie auf
Object Types...
und deaktivieren Sie und klicken SieGroups
dann aufOK
Klicken Sie auf
Find Now
. Dies listet alle regulären Benutzer und Benutzer des integrierten Systems auf ("integrierte Sicherheitsprinzipien", wie Windows sie nennt).Beachten Sie, dass nicht alle auf dieser Seite angezeigten Konten in einem ausführenden Befehl verwendet werden können, obwohl sie alle in einem Berechtigungsdialogfeld verwendet werden können.
quelle
SYSTEM
TrustedInstaller dies nicht tut , solange sich der Benutzer dort befindet (oder zumindest befinden sollte) .find now
Schaltfläche in der Systemsteuerung "Benutzer und Gruppen", die ähnlich, aber leicht unterschiedlich ist. Meines Wissens ist das einzige Konto, das hier nicht angezeigt wird, TrustedInstaller. Dies liegt daran, dass Microsoft große Anstrengungen unternimmt, um zu verhindern, dass Sie jemals mit dem TrustedInstaller-Konto etwas unternehmen. Ich werde Sie wissen lassen, ob mir andere Möglichkeiten dazu einfallen.Locations...
, Ihren Computer einzurichten , wenn Sie sich in einer Domäne befinden (aber nur Ihren Computer möchten).Ab Windows Vista werden Dienste als Benutzer behandelt. Das heißt, jedem Dienst wird eine Sicherheitskennung (SID) zugewiesen. Dies gilt nicht speziell für den TrustedInstaller- Dienst. Sie können die jedem Dienst zugewiesene SID mit dem folgenden
sc showsid
Befehl anzeigen :Beachten Sie, dass der Dienst nicht auf dem System vorhanden sein muss. Beispiele:
oder für den Dienst Windows Management Instrumentation (
Winmgmt
):und zum Schluss für einen gefälschten Service:
Beachten Sie, dass alle SIDs mit "
S-1-5-80
where" beginnen , wobei " sub-authority"80
zugewiesen istSECURITY_SERVICE_ID_BASE_RID
. Darüber hinaus ist diese Zuweisung deterministisch: Es werden keine RIDs verwendet, und die SID ist auf allen Systemen gleich (weitere Informationen finden Sie in den Referenzen am Ende dieses Beitrags).Als Beispiel werde ich den
NT Service\Winmgmt
Dienst zuweisen , Schreibberechtigung für eine Datei:Windows unterstreicht den Namen
Winmgmt
und bestätigt, dass es sich um eine gültige Identität handelt:Klicken Sie nun auf OK und weisen Sie die Schreibberechtigung zu:
Dies bestätigt, dass jeder Dienstname als Benutzeridentität verwendet werden kann. Daher würde ich sie nicht als "Abendessen-versteckte" Konten bezeichnen: D
Weitere Informationen finden Sie in den folgenden Artikeln:
quelle
Sie können die NetQueryDisplayInformation-API verwenden und mit der bitweisen Überprüfung des Benutzerinformationsflags kombinieren. Ich habe genau die gleiche Anforderung, also koche ich einen Beispielcode (geändert von der MSDN GROUP-Abfrage).
Das von mir verwendete Benutzer-Flag ist UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> um sicherzustellen, dass wir ein Benutzerkonto erhalten, ist für das Benutzerkonto immer ein Kennwort erforderlich.
Arbeitscode unter: http://www.cceye.com/list-system-normal-user-account-only/
quelle