Zdalne uruchomienie cmd przez PsExec - Jak unikać typowych błędów?

Jędrzej Czarnecki .

5 lutego 2026

Wynik pingowania google.com w cmd, pokazujący zero procent straty pakietów.

PsExec to jedno z tych narzędzi, które potrafi skrócić pracę administratora do kilku sekund, ale w złych rękach staje się wygodnym kanałem ruchu bocznego. W praktyce chodzi o szybkie uruchamianie procesów na lokalnym albo zdalnym Windowsie, najczęściej właśnie z użyciem cmd.exe. Poniżej wyjaśniam, jak to działa, jak uruchomić zdalny wiersz poleceń, które przełączniki mają znaczenie i gdzie zaczynają się realne ryzyka bezpieczeństwa.

Najważniejsze informacje o uruchamianiu cmd przez PsExec

  • PsExec służy do zdalnego uruchamiania procesów na Windowsie bez ręcznej instalacji klienta na hoście docelowym.
  • Najprostszy wariant administracyjny to interaktywna sesja `cmd.exe` na zdalnym komputerze.
  • Narzędzie wymaga uprawnień administracyjnych i bywa monitorowane przez rozwiązania EDR, bo jest nadużywane do lateral movement.
  • Najczęściej używa się przełączników `-i`, `-u`, `-p`, `-s`, `-c`, `-d` i `-h`.
  • W środowisku firmowym warto testować blokowanie w trybie audytu i ograniczyć użycie do zaufanych stacji administracyjnych.

Czym jest PsExec i po co uruchamia się przez niego cmd.exe

Oficjalna dokumentacja Microsoft Learn opisuje PsExec jako lekkie narzędzie do uruchamiania procesów na innych systemach Windows, bez konieczności ręcznej instalacji klienta na każdym z nich. To wciąż aktualne narzędzie z rodziny Sysinternals, a dokumentacja nadal pokazuje wersję 2.43 oraz wsparcie dla klientów od Windows 8.1 i serwerów od Windows Server 2012 wzwyż. Z praktycznego punktu widzenia jego najmocniejszy scenariusz to właśnie zdalna, interaktywna konsola, czyli szybkie wejście do cmd.exe na drugim komputerze.

Warto pamiętać o jednym szczególe: sam fakt, że narzędzie jest użyteczne, nie czyni go neutralnym. Skanery antywirusowe i systemy EDR często traktują PsExec ostrożnie, bo przez lata był wykorzystywany zarówno do administracji, jak i do nadużyć. To nie wada samego narzędzia, tylko efekt jego historii i sposobu działania.

Jeśli celem jest tylko jednorazowe sprawdzenie stanu hosta, PsExec bywa szybki i bezpośredni. Jeśli jednak chcesz zbudować stabilny proces administracyjny, od razu trzeba myśleć o uprawnieniach, segmentacji i monitoringu. Do tego prowadzi kolejna część, czyli poprawne uruchomienie zdalnej sesji.

Jak uruchomić zdalny wiersz poleceń krok po kroku

Najprostszy wariant to otwarcie interaktywnej konsoli na hoście docelowym. W praktyce wygląda to tak:

psexec \\SERWER -i cmd

Przełącznik -i jest tutaj kluczowy, bo bez niego proces może uruchomić się bez wygodnej interakcji z konsolą. Jeśli chcesz wykonać pojedyncze polecenie i zakończyć sesję, zwykle lepiej sprawdza się tryb nieinteraktywny:

psexec \\SERWER cmd /c hostname

Gdy potrzebujesz uwierzytelnienia innym kontem, używasz -u i -p:

psexec \\SERWER -u DOMENA\konto_admin -p ******** -i cmd

