Daftar Akun Pengguna Windows Tersembunyi / Virtual

44

Saya mencoba menemukan cara untuk mendapatkan daftar akun pengguna yang komprehensif pada sistem Windows 7, termasuk yang tersembunyi. The User Account dialog ( >control userpasswords2) hanya menunjukkan account user biasa, dan bahkan Pengguna dan Grup Lokal Editor hanya menunjukkan account user biasa dan standar yang tersembunyi / orang cacat seperti Administrator dan Guest. The Pilih Pengguna atau Grup dialog memiliki Find Sekarang tombol yang yang menggabungkan pengguna dan kelompok, tapi sayangnya, ia memiliki isi yang sama seperti LUG itu.

Saya mencari daftar yang lebih komprehensif yang mencakup "pengguna super-tersembunyi" / akun virtual seperti TrustedInstaller (atau lebih tepatnya, NT Service \ TrustedInstaller — perhatikan "domain" yang berbeda).

Saya memeriksa HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList, tetapi SpecialAccountskuncinya tidak ada.

Saya juga memeriksa HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList, dan walaupun terdaftar akun SystemProfile, LocalService, dan NetworkService, ia tidak memiliki yang lain (seperti TrustedInstaller dan sejenisnya).

TrustedInstaller secara khusus sedikit membingungkan karena merupakan pengguna, layanan, dan file yang dapat dieksekusi. Saya menggunakannya sebagai contoh karena "sangat tersembunyi" karena sepertinya tidak terdaftar dalam daftar pengguna apa pun. (Sebagai percobaan, saya mencoba mencari seluruh registri untuk "pemasang tepercaya" untuk melihat apakah saya dapat menemukan tempat yang terdaftar sebagai pengguna, tetapi tidak menemukannya.)

Untuk lebih jelas, yang saya cari adalah daftar semua akun yang dapat digunakan dalam bidang input pengguna seperti dalam dialog izin atau sebagai runasargumen.

Synetech
sumber

Jawaban:

43

Saya tidak berpikir ada daftar pamungkas dari semua akun yang mungkin.

Ada berbagai jenis nama yang dapat Anda gunakan di kolom input pengguna seperti dalam dialog izin.

Pertama adalah Win32_Akun standar, untuk mendapatkan daftar lengkap, buka sesi PowerShell dan jalankan:

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

Ini adalah pengguna biasa, grup, dan akun bawaan.

Sejak Vista, ada kelas akun baru, yang disebut akun virtual, karena tidak muncul di alat manajemen biasa. Kadang-kadang ada juga yang disebut akun layanan, dan setidaknya ada tiga jenis ini:

  • Akun Layanan Windows

Karena Vista, setiap layanan windows memiliki akun virtual yang terkait dengannya, bahkan itu berjalan di bawah akun pengguna yang berbeda dan bahkan jika itu tidak berjalan sama sekali. SepertinyaNT Service\MSSQLSERVER

Untuk mendapatkan daftar yang digunakan:

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

Setiap kumpulan aplikasi IIS yang berjalan di bawah ApplicationPoolIdentity berjalan di bawah akun khusus yang disebut IIS APPPOOL\NameOfThePool

Dengan asumsi Anda memiliki alat skrip Manajemen IIS diinstal, Anda dapat menjalankan:

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

Di Server 2008+ dan Windows 8+ Anda memiliki Hyper-V, setiap mesin virtual membuat akun virtual sendiri, yang terlihat seperti: NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5

untuk menggunakan daftar:

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

Meskipun akun ini tidak diterima dalam dialog izin, Anda dapat menggunakannya dengan icacls.exe untuk mengatur izin.

Ada juga grup khusus NT Virtual Machine\Virtual Machines, yang tidak muncul di tempat lain. Semua akun mesin virtual adalah anggota grup ini, sehingga Anda dapat menggunakan ini untuk mengatur izin untuk semua file VM.

Nama-nama ini spesifik bahasa, misalnya dalam bahasa Jerman namanya NT Virtual Machine\Virtuelle Computer

  • Desktop Window Manager

Proses dvm.exe (Desktop Window Manager) berjalan di bawah pengguna Windows Manager\DWM-1

