숨겨진 / 가상 Windows 사용자 계정 목록


44

숨겨진 계정을 포함하여 Windows 7 시스템에서 포괄적 인 사용자 계정 목록을 얻는 방법을 찾고 있습니다. 사용자 계정 (대화를 >control userpasswords2) 만 일반 사용자 계정을 보여주고, 심지어 로컬 사용자 및 그룹 편집기는 일반 사용자 계정과 관리자 및 게스트 같은 표준 숨김 / 비활성화 사람을 보여줍니다. 사용자 또는 그룹 선택 대화 상자가 가지고 지금 찾기를 콤바인 사용자 및 그룹,하지만 슬프게도, 그것은이 LUG 같은 내용이있는 버튼을 누릅니다.

TrustedInstaller와 같은“super-hidden”/ 가상 사용자 계정 (또는보다 정확한 NT Service \ TrustedInstaller – 다른“도메인”에 주목) 을 포함하는보다 포괄적 인 목록을 찾고 있습니다 .

확인 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList했지만 SpecialAccounts키가 없습니다.

또한 확인 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList했는데 SystemProfile, LocalService 및 NetworkService 계정이 나열되어 있지만 TrustedInstaller 및 ilk와 같은 다른 계정은 없습니다.

TrustedInstaller는 특히 사용자, 서비스 및 실행 파일이기 때문에 약간 혼동됩니다. “슈퍼 히든”이기 때문에 어떤 종류의 사용자 목록에도 표시되지 않기 때문에 예제로 사용하고 있습니다. (실험으로, "trustedinstaller"에 대한 전체 레지스트리를 검색하여 사용자로 나열된 위치를 찾을 수 있지만 찾을 수 없는지 여부를 확인하려고 시도했습니다.)

명확하게, 내가 찾고있는 것은 모두의 목록입니다 권한 대화 상자 나 runas인수 와 같이 사용자 입력 필드에서 사용할 수있는 계정


답변:


43

가능한 모든 계정의 궁극적 인 목록이 있다고 생각하지 않습니다.

권한 대화 상자에서와 같이 사용자 입력 필드에서 사용할 수있는 여러 유형의 이름이 있습니다.

먼저 표준 Win32_Accounts이며, 전체 목록을 가져 오려면 PowerShell 세션을 열고 다음을 실행하십시오.

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

이들은 일반적인 사용자, 그룹 및 기본 제공 계정입니다.

Vista 이후에는 일반적인 관리 도구에 표시되지 않기 때문에 가상 계정이라는 새로운 계정 클래스가 있습니다. 때때로 서비스 계정이라고도하며 다음과 같은 세 가지 유형이 있습니다.

  • Windows 서비스 계정

Vista의 모든 Windows 서비스에는 가상 계정이 연결되어 있기 때문에 다른 사용자 계정으로 실행되거나 전혀 실행되지 않는 경우에도 마찬가지입니다. 마치NT Service\MSSQLSERVER

그 사용 목록을 얻으려면 :

get-service | foreach {Write-Host NT Service\$($_.Name)}
  • IIS 응용 프로그램 풀

ApplicationPoolIdentity에서 실행되는 각 IIS 응용 프로그램 풀은 IIS APPPOOL\NameOfThePool

IIS 관리 스크립팅 도구가 설치되어 있다고 가정하면 다음을 실행할 수 있습니다.

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

Server 2008+ 및 Windows 8+에는 Hyper-V가 있으며 각 가상 컴퓨터는 다음과 같은 고유 한 가상 계정을 만듭니다. NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5

목록 사용을 얻으려면 :

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

이러한 계정이 권한 대화 상자에서 허용되지 않더라도 icacls.exe와 함께 사용하여 권한을 설정할 수 있습니다.

NT Virtual Machine\Virtual Machines다른 곳에 표시되지 않는 특수 그룹도 있습니다. 모든 가상 머신 계정이이 그룹의 구성원이므로이를 사용하여 모든 VM 파일에 대한 권한을 설정할 수 있습니다.

이 이름은 언어에 따라 다릅니다 (예 : 독일어) NT Virtual Machine\Virtuelle Computer

  • 데스크탑 창 관리자

dvm.exe 프로세스 (Desktop Window Manager)는 사용자에서 실행됩니다. Windows Manager\DWM-1

