PsExec: Co to je a jak jej používat

Obsah:

PsExec: Co to je a jak jej používat
PsExec: Co to je a jak jej používat
Anonim

PsExec je přenosný nástroj od společnosti Microsoft, který vám umožňuje spouštět procesy vzdáleně pomocí přihlašovacích údajů libovolného uživatele. Je to trochu jako program pro vzdálený přístup, ale místo ovládání počítače pomocí myši jsou příkazy odesílány prostřednictvím příkazového řádku.

PsExec můžete použít nejen ke správě procesů na vzdáleném počítači, ale také k přesměrování výstupu konzole aplikace do vašeho místního počítače, takže to vypadá, jako by proces běžel lokálně.

Na vzdáleném počítači není potřeba žádný software, aby PsExec fungoval, ale je třeba mít na paměti několik věcí, pokud nástroj neběží správně při prvním vyzkoušení.

Jak nastavit PsExec

Pokud je PsExec přenosný a není třeba jej kopírovat do vzdáleného počítače, jaký typ nastavení skutečně potřebuje?

Nástroj funguje pouze za určitých podmínek. Konkrétně, když je povoleno sdílení souborů a tiskáren na místním i vzdáleném počítači a když má vzdálený počítač správně nastaveno sdílení $admin, aby poskytovalo přístup ke své složce \Windows\.

Povolení sdílení souborů a tisku můžete zkontrolovat v nastavení brány Windows Firewall:

  1. V dialogovém okně Spustit zadejte firewall.cpl. Jedním ze způsobů, jak otevřít Run, je klávesová zkratka WIN+R.

  2. Vyberte Povolte aplikaci nebo funkci prostřednictvím brány Windows Firewall z levé strany okna.

    Image
    Image

    To může znít jako Povolit aplikaci nebo funkci prostřednictvím brány Windows Defender Firewall v závislosti na nastavení vašeho počítače, ale je to stejná možnost.

  3. Ujistěte se, že Sdílení souborů a tiskáren je zaškrtnuto v poli Soukromé vpravo. Pokud ne, zaškrtněte toto políčko a vyberte OK.

    Image
    Image

    Pokud nemůžete změnit nastavení brány firewall, protože jsou zašedlá, vyberte Změnit nastavení v horní části okna.

  4. Nyní můžete ukončit všechna otevřená nastavení brány Windows Firewall.

Když je brána Windows Firewall nyní správně nastavena pro PsExec, neměli byste mít problém s přístupem ke sdílené složce $admin na vzdáleném počítači, pokud platí následující:

  • Oba počítače patří do stejné pracovní skupiny
  • Znáte heslo k účtu administrátora na vzdáleném počítači

Pokud potřebujete pomoc s těmito věcmi nebo pokud jste je provedli správně, podívejte se na tento tutoriál na Wintips.org, ale později se po pokusu o použití PsExec, jak je popsáno níže, zobrazí chyba „přístup odepřen“.

Jak používat PsExec

Před použitím PsExec ke spouštění vzdálených příkazů si musíte stáhnout program a umístit Příkazový řádek tak, abyste mohli nástroj správně používat.

Stáhnout a otevřít

  1. Stáhněte si PsExec do počítače, na kterém budou spouštěny vzdálené příkazy. Je k dispozici zdarma od společnosti Microsoft na Sysinternals jako součást PsTools.
  2. Rozb alte soubory ze stažení PsTools.zip. Můžete to udělat tak, že kliknete pravým tlačítkem na soubor ZIP a vyberete Extract All. Bude fungovat také jakýkoli extraktor souborů třetí strany.

    Image
    Image
  3. Otevřete složku, kde se nacházejí extrahované soubory, a z navigační lišty v horní části složky vymažte, co tam je, a zadejte cmd.

    Image
    Image

    Dalším způsobem, jak toho dosáhnout, alespoň v některých verzích Windows, je Shift+kliknutí pravým tlačítkem do prázdného místa ve složce PsTools a vybrat Otevřít příkazové okno zde.

    V této složce se otevře příkazový řádek, abyste mohli spouštět příkazy prostřednictvím PsExec.

    Image
    Image
  4. S příkazovým řádkem nyní otevřeným do složky, která obsahuje PsExec.exe, můžete začít zadávat příkazy na vzdáleném počítači.

