PsExec je Microsoftovo prenosno orodje, ki vam omogoča zagon procesov na daljavo z uporabo poverilnic katerega koli uporabnika. Je nekoliko podoben programu za oddaljeni dostop, vendar se namesto upravljanja računalnika z miško ukazi pošiljajo prek ukaznega poziva.
PsExec lahko uporabite ne samo za upravljanje procesov na oddaljenem računalniku, temveč tudi za preusmeritev izhodne konzole aplikacije na vaš lokalni računalnik, tako da je videti, kot da se proces izvaja lokalno.
Na oddaljenem računalniku ni potrebna nobena programska oprema, da bi PsExec deloval, vendar morate upoštevati nekaj stvari, če orodje ne deluje pravilno, ko ga prvič preizkusite.
Kako nastaviti PsExec
Če je PsExec prenosljiv in ga ni treba kopirati v oddaljeni računalnik, kakšno vrsto nastavitve zares potrebuje?
Orodje deluje samo pod določenimi pogoji. Namreč, ko je skupna raba datotek in tiskalnikov omogočena tako v lokalnem kot v oddaljenem računalniku in ko ima oddaljeni računalnik pravilno nastavljeno skupno rabo $admin, da omogoči dostop do svoje mape \Windows\.
Lahko dvakrat preverite, ali je skupna raba datotek in tiskanja omogočena, tako da pogledate nastavitve požarnega zidu Windows:
-
Vnesite firewall.cpl v pogovorno okno Zaženi. Eden od načinov za odpiranje Zagona je z bližnjico na tipkovnici WIN+R.
-
Izberite Dovoli aplikaciji ali funkciji prek požarnega zidu Windows na levi strani okna.
To se lahko glasi kot Dovoli aplikaciji ali funkciji prek požarnega zidu Windows Defender, odvisno od tega, kako je nastavljen vaš računalnik, vendar gre za isto možnost.
-
Prepričajte se, da ima Skupna raba datotek in tiskalnikov kljukico v polju Zasebno na desni strani. Če se ne, potrdite to polje in izberite OK.
Če ne morete spremeniti nastavitev požarnega zidu, ker so zatemnjene, izberite Spremeni nastavitve na vrhu okna.
- Zdaj lahko zapustite vse odprte nastavitve požarnega zidu Windows.
Zdaj, ko je požarni zid Windows pravilno nastavljen za PsExec, ne bi smeli imeti težav z dostopom do skupne rabe $admin na oddaljenem računalniku, dokler velja naslednje:
- Oba računalnika pripadata isti delovni skupini
- Poznate geslo za skrbniški račun na oddaljenem računalniku
Oglejte si to vadnico na Wintips.org, če potrebujete pomoč pri teh stvareh ali če ste jih naredili pravilno, a pozneje, ko poskusite uporabiti PsExec, kot je opisano spodaj, dobite napako »dostop zavrnjen«.
Kako uporabljati PsExec
Preden uporabite PsExec za izvajanje ukazov na daljavo, morate prenesti program in postaviti ukazni poziv tako, da lahko orodje pravilno uporabljate.
Prenesite in odprite
- Prenesite PsExec v računalnik, ki bo izvajal oddaljene ukaze. Na voljo je brezplačno pri Microsoftu na Sysinternals kot del PsTools.
-
Izvlecite datoteke iz prenosa PsTools.zip. To lahko storite tako, da z desno tipko miške kliknete datoteko ZIP in izberete Extract All. Deloval bo tudi kateri koli ekstraktor datotek drugih proizvajalcev.
-
Odprite mapo, v kateri so ekstrahirane datoteke, in v navigacijski vrstici na vrhu mape izbrišite, kar je tam, in vnesite cmd.
Drug način za to, vsaj v nekaterih različicah sistema Windows, je, da Shift+desni klik prazen prostor v mapi PsTools in izberete Odpri ukazno okno tukaj.
To bo odprlo ukazni poziv v tej mapi, tako da lahko izvajate ukaze prek PsExec.
- Ko je ukazni poziv zdaj odprt za mapo, ki vsebuje PsExec.exe, lahko začnete vnašati ukaze na oddaljeni napravi.
Razumevanje sintakse
Podobno kot vsako orodje ukazne vrstice tudi PsExec deluje le, če natančno sledite njegovi sintaksi. Ko razumete, kako vnašati ukaze na način, kot jih orodje razume, lahko upravljate program iz katerega koli ukaznega poziva.
Tako je treba vnesti ukaze PsExec:
psexec [ računalnik [, računalnik2 [, …] | @file\][- u uporabniško ime [- p geslo][- n s][- r ime storitve][- h][- l][- s |- e][- x][- i[seja][-c izvedljiva [-f |-v ][-w imenik][- d][- ][- a n, n
To je morda videti zapleteno in zmedeno, vendar ne skrbite! Na dnu te strani je nekaj primerov, ki jih lahko uporabite za vadbo.
Zgornja sintaksa se uporablja za izvajanje katerega koli od naslednjih argumentov ukaza PsExec:
Možnosti ukaza PsExec | |
---|---|
Parameter | Razlaga |
- a | Ločene procesorje, na katerih lahko deluje aplikacija, z vejicami, kjer je 1 najnižji CPE. Če želite na primer zagnati aplikacijo na CPE 2 in CPE 4, bi vnesli: - a 2, 4 |
- c | Kopiraj navedeno izvršljivo datoteko v oddaljeni sistem za izvedbo. Če je izpuščeno, mora biti aplikacija na sistemski poti v oddaljenem sistemu. |
- d | Ne čakajte, da se postopek zaključi (neinteraktivno). |
- e | Ne naloži profila navedenega računa. |
- f | Kopiraj navedeni program, tudi če datoteka že obstaja v oddaljenem sistemu. |
- i | Zaženite program tako, da bo deloval z namizjem določene seje v oddaljenem sistemu. Če ni navedena nobena seja, se postopek izvaja v seji konzole. |
- h | Če je ciljni sistem Windows Vista ali novejši, zaženite postopek s povišanim žetonom računa, če je na voljo. |
- l | Zaženite postopek kot omejeni uporabnik (odstrani skupino skrbnikov in dovoli samo privilegije, dodeljene skupini uporabnikov). V sistemu Windows Vista se postopek izvaja z nizko integriteto. |
- n | Določi časovno omejitev (v sekundah) pri povezovanju z oddaljenimi računalniki. |
- p | Določi neobvezno geslo za uporabniško ime. Če je izpuščeno, boste pozvani, da vnesete skrito geslo. |
- r | Določi ime oddaljene storitve za ustvarjanje ali interakcijo z njo. |
- s | Zažene oddaljeni proces v sistemskem računu. |
- u | Določi neobvezno uporabniško ime za prijavo v oddaljeni računalnik. |
- v | Kopira določeno datoteko le, če ima višjo številko različice ali je novejša od tiste v oddaljenem sistemu. |
- w | Nastavi delovni imenik procesa (glede na oddaljeni računalnik). |
- x | Prikaže uporabniški vmesnik na varnem namizju Winlogon (samo lokalni sistem). |
- prednost | Določi -low, -belownormal, -abovenormal, -high ali -re altime za zagon postopka z drugo prioriteto. Uporabite -ozadje za izvajanje pri nizki pomnilniku in prioriteti V/I v sistemu Windows Vista. |
računalnik | Usmeri PsExec, da zažene aplikacijo na oddaljenem(-ih) računalniku(-ih). Če je izpuščen, PsExec zažene aplikacijo v lokalnem sistemu in če je podan nadomestni znak (), PsExec zažene ukaz v vseh računalnikih v trenutni domeni. |
@file | PsExec bo izvedel ukaz na vsakem od računalnikov, navedenih v datoteki. |
cmd | Ime aplikacije za izvedbo. |
argumenti | Argumenti za posredovanje (upoštevajte, da morajo biti poti datotek absolutne poti v ciljnem sistemu). |
Primeri ukazov PsExec
Tukaj je nekaj primerov uporabe PsExec za izvajanje stvari, kot je zagon oddaljenih ukazov ukaznega poziva, upravljanje storitev Windows ter zagon ali namestitev programov.
Odpri CMD na daljavo
psexec \\192.168.86.62 cmd
Eden najpreprostejših načinov uporabe PsExec za izvajanje ukazov ukaznega poziva na oddaljenem računalniku je izvajanje cmd po naslovu IP naprave, v tem primeru 192.168.86.62.
S tem boste zagnali običajno okno ukaznega poziva znotraj obstoječega in vam omogočili vnos vsakega ukaza, kot da bi sedeli pred oddaljenim računalnikom. Nato lahko na primer vnesete ipconfig, da dobite te rezultate iz drugega računalnika, ali mkdir, da ustvarite novo mapo, dir za seznam vsebine mape itd.
Zagon oddaljenega ukaza
psexec \\mediaserver01 tracert lifewire.com
Drug način uporabe PsExec je vnos posameznih ukazov, vendar brez zagona celotnega ukaznega poziva. V tem primeru izvajamo ukaz tracert za lifewire.com in ker smo navedli ime oddaljenega računalnika, mediaserver01, so rezultati ukaza pomembni za ta računalnik, ne za lokalni (tj. tisti, ki ga vklopljen).
Zaženite storitev na daljavo
psexec \\FRONTDESK_PC -u tomd -p 3(tom87 net start spooler
Primer ukaza PsExec, prikazan zgoraj, zažene storitev tiskanja v ozadju, spooler, na daljavo v računalniku FRONTDESK_PC z uporabniškim geslom tomd, 3(tom87.
Isti ukaz lahko uporabite za zaustavitev storitve na daljavo, vendar bi namesto "start" vnesli "stop".
Odprite urejevalnik registra
psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe
Tukaj uporabljamo PsExec za zagon urejevalnika registra na oddaljenem računalniku mikelaptopw10 v sistemskem računu. Ker je uporabljen -i, se bo program odprl v interaktivnem načinu, kar pomeni, da se bo dejansko zagnal na zaslonu oddaljenega računalnika.
Če bi bil -i izpuščen iz zgornjega ukaza, bi se izvedel v skritem načinu, da bi se izognili prikazovanju pogovornih oken ali drugih oken.
Namesti program na oddaljeni računalnik
psexec \\J3BCD011 -c Z:\files\ccleaner.exe” cmd /S
V tem zadnjem primeru uporabe PsExec uporabljamo -c za kopiranje programa ccleaner.exe v oddaljeni računalnik J3BCD011 in ga nato izvajamo z /S parameter, saj to uporablja CCleaner za omogočanje tihe namestitve (ki ne zahteva uporabniškega vnosa). Dodajanje takega argumenta zahteva cmd.
PsExec je lahko nevaren
Zelo pomembno je razumeti, kako močan je PsExec in kako bi ga lahko uporabili za ogrožanje vašega računalnika, če bi ga uporabljali v okolju, ki sicer ni varno.
Na primer kombinacija - c, - u in - p, bo posebej dovolite vsakomur, ki ima omrežno povezavo z vašim računalnikom in pozna skrbniške poverilnice, izvajanje tajne zlonamerne programske opreme s poverilnicami kogar koli.
Tudi ta zadnji, povsem sprejemljiv primer v prejšnjem razdelku ima povsem nov namen, če pomislite, da bi namesto CCleanerja lahko nekdo v ozadju namestil kar koli drugega, kar bi želel, in nobeno okno se ne prikaže, da bi to pokazalo karkoli se dogaja.
Glede na vse povedano, če upoštevamo potrebne spremembe požarnega zidu in znanje skrbniških poverilnic, ki bi jih nekdo moral imeti, ni razloga za skrb, dokler je skrbniško geslo na oddaljenem računalniku zapleteno in so bili sprejeti drugi osnovni varnostni ukrepi.
Nekateri protivirusni programi napačno prepoznajo PsExec kot nevarno datoteko, vendar lahko ta opozorila prezrete, če zagotovo veste, da je program, ki ga uporabljate, iz Microsoftovega vira zgoraj. Razlog za to je, ker je znano, da zlonamerna programska oprema uporablja PsExec za prenos virusov.