Diagnozowanie i usuwanie złośliwego oprogramowania z serwera przy użyciu SSH

Diagnozowanie i wyszukiwanie wirusów, tylnych furtek oraz złośliwych skryptów na serwerze to zadania, które mogą wydawać się złożone i onieśmielające, szczególnie dla osób nieposiadających specjalistycznych narzędzi i głębokiej wiedzy technicznej. Niniejszy artykuł został stworzony, aby pomóc Ci zrozumieć podstawowe kroki, które możesz podjąć w celu sprawdzenia swojego serwera. Pamiętaj, że poniższe informacje są przeznaczone dla doświadczonych użytkowników, a nieprawidłowe ich wykorzystanie może prowadzić do niezamierzonych konsekwencji. Nie ponoszę odpowiedzialności za ewentualne szkody wynikające z błędnego wykorzystania tego poradnika.

Wszystkie z poniższych komend wykonujemy za pomocą ssh. Są to komendy wyszukujące podejrzane pliki, natomiast ich weryfikacją i ewentualnym usunięciem powinien zająć się specjalista. Jeśli jednak postanowisz je usunąć, a nie masz pewności czy ten plik nie jest Ci potrzebny to pamiętaj o wykonaniu kopii zapasowej.

Wyszukiwanie proponuję rozpocząć w danym katalogu używając komendy:

cd sciezka_do_katalogu

1. Wyszukiwanie podejrzanych plików PHP

Zacznijmy od identyfikacji plików PHP, które mogą zawierać słowa kluczowe typowe dla złośliwego oprogramowania, takie jak base64_decode, shell_exec, exec, system, eval. Te funkcje są często wykorzystywane przez atakujących do wykonania szkodliwego kodu na serwerze. Aby to zrobić, użyj poniższego polecenia:

grep -Rn --include=*.php 'base64_decode\|shell_exec\|exec\|system\|eval' .

2. Wyszukiwanie plików z podejrzanymi nazwami

Następnie, zwróć uwagę na pliki o dziwnych lub generowanych losowo nazwach, które mogą ukrywać złośliwe skrypty. Wykonaj polecenie:

find . -name '*.php' -print | grep -E "([a-z0-9]{32}|[a-z0-9]{64})\.php"

3. Wyszukiwanie plików zmodyfikowanych niedawno

Pliki zmodyfikowane w ostatnich dniach mogą wskazywać na niedawny atak. Aby je znaleźć, użyj:

find . -name '*.php' -mtime -5

4. Wyszukiwanie plików z wykonywalnym kodem w nieoczekiwanych miejscach

Obecność plików wykonywalnych w miejscach przeznaczonych do przechowywania danych może być podejrzana. Sprawdź to, korzystając z:

find . -name '*.php'

5. Sprawdzanie otwartych połączeń i nasłuchujących portów

Nieautoryzowane połączenia i otwarte porty mogą wskazywać na kompromitację serwera. Aby je zidentyfikować, użyj:

netstat -tuln

6. Sprawdzanie obecnych procesów

Analiza uruchomionych procesów pomoże Ci wykryć nieoczekiwane lub nieznane usługi, które mogą być częścią złośliwego oprogramowania:

ps aux

7. Monitorowanie logów

Wreszcie, regularne przeglądanie logów serwera może ujawnić nieoczekiwane błędy lub aktywność, sugerującą naruszenie bezpieczeństwa:

tail -f /var/log/syslog
tail -f /var/log/apache2/error.log

Ważne uwagi:

  • Zastąp . rzeczywistą ścieżką do folderu,  jeśli chcesz przeskanować inny folder względem obecnego w którym obecnie się znajdujesz.
  • Pamiętaj, że to są tylko podstawowe narzędzia do diagnozy. Złośliwe oprogramowanie często maskuje swoją obecność i może wymagać bardziej zaawansowanej analizy.
  • Regularnie aktualizuj oprogramowanie, system operacyjny i skrypty, aby zmniejszyć ryzyko ataków.
  • Rozważ użycie profesjonalnych narzędzi bezpieczeństwa i regularnych audytów bezpieczeństwa.
  • Jeśli nie jesteś pewien co do znalezionego pliku, skonsultuj się z profesjonalistą ds. bezpieczeństwa IT.

Jeśli mimo wszystko napotkasz trudności lub wolisz, aby doświadczony zespół zajął się diagnozowaniem i usuwaniem potencjalnych zagrożeń z Twojego serwera, nie wahaj się się z nami skontaktować. Nasza ekipa jest wyposażona w narzędzia i wiedzę niezbędną do szybkiego i skutecznego rozwiązania problemu z złośliwym oprogramowaniem, zapewniając, że Twój serwer pozostanie bezpieczny i niezagrożony.

Scroll to Top