W dokumentacji Microsoft zaznaczono też ważną rzecz: jeśli nie podasz nazwy użytkownika, proces uruchomi się w kontekście Twojego konta na hoście zdalnym, ale nie będzie miał dostępu do zasobów sieciowych, bo działa przez impersonację. Jeśli polecenie ma korzystać z udziałów, zasobów domenowych albo innego konta, podanie właściwego użytkownika ma znaczenie praktyczne, nie kosmetyczne.

Warto też pamiętać, że PsExec może kopiować pliki na host docelowy i uruchamiać je zdalnie. To bywa wygodne przy jednorazowej diagnostyce, ale w środowisku produkcyjnym wymaga większej ostrożności niż zwykłe otwarcie terminala. Z tej różnicy wynikają najważniejsze przełączniki.

Które przełączniki naprawdę mają znaczenie

Jeśli ktoś używa PsExec rzadko, łatwo zgubić się w składni. W praktyce kilka opcji robi prawie całą robotę, a reszta jest dodatkiem do konkretnych scenariuszy.

Przełącznik Co robi Kiedy ma sens Na co uważać
-i Uruchamia proces interaktywnie w sesji użytkownika Gdy chcesz pracować w cmd.exe jak w normalnej konsoli Bez tego łatwo uzyskać proces bez widocznej interakcji
-u / -p Loguje na zdalny host innym kontem Gdy konto bieżące nie ma odpowiednich uprawnień Hasło wpisujesz w skryptach tylko wtedy, gdy naprawdę kontrolujesz ich bezpieczeństwo
-s Uruchamia proces jako SYSTEM Przy bardzo niskopoziomowej administracji i diagnostyce To bardzo wysoki poziom uprawnień, więc łatwo zrobić więcej szkody niż pożytku
-c Kopiuje plik wykonywalny na host docelowy Gdy narzędzie nie jest zainstalowane lokalnie na serwerze Wymaga kontroli nad tym, co faktycznie trafia na zdalny system
-d Nie czeka na zakończenie procesu W automatyzacji i prostych zadaniach one-shot Tracisz prostą obserwację wyniku działania
-h Próbuje uruchomić proces z tokenem podwyższonym Na systemach z UAC, gdy konto ma dostęp do elevation To nie magiczny bypass, tylko próba użycia dostępnego tokenu
-l Uruchamia proces jako ograniczony użytkownik Gdy chcesz celowo obniżyć uprawnienia procesu Przydatne w testach, ale łatwo zapomnieć, że ogranicza też możliwości narzędzia
-w Ustawia katalog roboczy procesu Gdy aplikacja zakłada konkretny kontekst plików Ścieżka odnosi się do hosta zdalnego, nie lokalnego

Jeżeli mam wskazać trzy opcje, które naprawdę trzeba rozumieć, wybieram -i, -s i -u/-p. Pierwsze decyduje o wygodzie pracy, drugie o poziomie ryzyka, a trzecie o tym, z jakim kontekstem bezpieczeństwa faktycznie łączysz się do hosta. Reszta jest ważna, ale zwykle już w drugiej kolejności.

To właśnie te przełączniki sprawiają, że PsExec jest albo szybkim narzędziem administracyjnym, albo wygodnym mechanizmem nadużycia. A to prowadzi wprost do pytania o bezpieczeństwo.

Gdzie łatwo popełnić błąd i skąd biorą się problemy

W środowiskach bezpieczeństwa traktuję PsExec jak narzędzie uprzywilejowane, a nie zwykły terminal. Microsoft Security Blog pokazał niedawno scenariusze ataku, w których napastnicy używali cmd.exe, aby uruchamiać PsExec, a także wersji z -s do eskalacji do SYSTEM. To dobry przykład, bo nie chodzi tu o egzotyczny malware, tylko o legalne narzędzie użyte dokładnie tak, jak umie go używać administrator.

Przeczytaj również: Śledzenie w sieci i fingerprinting - Jak realnie chronić prywatność?