Porozumění syntaxi

Stejně jako každý nástroj příkazového řádku funguje PsExec pouze tehdy, když je přesně dodržena jeho syntaxe. Jakmile pochopíte, jak psát příkazy tak, jak jim nástroj rozumí, můžete program ovládat z libovolného příkazového řádku.

Příkazy PsExec je třeba zadávat takto:

psexec [ počítač [, počítač2 [, …] | @file\][- u uživatelské jméno [- p heslo][- n s][- r název služby][- h][- l][- s |- e][- x][- i[session][-c spustitelný soubor [-f |-v ][-w adresář][- d][- ][- a n, n, …] cmd [argumenty

Může to vypadat složitě a matoucí, ale nebojte se! V dolní části této stránky je několik příkladů, které můžete použít k procvičení.

Výše uvedená syntaxe se používá k provedení libovolného z následujících argumentů příkazu PsExec:

Možnosti příkazu PsExec
Parametr Vysvětlení
- a Samostatné procesory, na kterých může aplikace běžet, s čárkami, kde 1 je procesor s nejnižším číslem. Například pro spuštění aplikace na CPU 2 a CPU 4 byste zadali: - a 2, 4
- c Zkopírujte zadaný spustitelný soubor do vzdáleného systému pro spuštění. Pokud je vynechán, aplikace musí být v systémové cestě na vzdáleném systému.
- d Nečekejte na ukončení procesu (neinteraktivní).
- e Nenačte profil zadaného účtu.
- f Zkopírujte určený program, i když soubor již ve vzdáleném systému existuje.
- i Spusťte program tak, aby interagoval s pracovní plochou zadané relace na vzdáleném systému. Pokud není zadána žádná relace, proces se spustí v relaci konzoly.
- h Pokud je cílovým systémem Windows Vista nebo vyšší, spusťte proces se zvýšeným tokenem účtu, pokud je k dispozici.
- l Spusťte proces jako omezený uživatel (odstraní skupinu Administrators a povolí pouze oprávnění přiřazená skupině Users). Ve Windows Vista běží proces s nízkou integritou.
- n Uvádí časový limit (v sekundách) pro připojení ke vzdáleným počítačům.
- p Udává volitelné heslo pro uživatelské jméno. Pokud vynecháte, budete vyzváni k zadání skrytého hesla.
- r Uvádí název vzdálené služby, kterou chcete vytvořit nebo se kterou chcete pracovat.
- s Spustí vzdálený proces v systémovém účtu.
- u Určuje volitelné uživatelské jméno pro přihlášení ke vzdálenému počítači.
- v Zkopíruje zadaný soubor pouze v případě, že má vyšší číslo verze nebo je novější než soubor ve vzdáleném systému.
- w Nastavuje pracovní adresář procesu (vzhledem ke vzdálenému počítači).
- x Zobrazuje uživatelské rozhraní na zabezpečené ploše Winlogon (pouze místní systém).
- priorita Udává -low, -belownormal, -abovenormal, -high nebo -re altime pro spuštění procesu s jinou prioritou. Použijte -background ke spuštění s nízkou pamětí a I/O prioritou ve Windows Vista.
počítač Nasměruje PsExec ke spuštění aplikace na zadaných vzdálených počítačích. Pokud je vynechán, PsExec spustí aplikaci v místním systému, a pokud je zadán zástupný znak (), PsExec spustí příkaz na všech počítačích v aktuální doméně.
@file PsExec provede příkaz na každém z počítačů uvedených v souboru.
cmd Název aplikace ke spuštění.
argumenty Argumenty, které je třeba předat (pamatujte, že cesty k souborům musí být absolutní cesty v cílovém systému).

Příklady příkazů PsExec

Zde je několik příkladů, jak používat PsExec k provádění věcí, jako je spouštění vzdálených příkazů příkazového řádku, správa služeb Windows a spouštění nebo instalace programů.

Otevřít CMD vzdáleně

psexec \\192.168.86.62 cmd

Jedním z nejjednodušších způsobů, jak pomocí PsExec spouštět příkazy příkazového řádku na vzdáleném počítači, je spustit cmd podle IP adresy stroje, v tomto příkladu 192.168.86.62.

Tímto se spustí běžné okno příkazového řádku v rámci stávajícího okna a umožní vám zadávat každý příkaz, jako byste seděli před vzdáleným počítačem. Můžete například zadat ipconfig, abyste získali tyto výsledky z druhého počítače, nebo mkdir pro vytvoření nové složky, dir pro výpis obsahu složky atd.

Spustit vzdálený příkaz

psexec \\mediaserver01 tracert lifewire.com

Další způsob, jak používat PsExec, je zadávat jednotlivé příkazy, ale bez spouštění celého příkazového řádku. V tomto příkladu provádíme příkaz tracert proti lifewire.com, a protože jsme zadali název vzdáleného počítače, mediaserver01, výsledky příkazu jsou relevantní pro tento počítač, nikoli pro místní (tj. on).

Spustit službu na dálku

psexec \\FRONTDESK_PC -u tomd -p 3(tom87 net start spooler

Příklad příkazu PsExec zobrazený výše spouští službu Print Spooler, spooler, vzdáleně na počítači FRONTDESK_PC pomocí hesla uživatele tomd, 3(tom87.

Stejný příkaz lze použít k zastavení služby na dálku, ale zadali byste „stop“místo „start.“

Otevřete Editor registru

psexec \\mikelaptopw10 -i -s C:\Windows\regedit.exe

Zde používáme PsExec ke spuštění Editoru registru na vzdáleném počítači, mikelaptopw10, v systémovém účtu. Protože se používá -i, program se otevře v interaktivním režimu, což znamená, že se skutečně spustí na obrazovce vzdáleného počítače.

Pokud by byl -i z výše uvedeného příkazu vynechán, provedl by se ve skrytém režimu, aby se nezobrazovala žádná dialogová okna nebo jiná okna.

Instalovat program na vzdálený počítač

psexec \\J3BCD011 -c "Z:\files\ccleaner.exe" cmd /S

V tomto posledním příkladu, jak používat PsExec, používáme -c ke zkopírování programu ccleaner.exe do vzdáleného počítače J3BCD011 a poté jej spustíme pomocí /S parametr, protože to je to, co CCleaner používá k povolení tiché instalace (nevyžaduje žádný vstup uživatele). Přidání takového argumentu vyžaduje cmd.

PsExec může být nebezpečný

Je velmi důležité porozumět tomu, jak mocný je PsExec a jak jej lze využít ke kompromitaci vašeho počítače při použití v jinak nezabezpečeném prostředí.

Například kombinací - c, - u a - p konkrétně umožněte komukoli, kdo má síťové připojení k vašemu počítači a zná přihlašovací údaje správce, spouštět tajný malware pomocí přihlašovacích údajů kohokoli.

Dokonce i ten poslední, naprosto přijatelný příklad v předchozí části nabývá zcela nového účelu, když si uvědomíte, že místo CCleaner by si někdo mohl na pozadí nainstalovat cokoli jiného, co by chtěl, a nevyskakují žádná okna, která by to ukazovala cokoliv se děje.

Vše, co bylo řečeno, vzhledem k požadovaným změnám brány firewall a znalostem pověření správce, které by někdo musel mít, není důvod k obavám, pokud je heslo správce na vzdáleném počítači složité a byla přijata další základní bezpečnostní opatření.

Některé antivirové programy falešně identifikují PsExec jako nebezpečný soubor, ale tato varování lze ignorovat, pokud s jistotou víte, že program, který používáte, pochází z výše uvedeného zdroje společnosti Microsoft. Důvodem je to, že je známo, že malware používá PsExec k přenosu virů.

Doporučuje: