W ostatnich tygodniach obserwujemy wzmożoną liczbę zgłoszeń od klientów, którzy zauważyli na swoich komputerach dziwne zjawisko: czarne okno z napisem cmd.exe pojawiające się przy uruchomianiu komputera lub działające w tle bez wyraźnego powodu. Jeśli Ty też się z tym spotkałeś - nie ignoruj tego. Choć cmd.exe to legalny element systemu Windows, w pewnych przypadkach jego obecność może świadczyć o infekcji, błędach systemowych lub nieprawidłowej konfiguracji.
W tym artykule odpowiemy: Czym dokładnie jest cmd.exe? Kiedy jego działanie jest normalne, a kiedy powinno Cię zaniepokoić? Jak sprawdzić, czy nie masz do czynienia z wirusem? Co robimy w serwisie komputerowym, by rozwiązać problem?
cmd.exe to wiersz poleceń systemu Windows, czyli program umożliwiający wykonywanie komend tekstowych w środowisku tekstowym (tzw. konsola). Działa na tej samej zasadzie co Terminal w systemach Linux/Mac, choć ma inne polecenia.
To narzędzie używane przez: administratorów, programistów, techników, a także przez… niektóre wirusy i złośliwe skrypty.
Często objawia się jako szybkie „mignięcie” czarnego okna. Może to świadczyć o: aktywnej pozycji w autostarcie (np. skrypt .bat lub program aktualizujący), zadaniu w Harmonogramie zadań systemowych (Task Scheduler), obecności malware lub programów szpiegujących.
Jeśli cmd.exe uruchamia się samoczynnie w trakcie korzystania z przeglądarki, gry lub otwierania folderu - może to oznaczać: działanie złośliwego kodu, próbę ściągnięcia i uruchomienia dodatkowego oprogramowania, skrypty PowerShell lub bota działającego w tle.
Sam cmd.exe to proces systemowy. Ale jeśli uruchamia coś podejrzanego (np. cmd.exe + dziwna nazwa pliku .vbs, .js, .ps1), to powinien zapalić Ci się czerwony alarm.
Poniżej objawy, które WARTO potraktować poważnie:
| Objaw | Możliwa przyczyna |
|---|---|
| cmd.exe uruchamia się sam i znika | Zadanie w harmonogramie, malware |
| cmd.exe obciąża procesor lub RAM | Wirus, skrypt kopiący kryptowaluty |
| cmd.exe działa w nietypowej lokalizacji | Podszyty wirus |
| Pojawia się komunikat „Nie można odnaleźć pliku cmd.exe” | Zmiana ścieżki systemowej, błędy rejestru |
| Połączenia sieciowe z cmd.exe w tle | Może wysyłać dane do zewnętrznych serwerów (spyware) |
Jeśli „okienko programu odpala się na ułamek sekundy i znika” po wywołaniu polecenia, oznacza to, że coś uruchamia się przez konsolę i kończy zbyt szybko, albo wykonuje krótką sekwencję automatyczną - a to często jest powiązane z zadaniem, skryptem (.bat) lub innym procesem startowanym z cmd.
Prawdziwy cmd.exe znajduje się TYLKO w: C:\Windows\System32\cmd.exe. Jeśli widzisz go w AppData, Temp lub C:\Users - najprawdopodobniej masz problem.
Wyszukaj w systemie „Harmonogram zadań”. Przejrzyj aktywne zadania i zobacz, czy coś dziwnego nie uruchamia cmd.exe.
Zalecamy programy typu Malwarebytes, AdwCleaner lub ESET Online Scanner.
Klawisz Ctrl+Shift+Esc → zakładka „Uruchamianie”. Czy coś podejrzanego korzysta z cmd.exe?
Uruchamia nowe wystąpienie interpretera poleceń cmd.exe.
Aby przekierować dane wyjściowe polecenia do danych wejściowych innego polecenia, użyj operatora potoku (|). Operator podwójnego potoku (||) służy do wykonywania następnego polecenia tylko wtedy, gdy poprzednie polecenie zakończy się niepowodzeniem. W danym scenariuszu command2 jest wykonywany tylko w przypadku command1 awarii.
Aby przekierować dane wyjściowe polecenia do pliku, użyj znaku nawiasu kątowego > większego niż kąt.
Aby grupować lub zagnieżdżać wiele poleceń, użyj polecenia &.
Aby użyć wielu poleceń dla <string> polecenia, rozdziel je separatorem && poleceń.
Jeśli używasz && polecenia , następujące && polecenie jest uruchamiane tylko wtedy, gdy poprzednie polecenie zakończy się pomyślnie.
Cmd Wykonuje pierwsze polecenie i przechodzi do następnego tylko wtedy, gdy poprzednie polecenie zakończyło się pomyślnie.
Jeśli ścieżka katalogu, pliki lub jakiekolwiek informacje, które podajesz, zawiera spacje, należy użyć podwójnych cudzysłowów (" ") wokół tekstu, takiego jak "Computer Name".
Należy użyć znaków cudzysłowu wokół następujących znaków specjalnych: & < > [ ] | { } ^ = ; !
Jeśli poprzednie warunki nie są spełnione, jest przetwarzane przez sprawdzenie pierwszego znaku, aby sprawdzić, <string> czy jest to cudzysłów otwierający. Jeśli pierwszy znak jest znakiem cudzysłowu otwierającego, jest on usuwany wraz z cudzysłowem zamykającym.
Rozszerzenia poleceń dla określonego procesu można wyłączyć przy użyciu polecenia /e:off.
Uzupełnianie nazw plików i katalogów nie jest domyślnie włączone. Jeśli uzupełnianie nazw plików i katalogów zostanie włączone za pomocą /f:on, należy użyć CTRL+D do uzupełniania nazw katalogów i CTRL+F do uzupełniania nazw plików. Jedyna różnica między kombinacjami CTRL+D i CTRL+F polega na tym, że CTRL+D pasuje tylko do nazw katalogów, a CTRL+F pasuje do nazw plików i katalogów. Naciśnięcie CTRL+D lub CTRL+F powoduje przetworzenie nazwy pliku i katalogu. Te funkcje kombinacji dołączają symbol wieloznaczny do <string> elementu, jeśli nie istnieje, skompiluj listę pasujących ścieżek, a następnie wyświetl pierwszą pasującą ścieżkę.
Środowisko cmd powłoki poleceń jest definiowane przez zmienne, które określają zachowanie powłoki poleceń i systemu operacyjnego.
Zachowanie środowiska powłoki poleceń lub całego środowiska systemu operacyjnego można zdefiniować przy użyciu dwóch typów zmiennych środowiskowych, systemu i środowiska lokalnego.
Zmienne środowiskowe systemu definiują zachowanie globalnego środowiska systemu operacyjnego. Tylko użytkownicy z uprawnieniami administracyjnymi mogą zmieniać zmienne systemowe. Te zmienne są najczęściej używane w skryptach logowania.
Lokalne zmienne środowiskowe są dostępne tylko wtedy, gdy użytkownik, dla którego zostały utworzone, jest zalogowany na komputerze.
W powłoce poleceń każde wystąpienie cmd dziedziczy środowisko aplikacji nadrzędnej.
Większość znaków można używać jako wartości zmiennych, w tym białych znaków.
Jeśli używasz znaków <specjalnych , >, , |, & lub ^, musisz poprzedzić je znakiem ^ ucieczki lub podwójnymi cudzysłowami. Jeśli używasz podwójnych cudzysłowów, są one dołączane jako część wartości, ponieważ wszystko, co następuje po znaku równości, jest traktowane jako wartość.
W nazwach zmiennych nie jest uwzględniana wielkość liter. set Wyświetla jednak zmienną dokładnie tak, jak została wpisana.
Aby zastąpić wartości zmiennych w wierszu polecenia lub skryptach, należy ująć nazwę zmiennej w znaki procentowe (%VariableName%). Dzięki temu można cmd odwoływać się do wartości zmiennej zamiast traktować ją jako tekst literału. Po uruchomieniu cmd skryptu zamienia wystąpienia zmiennej na jego wartość. Na przykład użycie %USERNAME% w skrypcie automatycznie zastępuje rzeczywistą nazwę użytkownika.
Oto standardowa procedura:
Jeżeli uważasz, że odpowiedź jest pomocna, oznacz ją jako odpowiedź. Użytkownik otrzymuje sugestię uruchomienia programów z poziomu PowerShell oraz rekomendacje dotyczące zabezpieczeń, w tym korzystania z Windows Defender oraz skanowania z użyciem Malwarebytes i ADWcleaner.
To wszystko ma znaczenie, bo jeśli uruchamiasz program, który „odpala się w wierszu poleceń po ułamku sekundy okienko znika”, bardzo możliwe jest, że za konsolą stoi konkretny wpis lub skrypt uruchamiający dodatkowy proces.
Uruchom z poziomu PowerShell'a. Dzięki temu możesz potwierdzić, czy zachowanie zależy od sposobu uruchomienia.
Spróbuj najpierw wyłączyć wszystko co się da przy starcie systemu , antywirus też i zobacz czy się pokaże .
Jeżeli wdrożenie tych kroków nie przynosi efektu, kluczowe jest nadal: Lokalizacja pliku (C:\Windows\System32\cmd.exe), Harmonogram zadań, oraz wieloetapowy skan (Malwarebytes, AdwCleaner, ESET Online Scanner) - czyli dokładnie te elementy, które w pierwszej kolejności odpowiadają za pojawianie się i znikanie konsoli.
Ustaw wartość REG_DWORD na 0x1 (włączone) lub 0x0 (wyłączone) w rejestrze przy użyciu polecenia Regedit.exe.
Nieprawidłowa edycja rejestru może poskutkować poważnym uszkodzeniem systemu.
Uzupełnianie nazw plików i katalogów nie jest domyślnie włączone.
Co 30-60 minut (tak na oko), otwiera mi się konsola CMD, po czym wykonywane są jakieś wiersze, no i jak to konsola od razu się zamyka po wykonaniu.
Jeśli pojawia się w regularnych odstępach czasu, bardzo często oznacza to zadanie cykliczne w Harmonogramie zadań albo skrypt uruchamiany przez autostart i późniejsze warunki.
Windows Defender po ściągnięciu tego pliku wyszukał mi 2 Trojan32 oraz 1 HackTool (czy coś w ten deseń). Automatycznie usunąłem plik z systemu. Zrobiłem skanowane Malwarebyte oraz Kasperskim Internet Security (KVRT), pierwszy z nich znalazł HackToola mimo jego usunięcia wcześniej - usunąłem go przez program. KVRT również znalazł jedną rzecz (również chyba związane z HackToolem).
W takich sytuacjach samo „usunięcie pliku” bywa niewystarczające, jeśli pozostaje wpis uruchamiający (autostart/harmonogram/rejestr). Dlatego procedura serwisowa obejmuje diagnostykę, pełny skan wielonarzędziowy, czyszczenie i naprawę ścieżek systemowych oraz konfigurację zabezpieczeń.