Najczęstsze błędy praktyczne

  • Używanie konta domenowego zbyt szerokiego zakresu uprawnień zamiast konta z ograniczonym dostępem do konkretnego segmentu.
  • Uruchamianie PsExec z codziennej stacji roboczej zamiast z wydzielonego hosta administracyjnego.
  • Traktowanie -s jako wygodnego skrótu, zamiast jako opcji do wyjątkowych zadań.
  • Kopiowanie plików na serwery produkcyjne bez jasnej kontroli tego, co zostało uruchomione.
  • Ignorowanie alertów EDR tylko dlatego, że narzędzie jest „nasze” i „do administrowania”.

Ważna jest też jedna rzecz, którą łatwo przecenić: fakt, że transmisja hasła i polecenia jest szyfrowana, nie oznacza jeszcze, że cały proces jest bezpieczny. Jeśli konto administracyjne zostanie przejęte, szyfrowanie transportu nie rozwiązuje problemu ruchu bocznego. Dokładnie dlatego narzędzia tego typu trzeba łączyć z segmentacją i monitoringiem, a nie z zaufaniem „bo to tylko konsola”.

Jeżeli chcesz używać PsExec rozsądnie, trzeba przejść od pojedynczych komend do polityki ograniczeń. I właśnie to ma sens w praktyce operacyjnej.

Jak zabezpieczyć użycie PsExec w firmie

Najrozsądniejszy model to podejście „pozwalam, ale kontroluję”. W dokumentacji Microsoftu ta reguła jest klasyfikowana po stronie ochrony przed lateral movement i kradzieżą poświadczeń, więc nie ma sensu udawać, że to neutralny detal. Dla środowiska, które faktycznie potrzebuje PsExec, rozsądny punkt startowy wygląda tak:

  • uruchamiać administrację z wydzielonej stacji lub jump hosta, a nie z codziennego laptopa,
  • korzystać z osobnych kont uprzywilejowanych, najlepiej z dodatkowymi kontrolami typu MFA i JIT,
  • ograniczyć zakres hostów docelowych do jasno zdefiniowanej grupy,
  • monitorować tworzenie procesów zdalnych oraz nietypowe uruchomienia cmd.exe na stacjach administracyjnych,
  • włączyć blokowanie w politykach bezpieczeństwa dopiero po sprawdzeniu wpływu w trybie audytu.

Jeżeli używasz Microsoft Defender for Endpoint, praktyczny punkt zaczepienia to reguła blokująca procesy uruchamiane przez PsExec i WMI. Warto najpierw uruchomić ją w trybie audytu, bo dopiero wtedy zobaczysz, które legalne procesy administracyjne naprawdę zależą od tego sposobu pracy. To uczciwsze niż szybkie przejście do blokady i gaszenie pożarów na produkcji.

Dobry model obrony nie polega jednak wyłącznie na blokowaniu. Równie ważne jest pytanie, kiedy ten zestaw narzędzi w ogóle ma sens, a kiedy lepiej wybrać coś spokojniejszego i łatwiejszego do audytu.

Gdzie PsExec nadal ma sens, a gdzie tylko zwiększa powierzchnię ataku

Ja traktuję PsExec jako narzędzie do zadań szybkich, awaryjnych i uprzywilejowanych. Jeśli mam dostęp do hosta Windows, potrzebuję zdalnie odpalić jedną komendę albo otworzyć interaktywny cmd.exe, PsExec nadal jest wygodny. Jeśli jednak chcę budować powtarzalny proces, zwykle wybieram coś bardziej przewidywalnego.

