Akses PsExec ditolak

11

Saya menggunakan psexec.exeuntuk menjalankan program dalam konteks keamanan yang berbeda. Namun program mulai tetapi tampaknya tidak berjalan dalam konteks keamanan yang ditentukan.

Dalam bentuk minimalnya:

psexec -u wsadmin -p password cmd

Mulai jendela cmd baru jika saya mengetikkan jendela itu whoami

C:\Windows\system32>whoami
win-k1r7g38nlkt\wsadmin

C:\Windows\system32>net localgroup administrators
Alias name     administrators
Comment        Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
wsadmin
The command completed successfully.

Seperti yang Anda lihat, saya adalah pengguna lain. Dan saya dapat mengonfirmasi bahwa pengguna ini adalah anggota dari "grup Administrators"

C:\Windows\system32>mkdir test
Access is denied.

Jika saya menggunakan runas dengan pengguna yang ditentukan itu berfungsi sebagaimana mestinya. Tapi saya perlu memberikan kata sandi pada commandline.

Tuim
sumber

Jawaban:

10

Pada Windows Vista dan yang lebih baru, jika UAC diaktifkan, suatu proses yang diluncurkan oleh psexec- bahkan ketika dijalankan dari akun administrator - harus memiliki token setel tingginya untuk mendapatkan hak istimewa penuh. Ini dapat dilakukan dengan melewatkan -hatribut di psexecbaris perintah. Jadi, Anda akan mengubah perintah Anda menjadi:

psexec -h -u wsadmin -p password cmd

Untuk info lebih lanjut, jalankan psexec /?:

    -h    If the target system is Vista or higher, has the process
          run with the account's elevated token, if available.
berpikir
sumber
9
Sayangnya ini memberi saya "Tidak dapat menginstal akses layanan PSExec ditolak"
Tuim
Apakah Anda juga menjalankan perintah awal dari prompt perintah yang ditinggikan, atau apakah Anda menggunakannya sebagai run-as lokal?
nhinkle
Perintah asli menjalankan konteks keamanan 'pengguna'. Saya tidak bisa menggunakan run-as untuk alasan tertentu.
Tuim
1
Gunakan "Command prompt yang ditinggikan" atau "prompt PowerShell yang ditinggikan" melalui "Mulai> Ketik" PowerShell "> Klik kanan" Windows PowerShell "> Pilih" Run as Administrator "kemudian jalankan perintah psexec termasuk -hopsi.
Underverse
@Underverse, Apakah mungkin untuk menggunakan psexec dari CMD pengguna, bukan dari admin PS? Saya ingin menggunakan psexec persis untuk transisi CMD ke dalam konteks admin :)
Suncatcher
5

Butuh waktu berjam-jam untuk menemukan cara bekerja untuk PsExecantara dua Windows 7 Komputer dengan pengguna non-Admin mulai PsExec... Menonaktifkan UAC ( EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) tidak bekerja, mematikan Firewall tidak bekerja ...

Di sini saya menemukan cara kerjanya - terima kasih JelmerS: (Info dari PSexec tidak terhubung ke mesin menggunakan nama pengguna dan kata sandi yang disediakan )

Ini karena psexecmasih mencoba mengakses ADMIN$berbagi dengan kredensial lokal Anda, sebelum mengeksekusi perintah Anda sebagai pengguna lain. Menurut utas ini, Anda dapat men-cache kredensial sebelum menjalankan psexec:

cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE 
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE
Peter Feldhammer
sumber
Catatan - Jika Anda tidak ingin kata sandi dalam riwayat baris perintah, Anda bisa menggunakan / lulus tanpa kata sandi, dan Anda akan diminta untuk memasukkannya.
Joe the Coder
1

Saya telah menemukan solusinya:

Ternyata ketika Anda mengaktifkan UAC, psexec tidak berfungsi sebagaimana mestinya.
Setiap kali HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUAdiatur ke 0psexec berfungsi seperti yang diharapkan.

Tuim
sumber
4
Cara lain untuk mengatasi hal ini yang tidak perlu mengubah registri adalah dengan hanya menambahkan -htanda pada psexecperintah. Ini memberitahukannya untuk menjalankan perintah dengan token yang ditinggikan, yang setara dengan meluncurkan proses "sebagai administrator" dari menu konteks.
nhinkle
5
Pengaturan EnableLUAuntuk 0menonaktifkan Admin Approval Mode, yang pada dasarnya adalah inti dari UAC. Akibatnya UAC akan dinonaktifkan. Sumber .
Vlastimil Ovčáčík
Bagi saya, flag -h tidak berfungsi dan menonaktifkan UAC mengganggu, tapi saya menemukan alternatif yang lebih baik
mTorres
0

Inilah yang bekerja untuk saya, itu tidak menghilangkan UAC sepenuhnya tetapi mematikannya untuk administrator

Konfigurasi Komputer \ Pengaturan Windows \ Pengaturan Keamanan \ Kebijakan Lokal \ Opsi Keamanan \ Kontrol Akun Pengguna: Jalankan Semua Administrator dalam Mode Persetujuan Admin - Dinonaktifkan

cristobalhernandez
sumber
Yang sebenarnya bukan ide bagus. Selain itu bagaimana ini merupakan peningkatan dibandingkan dengan solusi lain yang tersedia?
Seth