Jedyne jego aktualizacje dostarczają drobnych poprawek i łatek. Taki stan rzeczy wyjaśnia Rich Turner.
Jego zadaniem jest zachowanie kompatybilności wstecznej ze przedpotowymi i niezmiennymi skryptami. Tyle. Kropka. Nie powinien być używany do zadań powłoki interaktywnej. Przyszłością jest PowerShell.
Taka deklaracja rzecz jasna nie powinna dziwić - stanowi raczej oczywiste uzasadnienie stanu, w którym rozwój PowerShella przebiega niezwykle dynamicznie, a cmd.exe w zasadzie wcale nie przebiega.
Nic więc dziwnego, że być może nikt tak już dobrze nie wie, jak tak naprawdę działa ten system operacyjny.
Pojawiająca konsola CMD jest irytująca, minimalizuje mi gdy na przykład gram ze znajomymi w gry lub gdy po prostu coś robię na komputerze.
Jeśli takie zachowanie pojawia się przy konkretnych czynnościach (gra, przeglądarka, otwieranie folderu), to wtedy szczególnie istotne są: autostart, harmonogram zadań oraz to, czy cmd.exe uruchamia podejrzane rzeczy (np. skrypty .bat, .vbs, .js, .ps1).
Jeśli Ty też się z tym spotkałeś - nie ignoruj tego. Cześć, jak chcesz odpalic skrypt w cmd w ktorym po odpaleniu powinno sie jeszcze cos zrobic w cmd to okienko odrazu znika.
Dokładnie zbadaj każdy produkt reklamowany na stronie, zanim zdecydujesz się go pobrać i zainstalować.
Mam nadzieję, że to pomoże. Nie czekaj, działaj.
About the author