권한 대화 상자에서이 유형의 사용자를 다시 사용할 수 없습니다. 두 RDP 세션을 사용하는 경우 그래서, 당신은 또한 한 번 각 '데스크톱 세션'을 위해 존재하기 때문에 하나이 열거 정말 수 없습니다 DWM-2DWM-3뿐만 아니라 DVM-1. 따라서 사용 가능한 데스크톱이있는만큼 많습니다.

  • 컴퓨터 이름

경우에 따라 사용 권한 대화 상자에서 일반적으로 Active Directory 도메인의 일부인 경우 컴퓨터 이름을 사용할 수도 있습니다.

  • Windows 원격 사용자

PowerShell 및 'JEA (충분한 관리)'를 사용하고 PS 원격 세션이있는 서버에 연결하면 임시 가상 사용자가 생성 될 수 있습니다.

이들은 다음 형식을 갖습니다.

winrm virtual users\winrm va_x_computername_username

그리고 SID로 시작 S-1-5-94-

'x'는 정수입니다.

이 계정은 NTFS 권한을 할당 할 때 사용할 수 있지만 가능한 모든 가상 사용자를 나열하는 방법을 모르겠습니다.

JEA 세션 whoami에서 현재 계정 이름을 찾는 데 사용할 수 있습니다 .

  • 드디어:

이 목록조차 모든 가능한 계정을 제공하지는 않습니다.

예를 들어 응용 프로그램 풀을 FooBarPool만든 다음 다시 삭제할 수 있으며 사용 IIS APPPOOL\FooBarPool권한 대화 상자에서 계속 사용할 수 있으므로 내부 목록이 있어야합니다.


아주 좋아요! 첫 번째 쿼리는 같은 특별한 "사용자"를 반환 everyone, restricted등, 그리고 토론 NT Service\*계정이 같은 다른 사람을 설명합니다 TrustedInstaller. 당신은 또한 더 이국적인 특별한 경우를 다루었지만 모든 일반적인 사례가 설명 된 것처럼 보입니다.
Synetech

@Ahmed-어떤 사용자? 문제가있는 경우 새 질문을 작성하고 문제를 자세히 설명해야합니다. 이곳이 아닙니다.
피터 한 도르프

사과, 나는 내 의견을 삭제했습니다. 여기에 내 질문에 호기심 경우입니다.
Ahmed

3
안녕하세요, IIS App Pool 사용자를 나열하는 PowerShell 코드가 작동하지 않아서 Get-WebConfiguration system.applicationHost/applicationPools/add대신 사용 했습니다.
Tahir Hassan

1
좋은 대답입니다. 서비스 계정에 MS에서 추가 정보를 원하시면 여기있다 : docs.microsoft.com/en-us/windows/security/identity-protection/...
CJBS

10

이는 TrustedInstaller가 "사용자"개체가 아닌 서비스이기 때문입니다. Vista를 통해 서비스는 이제 보안 주체이며 권한을 할당 할 수 있습니다.

http://technet.microsoft.com/en-us/magazine/2007.06.acl.aspx


예; 그것이 바로 내가 말하는 것입니다. 사용자, 서비스 또는 귀하가 가진 것에 대한 권한을 부여 할 수있는 포괄적 인 목록을 찾고 있습니다. “보안 주체”의 전체 목록이 있습니까?
Synetech

ACL을 활용하고 완전한 보안 주체 목록을 찾는 방법이 없다고 생각합니다. 우선 보안 주체의 전체 목록을 원하는지 잘 모르겠습니다. 기술적으로 Windows 모듈 설치 관리자 (TRUSTEDINSTALLER의 서비스 이름)는 로컬 SYSTEM 계정으로 실행됩니다.
surfasb

