PsExec este un instrument portabil de la Microsoft care vă permite să rulați procese de la distanță folosind acreditările oricărui utilizator. Este un pic ca un program de acces la distanță, dar în loc să controlați computerul cu un mouse, comenzile sunt trimise prin linia de comandă.
Puteți folosi PsExec nu numai pentru a gestiona procesele de pe computerul de la distanță, ci și pentru a redirecționa ieșirea consolei unei aplicații către computerul local, făcând să pară că procesul rulează local.
Nu este necesar niciun software pe computerul de la distanță pentru ca PsExec să funcționeze, dar există câteva lucruri de reținut dacă instrumentul nu rulează corect prima dată când îl încercați.
Cum se configurează PsExec
Dacă PsExec este portabil și nu trebuie copiat pe computerul de la distanță, de ce tip de configurare are cu adevărat nevoie?
Instrumentul funcționează numai în anumite condiții. Și anume, atunci când partajarea fișierelor și a imprimantei este activată atât pe computerul local, cât și pe computerul de la distanță și când aparatul de la distanță are partajarea $admin configurată corect pentru a oferi acces la folderul \Windows\.
Puteți verifica din nou dacă partajarea fișierelor și a imprimării este activată, uitându-vă în setările Windows Firewall:
- Introduceți firewall.cpl în caseta de dialog Run. O modalitate de a deschide Run este prin comanda rapidă de la tastatură WIN+R.
-
Selectați Permite o aplicație sau o funcție prin Windows Firewall din partea stângă a ferestrei.
Acest lucru poate citi ca Permite o aplicație sau o funcție prin Windows Defender Firewall, în funcție de modul în care este configurat computerul, dar este aceeași opțiune.
-
Asigurați-vă că Partajare fișiere și imprimante are o bifă în caseta Private din dreapta sa. Dacă nu, bifați caseta respectivă și selectați OK.
Dacă nu puteți modifica setările paravanului de protecție deoarece sunt incolore, selectați Modificați setările în partea de sus a ferestrei.
- Acum puteți ieși din orice setări deschise pentru Windows Firewall.
Cu Windows Firewall acum configurat corect pentru PsExec, nu ar trebui să aveți nicio problemă la accesarea partajării $admin pe mașina de la distanță, atâta timp cât următoarele sunt adevărate:
- Ambele computere aparțin aceluiași grup de lucru
- Cunoașteți parola pentru contul unui administrator de pe computerul de la distanță
Consultați acest tutorial la Wintips.org dacă aveți nevoie de ajutor pentru a face aceste lucruri sau dacă le-ați făcut corect, dar mai târziu, după ce ați încercat să utilizați PsExec așa cum este descris mai jos, obțineți o eroare „acces refuzat”.
Cum se utilizează PsExec
Înainte de a utiliza PsExec pentru a executa comenzi de la distanță, trebuie să descărcați programul și să poziționați promptul de comandă într-un mod în care să puteți utiliza instrumentul corect.
Descărcați și deschideți
-
Descărcați PsExec pe computerul care va rula comenzile de la distanță. Este disponibil gratuit de la Microsoft la Sysinternals ca parte a PsTools.
-
Extrage fișierele din descărcarea PsTools.zip. Puteți face acest lucru făcând clic dreapta pe fișierul ZIP și selectând Extract All. De asemenea, va funcționa orice extractor de fișiere terță parte.
-
Deschide folderul în care se află fișierele extrase și din bara de navigare din partea de sus a dosarului, șterge ceea ce este acolo și introduceți cmd.
O altă modalitate de a face acest lucru, cel puțin în unele versiuni de Windows, este să Shift+Clic dreapta un spațiu gol în folderul PsTools și să alegeți Deschide fereastra de comandă aici.
Acest lucru va deschide promptul de comandă în acel dosar, astfel încât să puteți rula comenzi prin PsExec.
-
Cu promptul de comandă deschis acum în folderul care conține PsExec.exe, puteți începe să introduceți comenzi pe mașina de la distanță.
Înțelegerea sintaxei
La fel ca orice instrument de linie de comandă, PsExec funcționează numai atunci când sintaxa sa este urmată exact. După ce înțelegeți cum să introduceți comenzi în modul în care instrumentul le înțelege, puteți controla programul din orice linie de comandă.
Iată cum trebuie introduse comenzile PsExec:
psexec [ computer [, computer2 [, …] | @fișier\][- u nume de utilizator [- p parolă][- n s][- r nume serviciu][- h][- l][- s |- e][- x][- i[sesiune][-c executabil [-f |-v ][-w director][- d][- ][- a n, n
Acest lucru poate părea complex și confuz, dar nu vă faceți griji! Există câteva exemple în partea de jos a acestei pagini pe care le puteți folosi pentru a exersa.
Sintaxa de mai sus este folosită pentru a executa oricare dintre următoarele argumente ale comenzii PsExec:
Opțiuni de comandă PsExec | |
---|---|
Parametru | Explicația |
- a | Procesoare separate pe care poate rula aplicația, cu virgule, unde 1 este CPU cu numărul cel mai mic. De exemplu, pentru a rula aplicația pe CPU 2 și CPU 4, ați introduce: - a 2, 4 |
- c | Copiați executabilul specificat în sistemul de la distanță pentru execuție. Dacă este omisă, aplicația trebuie să fie în calea de sistem de pe sistemul de la distanță. |
- d | Nu așteptați ca procesul să se încheie (neinteractiv). |
- e | Nu se încarcă profilul contului specificat. |
- f | Copiați programul specificat chiar dacă fișierul există deja pe sistemul de la distanță. |
- i | Rulați programul astfel încât să interacționeze cu desktopul sesiunii specificate pe sistemul de la distanță. Dacă nu este specificată nicio sesiune, procesul rulează în sesiunea de consolă. |
- h | Dacă sistemul țintă este Windows Vista sau o versiune ulterioară, rulați procesul cu simbolul ridicat al contului, dacă este disponibil. |
- l | Rulează procesul ca utilizator limitat (elimină grupul Administratori și permite numai privilegiile atribuite grupului Utilizatori). În Windows Vista, procesul rulează cu integritate scăzută. |
- n | Specifică timpul de expirare (în secunde) pentru conectarea la computere la distanță. |
- p | Specifică parola opțională pentru numele de utilizator. Dacă este omisă, vi se va solicita să introduceți o parolă ascunsă. |
- r | Specifică numele serviciului de la distanță pentru a crea sau a interacționa. |
- s | Rulează procesul de la distanță în contul de sistem. |
- u | Specifică numele de utilizator opțional pentru conectarea la computerul de la distanță. |
- v | Copiază fișierul specificat numai dacă are un număr de versiune mai mare sau este mai nou decât cel de pe sistemul de la distanță. |
- w | Setează directorul de lucru al procesului (față de computerul de la distanță). |
- x | Afișează interfața cu utilizatorul pe desktopul securizat Winlogon (numai pentru sistemul local). |
- prioritate | Specifică -low, -belownormal, -abovenormal, -high sau -re altime pentru a rula procesul cu o altă prioritate. Utilizați -background pentru a rula cu memorie redusă și cu prioritate I/O pe Windows Vista. |
computer | Îndrumă PsExec să ruleze aplicația pe computerul(e) la distanță specificat(e). Dacă este omis, PsExec rulează aplicația pe sistemul local, iar dacă este specificat un wildcard (), PsExec rulează comanda pe toate computerele din domeniul curent. |
@fișier | PsExec va executa comanda pe fiecare dintre computerele enumerate în fișier. |
cmd | Numele aplicației de executat. |
argumente | Argumente de transmis (rețineți că căile fișierelor trebuie să fie căi absolute pe sistemul țintă). |
Exemple de comandă PsExec
Iată câteva exemple despre cum să utilizați PsExec pentru a face lucruri precum rularea comenzilor de la distanță din promptul de comandă, gestionarea serviciilor Windows și lansarea sau instalarea programelor.
Deschide CMD de la distanță
psexec \\192.168.86.62 cmd
Una dintre cele mai ușoare moduri de a utiliza PsExec pentru a rula comenzi din promptul de comandă pe un computer la distanță este de a executa cmd urmând adresa IP a mașinii, 192.168.86.62 în acest exemplu.
Fecând acest lucru, veți lansa o fereastră obișnuită de prompt de comandă în cea existentă și vă va permite să introduceți fiecare comandă ca și cum ați fi așezat în fața computerului de la distanță. De exemplu, puteți introduce apoi ipconfig pentru a obține acele rezultate de pe celăl alt computer sau mkdir pentru a crea un folder nou, dir pentru a lista conținutul folderului etc.
Runează o comandă de la distanță
psexec \\mediaserver01 tracert lifewire.com
O altă modalitate de a folosi PsExec este să introduceți comenzi individuale, dar fără a porni un prompt de comandă complet. În acest exemplu, executăm comanda tracert împotriva lifewire.com și, deoarece am specificat numele computerului la distanță, mediaserver01, rezultatele comenzii sunt relevante pentru acea mașină, nu pentru cea locală (adică, cea pe care o ești). activat).
Porniți un serviciu de la distanță
psexec \\FRONTDESK_PC -u tomd -p 3(tom87 net start spooler
Exemplul de comandă PsExec prezentat mai sus pornește serviciul Print Spooler, spooler, de la distanță pe computerul FRONTDESK_PC folosind parola utilizatorului tomd, 3(tom87.
Aceeași comandă poate fi folosită pentru a opri un serviciu de la distanță, dar ați tasta „stop” în loc de „pornire”.
Deschide Editorul Registrului
psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe
Aici, folosim PsExec pentru a lansa Editorul de registru pe mașina de la distanță, mikelaptopw10, în contul de sistem. Deoarece se folosește -i, programul se va deschide în modul interactiv, ceea ce înseamnă că se va lansa efectiv pe ecranul mașinii de la distanță.
Dacă -i ar fi omis din comanda de mai sus, s-ar executa în modul ascuns pentru a evita afișarea oricăror casete de dialog sau alte ferestre.
Instalare program pe computer la distanță
psexec \\J3BCD011 -c „Z:\files\ccleaner.exe” cmd /S
În acest ultim exemplu de utilizare a PsExec, folosim -c pentru a copia programul ccleaner.exe pe computerul la distanță J3BCD011 și apoi îl executăm cu /S, deoarece acesta este ceea ce CCleaner folosește pentru a activa o instalare silențioasă (care nu necesită intrarea utilizatorului). Adăugarea unui astfel de argument necesită cmd.
PsExec poate fi periculos
Este foarte important să înțelegeți cât de puternic este PsExec și cum ar putea fi folosit pentru a compromite computerul atunci când este utilizat într-un mediu altfel nesigur.
De exemplu, combinarea - c, - u și - p, va permiteți oricui cu o conexiune la rețea la computerul dvs. și cunoștințe despre acreditările de administrator, să execute programe malware secrete cu acreditările oricui.
Chiar și acest ultim exemplu perfect acceptabil din secțiunea anterioară are un scop cu totul nou, atunci când considerați că, în loc de CCleaner, cineva ar putea instala orice altceva ar dori, în fundal, și nicio fereastră să nu arate că se întâmplă orice.
Toate acestea fiind spuse, având în vedere modificările necesare pentru firewall și cunoștințele despre acreditările de administrator pe care cineva ar trebui să le aibă, nu există motive de îngrijorare atâta timp cât parola de administrator de pe computerul de la distanță este complexă și au fost luate alte măsuri de securitate de bază.
Unele programe antivirus identifică în mod fals PsExec ca fiind un fișier periculos, dar acele avertismente pot fi ignorate dacă știi sigur că programul pe care îl folosești provine din sursa Microsoft de mai sus. Motivul pentru care se întâmplă acest lucru este că se știe că programele malware folosesc PsExec pentru a transfera viruși.