it-swarm.com.de

Liste der versteckten / virtuellen Windows-Benutzerkonten

Ich versuche einen Weg zu finden, um eine umfassende Liste von Benutzerkonten auf einem Windows 7-System zu erhalten, einschließlich versteckter. Der Dialog Benutzerkonten (>control userpasswords2) zeigt nur die normalen Benutzerkonten an, und selbst der Editor Lokale Benutzer und Gruppen zeigt nur normale Benutzer an Konten und versteckte/deaktivierte Standardkonten wie Administrator und Gast. Das Dialogfeld Benutzer oder Gruppen auswählen enthält eine Schaltfläche Jetzt suchen , die Benutzer und Gruppen kombiniert, aber leider den gleichen Inhalt hat als die LUG.

Ich suche nach einer umfassenderen Liste mit "super-hidden"/virtuellen Benutzerkonten wie TrustedInstaller (oder genauer gesagt NT Service\TrustedInstaller - Beachten Sie die verschiedenen "Domänen").

Ich habe HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList geprüft, aber der Schlüssel SpecialAccounts existiert nicht.

Ich habe auch HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList überprüft, 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 gefunden habe.)

Um es klar auszudrücken, suche ich eine Liste aller Konten, die in einem Benutzereingabefeld verwendet werden können, z. B. in Berechtigungsdialogen oder als Argument für runas.

42
Synetech

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:

get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName

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:

  • Windows-Dienstkonten

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:

get-service | foreach {Write-Host NT Service\$($_.Name)}
  • IIS-Anwendungspools

Jeder IIS Anwendungspool, der unter ApplicationPoolIdentity ausgeführt wird, wird unter einem speziellen Konto mit dem Namen IIS APPPOOL\NameOfThePool ausgeführt.

Angenommen, Sie haben die Verwaltungsskripttools IIS installiert, können Sie Folgendes ausführen:

Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
  • Virtuelle Hyper-V-Maschinen

Unter Server 2008+ und Windows 8+ mit Hyper-V erstellt jede virtuelle Maschine ein eigenes virtuelles Konto, das wie folgt aussieht: NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5

um eine liste zu bekommen benutze:

get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}

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 an keiner anderen Stelle 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. auf Deutsch heißt es NT Virtual Machine\Virtuelle Computer

  • Desktop Window Manager

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 neben DWM-2 und DWM-3 auch DVM-1. Es sind also so viele Desktops verfügbar, wie es gibt.

  • Computernamen

In bestimmten Fällen können Sie im Berechtigungsdialog auch Computernamen verwenden, normalerweise wenn Sie Teil einer Active Directory-Domäne sind.

  • Virtuelle Windows-Remotebenutzer

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 S-1-5-94- beginnt

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 Sie mit whoami den aktuellen Kontonamen ermitteln.

  • endlich:

Sogar diese Listen geben Ihnen nicht jeden möglichen Account.

Sie können beispielsweise einen Anwendungspool FooBarPool erstellen und dann wieder löschen. Sie können dennoch IIS APPPOOL\FooBarPool im Berechtigungsdialog verwenden, sodass irgendwo eine interne Liste vorhanden sein muss.

41
Peter Hahndorf

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

10
surfasb
  1. Gehen Sie zu einer beliebigen Datei auf Ihrer Festplatte, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften aus.
  2. Gehen Sie zur Registerkarte Sicherheit und klicken Sie auf Edit

    edit security settings

  3. Klicken Sie auf Add...
  4. Klicken Sie auf Advanced...

    select users or groups

  5. Klicken Sie auf Object Types... und deaktivieren Sie Groups und klicken Sie dann auf OK

    object types

  6. Klicken Sie auf Find Now. Hier werden alle regulären Benutzer und Benutzer des integrierten Systems aufgelistet ("integrierte Sicherheitsprinzipien", wie Windows sie nennt).

    find now

Beachten Sie, dass nicht alle auf dieser Seite angezeigten Konten in einem Run-As-Befehl verwendet werden können, obwohl sie alle in einem Berechtigungsdialogfeld verwendet werden können.

7
nhinkle

Ab Windows Vista werden Dienste als Benutzer behandelt. Das heißt, jedem Dienst wird eine Sicherheitskennung (SID) zugewiesen. Dies ist nicht spezifisch für TrustedInstaller . Sie können die jedem Dienst zugewiesene SID mit dem Befehl sc showsid anzeigen:

USAGE: sc showsid [name]

DESCRIPTION: Zeigt die Service-SID-Zeichenfolge an, die einem beliebigen Namen entspricht. Der Name kann der eines vorhandenen oder nicht vorhandenen Dienstes sein.

Beachten Sie, dass der Dienst nicht auf dem System vorhanden sein muss. Beispiele:

C:\> sc showsid TrustedInstaller
NAME: TrustedInstaller
SERVICE SID: S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464

oder für den Dienst Windows-Verwaltungsinstrumentation (Winmgmt):

C:\> sc showsid Winmgmt
NAME: Winmgmt
SERVICE SID: S-1-5-80-3750560858-172214265-3889451188-1914796615-4100997547

und zum Schluss für einen gefälschten Service:

C:\> sc showsid FakeService
NAME: FakeService
SERVICE SID: S-1-5-80-3664595232-2741676599-416037805-3299632516-2952235698

Beachten Sie, dass alle SIDs mit S-1-5-80 beginnen, wobei 80 der Unterberechtigung SECURITY_SERVICE_ID_BASE_RID zugewiesen ist. 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 und die Berechtigung für eine Datei schreiben:

enter image description here

Windows unterstreicht den Namen Winmgmt und bestätigt, dass es sich um eine gültige Identität handelt:

enter image description here

Klicken Sie nun auf OK und weisen Sie die Schreibberechtigung zu:

enter image description here

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:

4
M.S. Dousti

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/

1
user3109641