Narzędzie Kiedy ma sens Główna zaleta Największe ograniczenie
PsExec Jednorazowa administracja, szybkie wejście do zdalnego cmd, stare środowiska Bardzo szybkie uruchomienie bez instalowania klienta Wysoka wrażliwość z perspektywy bezpieczeństwa i ruchu bocznego
PowerShell Remoting Powtarzalna automatyzacja i zarządzanie większą liczbą hostów Lepiej nadaje się do pracy skryptowej i zwracania obiektów Wymaga lepszego przygotowania środowiska i dyscypliny w użyciu
RDP Gdy potrzebujesz GUI i ręcznego troubleshootingu Najbardziej intuicyjny dla pracy „na ekranie” Słabszy do automatyzacji i większy ciężar operacyjny
SSH Gdy zarządzasz systemami Linux lub środowiskiem mieszanym Naturalny model zdalnej administracji po stronie Linuksa Nie zastępuje wprost Windowsowego przepływu administracyjnego
W praktyce najprostsza decyzja brzmi tak: jeśli potrzebujesz szybkiego, kontrolowanego wejścia w zdalny Windows, PsExec jest sensowny. Jeśli potrzebujesz automatyzacji, raportowania i długiego życia skryptu, lepiej szukać narzędzia, które od początku lepiej wspiera taki model pracy. W środowisku mieszanym ja zwykle rozdzielam te światy jeszcze mocniej, bo Linux i Windows rzadko lubią ten sam zestaw skrótów administracyjnych.

Najlepszy wniosek jest prosty: PsExec jest mocny dokładnie tam, gdzie wymaga tego szybka administracja, ale nie powinien być domyślną metodą na wszystko. Jeśli używasz go świadomie, z kontem uprzywilejowanym tylko wtedy, gdy to konieczne, i z monitoringiem po stronie bezpieczeństwa, dostajesz narzędzie bardzo skuteczne. Jeśli używasz go bez kontroli, dokładasz sobie tylko kolejny kanał ryzyka.

FAQ - Najczęstsze pytania

Aby otworzyć interaktywną konsolę na zdalnym komputerze, użyj polecenia: psexec \\NAZWA_KOMPUTERA -i cmd. Przełącznik -i jest niezbędny, aby sesja była widoczna i umożliwiała wprowadzanie komend w czasie rzeczywistym.
Przełącznik -s uruchamia proces na koncie SYSTEM. Daje to najwyższe możliwe uprawnienia w systemie Windows, co jest przydatne przy zaawansowanej diagnostyce, ale wymaga dużej ostrożności ze względów bezpieczeństwa.
PsExec to legalne narzędzie administracyjne, ale często nadużywane przez hakerów do ataków typu lateral movement. Warto ograniczyć jego użycie do zaufanych stacji i monitorować aktywność procesów w sieci firmowej.
Służy do tego przełącznik -c. Powoduje on skopiowanie wskazanego pliku wykonywalnego na zdalny komputer przed jego uruchomieniem. Jest to idealne rozwiązanie, gdy narzędzie nie jest zainstalowane na docelowej maszynie.

Oceń ten artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

psexec cmd zdalne uruchomienie cmd przez psexec psexec interaktywna sesja cmd psexec cmd c przykłady psexec cmd access is denied błąd
Autor Jędrzej Czarnecki
Jędrzej Czarnecki
Jestem Jędrzej Czarnecki, specjalizującym się w systemach Linux, bezpieczeństwie oraz oprogramowaniu. Od ponad dziesięciu lat analizuję rynek technologii informacyjnych, co pozwoliło mi zdobyć dogłębną wiedzę na temat najnowszych trendów oraz najlepszych praktyk w tych dziedzinach. Moje doświadczenie obejmuje również pracę jako redaktor, gdzie koncentruję się na uproszczeniu skomplikowanych zagadnień technologicznych, aby były one zrozumiałe dla szerokiego grona odbiorców. W mojej pracy dążę do dostarczania rzetelnych i aktualnych informacji, które pomagają czytelnikom podejmować świadome decyzje. Wierzę, że obiektywna analiza i dokładne sprawdzanie faktów są kluczowe w budowaniu zaufania wśród moich odbiorców. Celem moich publikacji jest nie tylko edukacja, ale również inspirowanie do eksploracji i korzystania z możliwości, jakie oferuje współczesna technologia.

Komentarze (0)

Dodaj komentarz