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.

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.

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

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.


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


Yang sebenarnya bukan ide bagus. Selain itu bagaimana ini merupakan peningkatan dibandingkan dengan solusi lain yang tersedia?
Seth
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.