Akun Windows apa yang digunakan ketika tidak ada yang login?

25

Ketika tidak ada yang masuk ke Windows, (layar masuk ditampilkan) pengguna mana yang sedang berjalan? (Driver video / suara, sesi login, perangkat lunak server apa pun, kontrol aksesibilitas, dll. Mereka tidak dapat berupa pengguna atau pengguna sebelumnya karena tidak ada yang masuk. Bagaimana dengan proses yang telah dimulai oleh pengguna tetapi terus melanjutkan jalankan setelah logoff? (Misalnya HTTP, server FTP, dan hal-hal jaringan lainnya). Apakah mereka beralih ke akun SYSTEM? Jika suatu proses yang dimulai pengguna beralih ke SYSTEM, itu menunjukkan kerentanan yang sangat serius. Apakah proses berjalan sebagai pengguna itu terus berjalan sebagai pengguna setelah mereka keluar?

Apakah ini sebabnya peretasan SETHC memungkinkan Anda menggunakan CMD sebagai SISTEM?

Kunal Chopra
sumber
"Mengganti pengguna" sebenarnya bukan operasi hitam putih di Windows. Suatu layanan dapat menyamar sebagai banyak pengguna pada saat yang sama, dan masih menggunakan akun asli juga. Ini berguna untuk layanan yang perlu bertindak atas nama pengguna tertentu, kata pengunjung situs web yang diautentikasi.
MSalters
3
Windows adalah sistem operasi multi-pengguna, yang berarti bahwa proses yang berbeda mungkin milik pengguna yang berbeda secara bersamaan . Ini tidak seperti itu setelah Anda login di seluruh komputer "beralih" ke akun Anda.
el.pescado

Jawaban:

40

Ketika tidak ada yang masuk ke Windows, (layar masuk ditampilkan) pengguna mana yang sedang berjalan? (Driver video / suara, sesi login, perangkat lunak server apa pun, kontrol aksesibilitas, dll.

Hampir semua driver dijalankan dalam mode kernel ; mereka tidak membutuhkan akun, kecuali mereka memulai proses userspace. Beberapa driver ruang pengguna dijalankan di bawah SISTEM.

Sesi login, saya tidak bisa memeriksa sekarang, tapi saya yakin itu menggunakan SISTEM juga. Anda dapat melihat logonui.exe di Process Hacker atau SysInternals ProcExp . Bahkan, Anda bisa melihat semuanya seperti itu.

"Perangkat lunak server", lihat layanan Windows di bawah ini.

Bagaimana dengan proses yang telah dimulai oleh pengguna tetapi terus berjalan setelah keluar? (Misalnya HTTP, server FTP, dan hal-hal jaringan lainnya). Apakah mereka beralih ke akun SYSTEM?

Ada tiga jenis di sini:

  1. Proses "latar belakang" lama yang polos. Mereka berjalan di bawah akun yang sama dengan siapa pun yang memulai, dan tidak menjalankan setelah logoff. Proses logoff membunuh mereka semua.

    "HTTP, server FTP, dan hal-hal jaringan lainnya" tidak berjalan sebagai proses latar belakang biasa. Mereka dijalankan sebagai layanan.

  2. Windows "layanan" proses. Itu tidak diluncurkan secara langsung, tetapi melalui Service Manager. Secara default layanan berjalan sebagai LocalSystem (yang isanae mengatakan sama dengan SYSTEM), meskipun mereka dapat mengkonfigurasi akun khusus.

    (Tentu saja, praktis tidak ada yang mengganggu. Mereka hanya menginstal XAMPP atau WampServer atau omong kosong lainnya, dan membiarkannya berjalan sebagai SISTEM, selamanya tidak ditambal.)

    Pada sistem Windows baru-baru ini, saya pikir layanan juga dapat memiliki SID mereka sendiri , tetapi sekali lagi saya belum melakukan riset sebanyak ini.

  3. Tugas yang dijadwalkan. Ini diluncurkan oleh "Penjadwal Tugas" layanan "di latar belakang", dan selalu berjalan di bawah akun yang dikonfigurasi dalam tugas (biasanya siapa pun yang membuat tugas).

Jika proses yang dimulai pengguna beralih ke SISTEM, itu menunjukkan kerentanan yang sangat serius

Ini bukan kerentanan karena Anda harus sudah memiliki hak Administrator untuk menginstal layanan. Memiliki hak istimewa Administrator sudah memungkinkan Anda melakukan segalanya secara praktis.

(lihat juga berbagai non-kerentanan lainnya dari jenis yang sama)

grawity
sumber
2
Mungkin perlu dicatat bahwa banyak IIS berjalan di bawah akun istimewa lebih rendah yang dibuat khusus untuk proses IIS di luar kotak. (Ini akan mencakup banyak server Windows HTTP, FTP, dll.) Lihat di sini untuk beberapa detail. Jadi itu sering tergantung pada default dari program apa pun yang Anda gunakan.
jpmc26
1
SISTEM dan Administrator Lokal pada dasarnya satu dan sama. Setelah Anda memiliki satu, Anda bisa mendapatkan yang lain, dan OS hanya memasang penghalang jalan yang dimaksudkan terutama untuk mencegah kesalahan. (Catatan: The Old New Thing bukan dokumentasi resmi Microsoft.)
sebuah CVn
3
Saat ini banyak layanan berjalan sebagai NetworkService atau LocalService, bukan LocalSystem.
Ben Voigt
2
Dimulai dengan Windows 7 dan 2008 R2, Akun Layanan Terkelola dan Akun Virtual memungkinkan untuk menjalankan layanan di bawah identitas mereka sendiri, sehingga Anda tidak memiliki banyak layanan yang membagikan LocalService / NetworkService / LocalSystem, membatasi akses jika satu layanan memiliki kerentanan.
afrazier
2

Proses masuk dan pra-masuk semuanya dijalankan sebagai SISTEM (juga disebut LocalSystem). Bahkan, salah satu cara untuk membuat shell (seperti CMD prompt) berjalan sebagai SISTEM pada beberapa versi Windows adalah dengan mengganti program aksesibilitas, seperti pembaca layar, kaca pembesar, atau keyboard di layar, dengan salinan (atau tautan ke) CMD.EXE, lalu gunakan pintasan untuk mengaktifkan fitur aksesibilitas tersebut sebelum masuk. Anda akan mendapatkan prompt perintah, meskipun tidak ada pengguna yang masuk, dan CMDakan berjalan sebagai SISTEM.

(Catatan: ini berbahaya, tentu saja, karena memungkinkan orang melewati proses masuk Windows. Anda seharusnya tidak pernah mengkonfigurasi komputer dengan cara ini dan kemudian membiarkannya seperti itu.)

CBHacking
sumber
1
Bekerja pada Windows 7, menggantikan sethc.exe dengan cmd.exe di C: \ Windows \ System32 \
1

Mereka tidak "beralih" ke apa pun; proses semacam itu tidak pernah berjalan di bawah konteks pengguna saat ini.
Mereka dimiliki oleh SYSTEMpengguna.

Segala proses dan layanan yang dimiliki oleh pengguna individu diakhiri pada saat log-out.
Itulah yang keluar log berarti .

Lightness Races di Orbit
sumber
Saya tidak yakin ... Pertama, saya menemukan posting MS Technet di mana (tidak seperti ini sangat berarti) jawaban yang diterima staf menyatakan bahwa layanan tidak dihentikan pada saat logout. Saya tidak yakin ini adalah definisi akurat dari logout yang lebih umum baik: saya melihat beberapa daemon di Linux tetap ada setelah saya logout satu pengguna kemudian pssebagai yang lain
underscore_d
1
Itu tidak benar. Layanan dapat dimulai sebagai pengguna lain dan mereka akan mulai dan terus berjalan tanpa pengguna itu "masuk". Mereka akan memulai sesi mereka sendiri dengan kredensial pengguna, jadi sebenarnya pengguna akan login saat layanan berjalan, tetapi program desktop / autostart dll tidak akan dijalankan, dan itulah yang dipahami oleh pengguna normal sebagai "login". Masih layanan akan berjalan dengan kredensial pengguna dan memiliki akses ke file pengguna tersebut.
Josef
@ Josef: Argumen Anda tampaknya menjadi "beberapa orang menyalahgunakan istilah 'login'". Daging komentar Anda sebenarnya setuju dengan jawaban saya: bahwa pengguna dianggap masuk selama mereka memiliki layanan / proses yang berjalan melawan akun mereka.
Lightness Races in Orbit
@LightnessRacesinOrbit tidak, ada perbedaan yang sebenarnya. Jika Anda membuat layanan dengan akun Anda dan yang dijalankan saat boot, tidak akan ada proses yang dimulai bagi Anda untuk menampilkan desktop, (jadi tidak ada dwm.exe atau explorer.exe yang berjalan), semua program autostart Anda tidak akan sedang berjalan dll. Jadi jika Anda memiliki sesi login interaktif, lebih banyak hal yang aktif daripada jika hanya sesi layanan yang berjalan. Apa sebenarnya "login" terbuka untuk diperdebatkan. Bahkan jika suatu layanan berjalan dengan kredensial Anda, Anda masih harus masuk untuk menggunakan Windows sendiri!
Josef
1
Ya, "proses seperti itu tidak pernah berjalan di bawah konteks pengguna saat ini" masih salah. Layanan berjalan di bawah konteks pengguna yang ditetapkan untuk mereka. Untuk layanan windows bawaan, itu adalah salah satu akun sistem. Untuk layanan lain, dapat berupa akun apa saja. Terutama perangkat lunak server harus membuat akun pengguna baru dan menjalankan kecerdasan yang kredensial.
Josef