Apakah ada yang setara dengan SU untuk Windows

32

Apakah ada cara (ketika login sebagai administrator, atau sebagai anggota grup administrator) untuk menyamar sebagai pengguna yang tidak memiliki hak istimewa? Terutama di lingkungan AD.

misalnya, di dunia Unix saya bisa melakukan hal berikut (sebagai root):

# whoami
root
# su johnsmith
johnsmith> whoami
johnsmith
johnsmith> exit
# exit

Saya perlu menguji / mengkonfigurasi sesuatu pada akun pengguna, dan saya tidak ingin harus tahu kata sandi mereka atau harus mengatur ulang.

Sunting:
runas tidak akan memotongnya. Idealnya , seluruh desktop saya akan menjadi pengguna, dll. Dan tidak hanya di jendela cmd.

BIBD
sumber
Hanya ingin tahu, tetapi mengapa Anda harus masuk sebagai pengguna? Saya biasanya hanya perlu melakukan ini untuk mengkonfigurasi email. Namun, saya telah menemukan bahwa sebagian besar waktu saya dapat mengkonfigurasi semuanya melalui Kebijakan Grup / Script / dll.
Dayton Brown

Jawaban:

20

Saya cukup yakin tidak ada cara yang didukung untuk berjalan sebagai pengguna yang berbeda tanpa memiliki kredensial pengguna tersebut. Ini adalah tindakan non-penolakan. Seseorang tidak dapat mengatakan: "Saya tidak melakukannya", karena mereka melakukannya, atau seseorang dengan kredensial mereka yang melakukannya. Dan untuk yang kedua mereka harus memberikan kredensial kepada orang lain.

Biasanya bagaimana saya melakukan apa yang perlu saya lakukan saat login sebagai pengguna lain adalah menggunakan bantuan jarak jauh untuk dasarnya RDP ke dalam sesi, dan minta mereka memberi saya kontrol. Lalu aku melakukan apa pun saat mereka sedang menonton (mungkin, toh).

Hal lain biasanya dapat dilakukan dengan GPO / skrip.

Orihara
sumber
8
Saya percaya ini benar. Dan, IMHO ini adalah peningkatan keamanan di dunia UNIX. Saya menyukai gagasan bahwa bahkan seorang admin pun tidak dapat menjadi saya tanpa kata sandi saya.
tomjedrz
3
Admin dapat mengambil alih pengguna lain, dengan mengatur ulang kata sandi mereka. Kemudian mereka bisa masuk seperti Anda. Namun, ada jejak bukti jika Anda melakukan ini. Pertama, kata sandi pengguna telah diubah sehingga mereka akan tahu. Kedua, akan ada log audit (dengan asumsi audit diaktifkan).
Erik Funkenbusch
3
Ini biasanya cara saya beroperasi juga. Namun, ada beberapa hal yang saya katakan, "Akan jauh lebih mudah untuk melakukan ini bagi Bob jika saya adalah Bob", tetapi Bob pulang satu jam yang lalu.
BIBD
1
Sejauh "non-repudiation" berlaku, membuat saya mereset kata sandi mereka terlebih dahulu tidak menghentikan saya dari melakukan tindakan jahat / bodoh sebagai pengguna lain. Itu berarti saya harus melakukan lebih banyak pekerjaan untuk menutupi siapa yang bertanggung jawab.
BIBD
9
Saya mengerti apa yang mereka coba lakukan. Saya hanya berpikir itu lebih aman-teater daripada keamanan yang sebenarnya.
BIBD
17

Saya telah melihat banyak orang lain menyebutkan variasi pada perintah runas dan bagaimana Anda perlu mengetahui pengguna password, yang merupakan benar, tapi saya tidak berpikir bahwa ada orang yang tenang menjawab pertanyaan itu. dari "menginginkan seluruh desktop akan menjadi pengguna, dll. dan bukan hanya di jendela cmd". Begini cara saya melakukannya:

Catatan : Saya akan merujuk ke Command Prompt pertama ini sebagai CP1 untuk menghilangkan kebingungan di kemudian hari.

Di bawah akun admin Anda, buka Command Prompt

Untuk akun lokal

runas /profile /user:computernamehere\username cmd

Untuk akun domain

runas /profile /user:domainname\username cmd

ATAU cara yang saya sukai

runas /profile /user:username@domainname cmd

Catatan: Command prompt baru akan terbuka (CP2), ini adalah pengguna yang Anda coba login sebagai.

Buka CP1 dan ketik:

taskkill /f /IM explorer.exe

Buka CP2 dan ketik:

explorer.exe

Tergantung pada komputer, itu dapat membuat profil untuk pengguna jika mereka belum pernah masuk ke sana sebelumnya. Anda dapat menyimpan sendiri hassel nanti dengan membiarkan jendela command prompt terbuka untuk digunakan nanti.

Ketika Anda selesai dengan pekerjaan Anda, lakukan hal yang sama secara terbalik.

Dalam tipe CP2:

taskkill /f /IM explorer.exe