4
> 우선 보안 주체의 전체 목록을 원하는지 잘 모르겠습니다. 호기심. (
오늘

MSDN 라이브러리에 대한 호기심을 지적 할 수 있습니다.
surfasb

7
  1. 하드 드라이브의 파일로 이동하여 마우스 오른쪽 버튼을 클릭 한 후 속성을 선택하십시오.
  2. 보안 탭으로 이동하여 Edit

    보안 설정 편집

  3. 딸깍 하는 소리 Add...
  4. 딸깍 하는 소리 Advanced...

    사용자 또는 그룹을 선택하십시오

  5. 클릭하여 Object Types...선택을 취소 Groups한 다음 클릭OK

    객체 유형

  6. 를 클릭하십시오 Find Now. 여기에는 모든 일반 사용자 및 기본 제공 시스템 사용자 (Windows가 호출하는 "보안 원칙")가 나열됩니다.

    지금 찾기

하지 않는 것이 주 모두 가 모든 권한 대화 상자에서 사용할 수 있지만이 페이지에 표시 계정, 실행-로 명령을 사용할 수 있습니다.


4
나는 그 대화에 익숙하고,“지금 찾기”라는 질문에서 이미 언급했습니다. "사용자" SYSTEM가 있거나 최소한 있어야하지만 TrustedInstaller는 없습니다 .
Synetech

죄송합니다 find now. 사용자와 그룹 제어판 의 버튼이 비슷하지만 약간 다릅니다. 내가 아는 한 여기에 나타나지 않는 유일한 계정은 TrustedInstaller입니다. 이는 Microsoft가 TrustedInstaller 계정과 관련하여 어떤 일도하지 않도록하기 위해 많은 노력을 기울이기 때문입니다. 다른 방법을 생각하면 알려 드리겠습니다.
닌클

이것이 제가 묻는 이유입니다. 문서화되지 않은 다른 사용자가 무엇인지 궁금합니다.
Synetech

대부분의 정보가 포함 된 Microsoft TechNet 기사가 있지만 TrustedInstaller는 없습니다. support.microsoft.com/kb/243330
Nhinkle

1
Locations...도메인에있는 경우 컴퓨터 로 설정 하는 것을 잊지 마십시오 (컴퓨터 만 원함).
n611x007

4

Windows Vista부터 서비스는 사용자로 취급됩니다. 즉, SID (Security Identifier)가 모든 서비스에 할당됩니다. 이것은 TrustedInstaller 서비스 에만 국한되지 않습니다 . 다음 sc showsid명령을 사용하여 모든 서비스에 할당 된 SID를 볼 수 있습니다 .

사용법 : sc showsid [이름]

DESCRIPTION : 임의의 이름에 해당하는 서비스 SID 문자열을 표시합니다. 이름은 기존 또는 존재하지 않는 서비스의 이름 일 수 있습니다.

서비스가 시스템에 존재할 필요는 없습니다. 예 :

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

또는 Windows 관리 인스 트루먼 테이션 서비스 ( Winmgmt)의 경우 :

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

그리고 마지막으로 가짜 서비스를 위해 :

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

모두의 SID로 시작합니다 S-1-5-80어디 80에 할당 된 SECURITY_SERVICE_ID_BASE_RID하위 권한. 또한이 할당은 결정적입니다. RID가 사용되지 않으며 SID는 모든 시스템에서 동일합니다 (자세한 내용은이 게시물 끝의 참조를 참조하십시오).

예를 들어, NT Service\Winmgmt서비스 를 할당하고 일부 파일에 대한 쓰기 권한을 부여합니다.

여기에 이미지 설명을 입력하십시오

Windows는 name에 밑줄을 긋고 Winmgmt유효한 신원임을 확인합니다.

여기에 이미지 설명을 입력하십시오

이제 확인을 클릭 한 후 쓰기 권한을 지정하십시오.

여기에 이미지 설명을 입력하십시오

모든 서비스 이름을 사용자 ID로 사용할 수 있음을 확인합니다. 따라서 나는 그들을 "공급자 숨김"계정이라고 부르지 않을 것입니다. : D

자세한 내용은 다음 기사를 참조하십시오.


1
매우 흥미로운. 정보 주셔서 감사합니다!
Synetech

1

NetQueryDisplayInformation API를 사용하여 사용자 정보 플래그의 비트 단위 점검과 결합 할 수 있습니다. 정확히 동일한 요구 사항이 있으므로 샘플 코드를 요리합니다 (MSDN GROUP 쿼리에서 수정).

내가 사용한 사용자 플래그는 UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> 휴먼 계정을 얻습니다. 휴먼 계정에는 항상 암호가 필요합니다.

작업 코드 : http://www.cceye.com/list-system-normal-user-account-only/


질문에 대한 관련 정보를 직접 포함하려면 답변을 확장하십시오. 이 링크가 작동을 멈 추면 답변이 유용하지 않습니다.
Mxx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.