Sekali lagi Anda tidak dapat menggunakan tipe pengguna ini dalam dialog izin. Sangat tidak mungkin untuk menyebutkan ini karena ada satu untuk setiap 'sesi Desktop', jadi ketika menggunakan dua sesi RDP, Anda juga memiliki DWM-2dan DWM-3sebagai tambahan DVM-1. Jadi ada banyak desktop yang tersedia.

  • Nama Komputer

Dalam kasus tertentu, Anda juga dapat menggunakan nama komputer dalam dialog izin, biasanya saat menjadi bagian dari domain Direktori Aktif.

  • Windows Remoting Pengguna Virtual

Saat menggunakan PowerShell dan 'JEA (Administrasi Cukup)' dan terhubung ke server dengan sesi jarak jauh PS, pengguna virtual sementara dapat dibuat.

ini memiliki format berikut:

winrm virtual users\winrm va_x_computername_username

dan SID yang dimulai dengan S-1-5-94-

'x' adalah bilangan bulat.

Akun-akun ini dapat digunakan saat menetapkan izin NTFS, tapi saya tidak tahu cara mendaftar semua pengguna virtual yang mungkin.

Saat berada dalam sesi JEA Anda dapat menggunakan whoamiuntuk mengetahui nama akun saat ini.

  • akhirnya:

Bahkan daftar ini tidak memberi Anda setiap akun yang mungkin.

Misalnya, Anda dapat membuat kumpulan aplikasi FooBarPoollalu menghapusnya lagi, Anda masih dapat menggunakan IIS APPPOOL\FooBarPooldialog izin, sehingga harus ada daftar internal di suatu tempat.

Peter Hahndorf
sumber
Sangat bagus! Pertanyaan pertama kembali khusus “pengguna” seperti everyone, restricted, dll, dan diskusi Anda NT Service\*rekening menjelaskan orang lain seperti TrustedInstaller. Anda juga melindungi untuk kasus-kasus khusus yang lebih eksotis, tetapi sepertinya semua yang umum dicatat.
Synetech
@Ahmed - pengguna mana? Jika Anda memiliki masalah, Anda harus membuat pertanyaan baru dan menjelaskan masalah Anda secara detail di sana. Ini bukan tempat untuk itu.
Peter Hahndorf
Permintaan maaf, saya telah menghapus komitmen saya. Ini pertanyaan saya kalau penasaran.
Ahmed
3
Hai, kode PowerShell untuk mencantumkan pengguna IIS App Pool tidak berfungsi untuk saya, jadi saya Get-WebConfiguration system.applicationHost/applicationPools/addmalah menggunakannya .
Tahir Hassan
1
Jawaban yang bagus Ada info tambahan dari MS tentang Akun Layanan di sini: docs.microsoft.com/en-us/windows/security/identity-protection/…
CJBS
10

Ini karena TrustedInstaller adalah layanan dan bukan objek "pengguna". Dengan Vista, Layanan sekarang adalah prinsip keamanan dan dapat diberikan izin.

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

surfasb
sumber
Iya nih; itulah tepatnya yang saya bicarakan. Saya mencari daftar lengkap hal-hal yang dapat diberikan izin apakah mereka pengguna, layanan, atau apa pun yang Anda miliki. Apakah ada daftar lengkap "kepala sekolah keamanan"?
Synetech
Saya tidak berpikir ada cara untuk memasuki ACL dan menemukan daftar prinsip keamanan lengkap. Saya tidak yakin mengapa Anda menginginkan daftar kepala sekolah keamanan yang lengkap. Secara teknis, Penginstal Modul Windows (nama layanan TRUSTEDINSTALLER) berjalan di bawah akun SISTEM Lokal.
surfasb
4
> Saya tidak yakin mengapa Anda menginginkan daftar kepala sekolah keamanan yang lengkap. Keingintahuan. (Apakah ada yang memilikinya lagi hari ini ...?)
Synetech
Anda bisa mengarahkan keingintahuan itu ke perpustakaan MSDN.
surfasb
7
  1. Buka file apa saja di hard drive Anda, klik kanan, dan pilih properti.
  2. Buka tab keamanan dan klik Edit

    edit pengaturan keamanan

  3. Klik Add...
  4. Klik Advanced...

    pilih pengguna atau grup

  5. Klik Object Types...dan hapus centang Groups, lalu klikOK

    jenis objek

  6. Klik Find Now. Ini akan mencantumkan semua pengguna reguler dan pengguna sistem bawaan ("prinsip keamanan bawaan", sebagaimana Windows menyebutnya).

    Cari sekarang

