Próbuję znaleźć sposób na uzyskanie pełnej listy kont użytkowników w systemie Windows 7, w tym ukrytych. Konta użytkowników dialog ( >control userpasswords2
) pokazuje tylko zwykłych kont użytkowników, a nawet użytkownika i grupy lokalne edytor pokazuje tylko normalnych kont użytkowników i standardowych ukryte / te niepełnosprawne jak Administrator i Gość. Wybieranie: Użytkownicy lub Grupy dialogowe ma Znajdź teraz przycisk, który, która łączy użytkowników i grup, ale niestety, ma taką samą treść jak LUG.
Szukam bardziej kompleksowej listy, która zawiera „super-ukryte” / wirtualne konta użytkowników, takie jak TrustedInstaller (a ściślej NT Service \ TrustedInstaller - zwróć uwagę na inną „domenę”).
Sprawdziłem HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
, ale SpecialAccounts
klucz nie istnieje.
Sprawdziłem również HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
, i chociaż ma na liście konta SystemProfile, LocalService i NetworkService, nie ma innych (jak TrustedInstaller i podobne).
TrustedInstaller jest szczególnie mylący, ponieważ jest to użytkownik, usługa i plik wykonywalny. Używam go jako przykładu, ponieważ jest on „super ukryty”, ponieważ nie wydaje się, aby znajdował się na żadnej liście użytkowników. (W ramach eksperymentu próbowałem przeszukać cały rejestr w poszukiwaniu „zaufanego programu instalującego”, aby sprawdzić, czy mogę znaleźć miejsce, w którym jest on wymieniony jako użytkownik, ale nie znalazłem żadnego).
Aby wyjaśnić, szukam listy wszystkich konta, których można użyć w polu wejściowym użytkownika, takim jak okna dialogowe uprawnień lub jako runas
argument.
źródło
Odpowiedzi:
Nie sądzę, że istnieje ostateczna lista wszystkich możliwych kont.
Istnieją różne rodzaje nazw, których można używać w polu wprowadzania użytkownika, na przykład w oknach dialogowych uprawnień.
Najpierw są standardowe konta Win32_Account, aby uzyskać pełną listę, otwórz sesję PowerShell i uruchom:
Są to zwykli użytkownicy, grupy i wbudowane konta.
Od wersji Vista istnieje nowa klasa kont, zwana kontami wirtualnymi, ponieważ nie pojawiają się one w zwykłych narzędziach do zarządzania. Są też czasami nazywane kontami usług i istnieją co najmniej trzy różne ich rodzaje:
Ponieważ Vista jest powiązana z każdą usługą systemu Windows, konto wirtualne jest nawet powiązane z innym kontem użytkownika i nawet jeśli w ogóle nie działa. To wygląda jak
NT Service\MSSQLSERVER
Aby uzyskać listę tych, użyj:
Każda pula aplikacji IIS działająca w ramach ApplicationPoolIdentity działa na specjalnym koncie o nazwie
IIS APPPOOL\NameOfThePool
Zakładając, że masz zainstalowane narzędzia skryptowe IIS Management, możesz uruchomić:
Na serwerze 2008+ i Windows 8+ masz Hyper-V, każda maszyna wirtualna tworzy własne konto wirtualne, które wygląda następująco:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
aby uzyskać listę użyj:
Mimo że te konta nie są akceptowane w oknie dialogowym uprawnień, możesz używać ich z programem icacls.exe do ustawiania uprawnień.
Istnieje również specjalna grupa
NT Virtual Machine\Virtual Machines
, która nie pojawia się gdzie indziej. Wszystkie konta maszyn wirtualnych są członkami tej grupy, więc możesz użyć tego do ustawienia uprawnień dla wszystkich plików VM.Te nazwy są specyficzne dla języka, np. W języku niemieckim nazywa się
NT Virtual Machine\Virtuelle Computer
Proces dvm.exe (Menedżer okien pulpitu) jest uruchamiany przez użytkownika
Windows Manager\DWM-1
Ponownie nie można używać tego typu użytkowników w oknach dialogowych uprawnień. Naprawdę nie jest możliwe ich wyliczenie, ponieważ istnieje jedna na każdą „sesję Desktop”, więc gdy używasz dwóch sesji RDP, masz także
DWM-2
iDWM-3
oprócz tegoDVM-1
. Jest ich tyle, ile jest dostępnych komputerów stacjonarnych.W niektórych przypadkach możesz także używać nazw komputerów w oknie dialogowym uprawnień, zwykle będąc częścią domeny Active Directory.
Podczas korzystania z PowerShell i „JEA (Just dosyć Administration)” i łączenia się z serwerem za pomocą zdalnej sesji PS, można utworzyć tymczasowego wirtualnego użytkownika.
mają one następujący format:
winrm virtual users\winrm va_x_computername_username
i identyfikator SID, który zaczyna się od
S-1-5-94-
„x” jest liczbą całkowitą.
Z tych kont można korzystać podczas przypisywania uprawnień NTFS, ale nie wiem, jak wyświetlić listę wszystkich możliwych użytkowników wirtualnych.
Podczas sesji JEA możesz użyć,
whoami
aby znaleźć nazwę bieżącego konta.Nawet te listy nie dają wszystkich możliwych kont.
Na przykład możesz utworzyć pulę aplikacji,
FooBarPool
a następnie usunąć ją ponownie, nadal możesz jej używaćIIS APPPOOL\FooBarPool
w oknie dialogowym uprawnień, więc musi być gdzieś wewnętrzna lista.źródło
everyone
,restricted
itp, a dyskusja zNT Service\*
kont innych jak wyjaśniaTrustedInstaller
. Obejmowałeś także bardziej egzotyczne przypadki specjalne, ale wygląda na to, że wszystkie typowe są uwzględnione.Get-WebConfiguration system.applicationHost/applicationPools/add
zamiast tego użyłem .Wynika to z faktu, że TrustedInstaller jest usługą, a nie obiektem „użytkownika”. W systemie Vista usługi są teraz podmiotami zabezpieczeń i można im przypisywać uprawnienia.
http://technet.microsoft.com/en-us/magazine/2007.06.acl.aspx
źródło
Przejdź do zakładki bezpieczeństwa i kliknij
Edit
Add...
Kliknij
Advanced...
Kliknij
Object Types...
i odznaczGroups
, a następnie kliknijOK
Kliknij
Find Now
. Spowoduje to wyświetlenie listy wszystkich zwykłych użytkowników i wbudowanych użytkowników systemu („wbudowane zasady bezpieczeństwa”, jak je nazywa Windows).Pamiętaj, że nie wszystkie konta pojawiające się na tej stronie mogą być używane w poleceniu Uruchom jako, ale wszystkie mogą być używane w oknie dialogowym uprawnień.
źródło
SYSTEM
jest tam (a przynajmniej powinien być), TrustedInstaller nie .find now
przycisk w panelu sterowania Użytkownicy i grupy, który jest podobny, ale nieco inny. Według mojej wiedzy jedynym kontem, które nie pojawia się tutaj, jest TrustedInstaller. Wynika to z tego, że Microsoft dokłada wszelkich starań, abyś nigdy nie robił nic z kontem TrustedInstaller. Dam ci znać, jeśli wymyślę inne sposoby na zrobienie tego.Locations...
na swoim komputerze, jeśli jesteś w domenie (ale chcesz tylko swój komputer).Począwszy od systemu Windows Vista, usługi są traktowane jak użytkownicy. Oznacza to, że do każdej usługi przypisany jest identyfikator bezpieczeństwa (SID). Nie dotyczy to usługi TrustedInstaller . Możesz wyświetlić SID przypisany do dowolnej usługi za pomocą
sc showsid
polecenia:Pamiętaj, że usługa nie musi istnieć w systemie. Przykłady:
lub, dla usługi Instrumentacja zarządzania Windows (
Winmgmt
):i wreszcie dla fałszywej usługi:
Zauważ, że wszystkie identyfikatory SID zaczynają się od
S-1-5-80
, gdzie80
jest przypisane doSECURITY_SERVICE_ID_BASE_RID
podrzędnych uprawnień. Co więcej, to przypisanie jest deterministyczne: nie stosuje się identyfikatorów RID, a identyfikator SID będzie taki sam we wszystkich systemach (więcej informacji można znaleźć w odnośnikach na końcu tego postu).Jako przykład przypiszę
NT Service\Winmgmt
usługę, napiszę zgodę na jakiś plik:Windows podkreśla nazwę
Winmgmt
, potwierdzając, że jest to ważna tożsamość:Teraz kliknij OK, a następnie przypisz uprawnienie do zapisu:
Potwierdza to, że dowolna nazwa usługi może być używana jako tożsamość użytkownika. Dlatego nie nazwałbym ich kontami „ukrytymi na wieczerzy”: D
Aby uzyskać więcej informacji, przeczytaj następujące artykuły:
źródło
Możesz użyć interfejsu API NetQueryDisplayInformation, w połączeniu z bitowym sprawdzaniem flagi informacji o użytkowniku. Mam dokładnie takie same wymagania, więc gotuję przykładowy kod (zmodyfikowany z zapytania MSDN GROUP).
Flaga użytkownika, której użyłem, to UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> to zapewnia, że otrzymujemy konto ludzkie, konto ludzkie zawsze wymaga hasła.
działający kod: http://www.cceye.com/list-system-normal-user-account-only/
źródło