Buka CP1 dan ketik:

explorer.exe

Anda sekarang harus kembali ke akun administrator asli. Anda dapat melakukan pemeriksaan cepat dengan mengetuk tombol Windows dan mencari panel pengguna saat ini.

Semoga ini bisa membantu.

Michael H
sumber
3
Itu adalah sihir yang dalam.
mskfisher
@ mskfisher Haha, jika Anda pikir itu gila, Anda harus melihat apa yang harus saya lakukan untuk mengetahui cara membunuh sesi psexec yang terkunci setelah menjalankan perintah wmic yang buruk. ... Pskill dari prompt perintah kedua, menunjuk ke mesin jarak jauh, setelah menggunakan psservices untuk melacak id proses untuk psexec pada prompt perintah pertama!
Michael H
Nah 4 tahun kemudian saya teringat pertanyaan ini dan ketika saya punya waktu untuk menguji ini. WOW!
BIBD
Pada Windows 10, menggunakan runas meminta kata sandi pengguna.
TheAmigo
7

Tidak ada mekanisme bawaan di Windows untuk melakukan ini. Itu bisa dilakukan, tetapi Anda harus memiliki sesuatu yang ditulis untuk melakukan apa yang Anda inginkan, dan Anda mungkin harus bercampur aduk dengan API yang tidak terdokumentasi.

Salah satu poster di sini, grawity, memiliki hak untuk memanggil CreateProcessAsUser (), tetapi Anda harus membuat token dengan API asli zwCreateToken terlebih dahulu. Jika Anda membunuh Explorer dan menjalankan instance Explorer baru dengan CreateProcessAsUser () saya cukup yakin Anda akan menginginkan yang Anda inginkan.

Microsoft tidak membuat apa yang ingin Anda lakukan mudah karena itu bukan cara mereka ingin Anda menggunakan NT. Jika Anda harus masuk sebagai pengguna untuk memecahkan masalah mereka, dalam sebagian besar kasus Anda melakukannya dengan cara yang tidak optimal.

Anda dapat membuat perubahan pada registri pengguna tanpa login sebagai mereka (dengan melampirkan sarang registri mereka dan memanipulasi seperti itu). Anda dapat membuat perubahan pada file di profil pengguna mereka tanpa login sebagai pengguna. Jika Anda perlu "mengatur email" atau aktivitas lain "sebagai pengguna", Anda harus menulis skrip atau memanfaatkan fungsionalitas bawaan (Template Kebijakan Administratif Grup, preferensi, dll.) Untuk melakukan pekerjaan kotor Anda untuk Anda.

Jika Anda harus melakukan ini, lihat di RunAsEx pada Proyek Kode. Kode itu seharusnya memberi Anda ide yang cukup baik tentang apa yang perlu Anda lakukan. Saya belum mencoba programnya, tetapi sepertinya semuanya berjalan dengan benar.

Evan Anderson
sumber
5

Anda dapat menggunakan perintah berikut pada Windows XP dan yang lebih baru:

RunAs.exe

Opsi baris perintah tersedia di sini .

Ini tidak akan berfungsi tanpa mengetahui kata sandi pengguna. Saya tidak percaya ada cara di Windows untuk beroperasi di bawah akun pengguna tanpa kata sandi karena cara Pengidentifikasi Keamanan dimuat.

Doug Luxem
sumber
3
Saya percaya program RunAs masih mengharuskan Anda untuk mengetahui kata sandi pengguna yang saya percaya menyatakan pertanyaan asli tidak diketahui
Kevin Kuphal
Anda benar ... Saya lupa tentang itu.
Doug Luxem
2

(Hanya tebakan.) Jika akun Anda memiliki SeCreateTokenPrivilege, Anda dapat menulis sebuah program kecil untuk membuat proses menggunakan CreateProcessAsUser()atau fungsi serupa ... (Tetapi bahkan administrator tidak memiliki hak istimewa secara default.)

grawity
sumber
2

Meskipun saya tidak memiliki pengalaman pribadi dengan beberapa solusi sudo yang disebutkan di situs ini, saya sangat merekomendasikan nonadmin yang dimulai oleh Aaron Margosis yang sangat baik . Ini sangat membantu saat Anda meluncurkan pengguna terbatas. Saya terutama melompat dengan sesuatu karena semua orang mengatakan menggunakan Runas. Namun, saya pikir sebagian besar atau semua ini disebut sudo untuk windows lebih banyak berurusan dengan elevasi daripada bertindak sebagai pengguna lain tanpa kata sandi mereka.

Knox
sumber
0

Process Explorer procexp.exe di http://live.sysinternals.com dijalankan sebagai pengguna terbatas (pada menu file) yang akan memungkinkan Anda menjalankan program menggunakan kredensial Anda saat ini, tetapi dengan ACL Anda dilucuti ke yang normal pengguna (bukan admin) pengguna. Bukan apa yang Anda inginkan, tetapi bagus untuk pengujian.

Booji Boy
sumber