Perhatikan bahwa tidak semua akun yang muncul pada halaman ini dapat digunakan dalam perintah Run-As, meskipun semuanya dapat digunakan dalam dialog izin.

nhinkle
sumber
4
Saya akrab dengan dialog itu, dan sudah menyebutkannya dalam pertanyaan: "temukan sekarang". Perhatikan bahwa ketika "pengguna" SYSTEMada (atau setidaknya seharusnya) di sana, TrustedInstaller tidak .
Synetech
Maaf, saya pikir Anda merujuk ke find nowtombol di panel kontrol Pengguna dan Grup, yang serupa tetapi sedikit berbeda. Sepengetahuan saya, satu-satunya akun yang tidak muncul di sini adalah TrustedInstaller. Ini karena Microsoft berusaha keras untuk mencegah Anda melakukan sesuatu ke / dengan akun TrustedInstaller. Saya akan memberi tahu Anda jika saya memikirkan cara lain untuk melakukan ini.
nhinkle
Itu sebabnya saya bertanya; Saya bertanya-tanya apa yang ada pengguna tidak berdokumen lain ...
Synetech
Ada artikel Microsoft TechNet dengan informasi tentang sebagian besar dari mereka, tetapi TrustedInstaller tidak ada di sana. support.microsoft.com/kb/243330
nhinkle
1
jangan lupa untuk mengatur Locations...ke komputer Anda jika Anda berada di domain (tetapi hanya ingin komputer Anda).
n611x007
4

Dari Windows Vista aktif, layanan diperlakukan sebagai pengguna. Artinya, Pengidentifikasi Keamanan (SID) ditugaskan untuk setiap layanan. Ini tidak spesifik untuk layanan TrustedInstaller . Anda dapat melihat SID yang ditetapkan untuk layanan apa pun menggunakan sc showsidperintah:

USAGE: sc showsid [nama]

DESKRIPSI : Menampilkan string SID layanan yang sesuai dengan nama arbitrer. Nama dapat berupa layanan yang ada atau tidak ada.

Perhatikan bahwa tidak perlu layanan ada di sistem. Contoh:

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

atau, untuk layanan Instrumentasi Manajemen Windows ( Winmgmt):

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

dan, akhirnya, untuk layanan palsu:

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

Perhatikan bahwa semua SID dimulai dengan S-1-5-80, di mana 80ditugaskan untuk SECURITY_SERVICE_ID_BASE_RIDsub-otoritas. Selain itu, penugasan ini bersifat deterministik: Tidak ada RID yang digunakan, dan SID akan sama di semua sistem (lihat referensi di akhir posting ini untuk informasi lebih lanjut).

Sebagai contoh, saya akan menetapkan NT Service\Winmgmtlayanan, menulis izin ke beberapa file:

masukkan deskripsi gambar di sini

Windows menggarisbawahi nama Winmgmt, mengonfirmasi bahwa itu adalah identitas yang valid:

masukkan deskripsi gambar di sini

Sekarang, klik OK, lalu tetapkan izin menulis:

masukkan deskripsi gambar di sini

Ini menegaskan bahwa nama layanan apa pun dapat digunakan sebagai identitas pengguna. Karenanya, saya tidak akan menyebutnya akun "tersembunyi makan malam": D

Untuk informasi lebih lanjut, silakan baca artikel berikut:

MS Dousti
sumber
1
Sangat menarik. Terima kasih untuk informasi!
Synetech
1

Anda dapat menggunakan NetQueryDisplayInformation API, digabungkan dengan pemeriksaan bitwise pada flag info pengguna. Saya memiliki persyaratan yang persis sama, jadi saya memasak kode sampel (dimodifikasi dari permintaan MSDN GROUP).

Bendera pengguna yang saya gunakan adalah UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> ini memastikan kami mendapatkan akun Manusia, akun Manusia selalu membutuhkan kata sandi.

kode kerja di: http://www.cceye.com/list-system-normal-user-account-only/

pengguna3109641
sumber
Harap rentangkan jawaban Anda untuk secara langsung berisi informasi yang relevan dengan pertanyaan yang ada. Jika tautan ini berhenti berfungsi, jawaban Anda tidak akan berguna.
MXX