# Skanery malware dla stron WWW: co znajdują, a czego nie

> Skanery malware dla stron WWW: co wykrywają skanery zewnętrzne, wtyczkowe i serwerowe, gdzie leżą ich granice i dlaczego „nic” nie znaczy „czysto”.

Źródło: https://phpsos.de/pl/blog/grenzen-von-malware-scannern/  
Stan: 25.10.2026  
Dostawca: PHP SOS, Pomoc awaryjna PHP i bezpieczeństwo serwerów. Natychmiastowa pomoc przez WhatsApp: https://wa.me/491736494914?text=Dzie%C5%84%20dobry%2C%20PHP%20SOS%2C%20potrzebujemy%20pomocy%20z%20naszym%20serwerem%20PHP.%20Firma%3A%20%E2%80%A6%20Strona%20internetowa%3A%20%E2%80%A6

**Krótko:** Skaner malware dla stron WWW znajduje przede wszystkim znane wzorce w plikach lub w dostarczanej stronie. Nowy i zaciemniony kod, tylne furtki w bazie danych, obce konta, zadania cron i klucze SSH często pozostają niewidoczne. „Nic nie znaleziono” nie oznacza więc „czysto”. Kontrola staje się wiarygodna dopiero dzięki połączeniu skanera, porównania z oryginałem, sprawdzenia bazy danych i systemu oraz monitorowania zachowania.

## Zwodniczy spokój po zielonym haczyku

Po PHP2Shell wielu operatorów zrobiło to, co nasuwa się samo: uruchomiło skaner. Usługa online sprawdza stronę główną, wtyczka bezpieczeństwa przeszukuje katalog strony, wynik jest zielony. Wydaje się, że tym samym odpowiedziano na pytanie, czy przed poprawką coś się wydarzyło.

Problem tkwi w zasadzie działania. Większość skanerów porównuje treści ze wzorcami znanego złośliwego oprogramowania. Dla luk CVE-2026-109618 i CVE-2026-109619 nie ma jednak opublikowanych, potwierdzonych wskaźników włamania (Indicators of Compromise); wykrywanie opiera się na analizie zachowania. Skaner nie może szukać śladów, których nikt nie zna. W najlepszym razie znajdzie ogólne złośliwe oprogramowanie doładowane po włamaniu, o ile odpowiada znanym wzorcom.

To nie czyni skanerów bezwartościowymi. Oznacza tylko, że ich wynik trzeba właściwie ocenić. Jakie oznaki liczą się poza skanerami, opisuje artykuł [Czy już zostałem przejęty?](https://phpsos.de/pl/php2shell/bin-ich-gehackt-anzeichen/).

## Skanery malware dla stron WWW: trzy konstrukcje

| Konstrukcja | Co widzi | Czego nie widzi |
|---|---|---|
| Skaner zewnętrzny (usługa online) | dostarczane strony, dołączone skrypty, przekierowania, listy blokad | pliki, baza danych, konta, wszystko, co jest dostarczane tylko pod warunkami |
| Skaner w CMS (wtyczka lub rozszerzenie) | pliki w katalogu strony, częściowo zawartość bazy danych, porównanie z plikami rdzenia | poziom systemu, zadania cron, SSH; działa w potencjalnie przejętym systemie |
| Skaner na serwerze (oparty na sygnaturach) | wszystkie czytelne pliki, także poza katalogiem strony | nieznane i zaciemnione wzorce, baza danych, konta, zachowanie |

Skanery zewnętrzne są przydatne do rozpoznawania widocznych skutków, na przykład przekierowań lub wpisów na listach blokad. Wiele włamań dostarcza jednak treści spamowe lub przekierowujące tylko określonym odwiedzającym, na przykład wyszukiwarkom lub urządzeniom mobilnym. Skaner widzi wtedy czystą stronę.

Skanery w CMS mają większy wgląd, ale zasadniczy problem: działają w tym samym systemie, który mają sprawdzać. Kod z wystarczającymi uprawnieniami może wpływać na ich wyniki, ukrywać pliki lub dezaktywować skaner. Skanery serwerowe działają poza aplikacją, ale nadal są zależne od wzorców.

## Co skanery zasadniczo pomijają

Niezależnie od konstrukcji istnieją obszary, których skaner plików lub stron prawie nie obejmuje:

1. **Nowy lub indywidualnie zaciemniony kod:** każdy wariant wyglądający inaczej niż znane wzorce prześlizguje się.
2. **Baza danych:** skrypty w treściach, zmienione ustawienia, wyzwalacze i obce konta. Więcej w artykule [Sprawdzanie bazy danych pod kątem wstrzykniętego kodu](https://phpsos.de/pl/blog/datenbank-auf-schadcode-pruefen/).
3. **Dostępy:** dodatkowe konta administratorów, klucze SSH, użytkownicy bazy danych, konta w panelu hostingu.
4. **Usługi systemowe i zadania cron:** mechanizmy, które regularnie doładowują złośliwy kod.
5. **Niewidoczne zmiany w legalnych plikach:** jeden dodatkowy wiersz w pliku rdzenia, który wygląda niewinnie.
6. **Wycieknięte dane:** czy skopiowano dane dostępowe lub dane klientów, nie pokaże żaden skaner.

## Co zamiast tego daje pewność

Więcej bezpieczeństwa przynosi połączenie różnych rodzajów kontroli, które działają odmiennie:

- **Porównanie z oryginałem:** wykrywa każdą zmianę w znanych plikach, niezależnie od wzorców. Postępowanie opisuje artykuł [Porównywanie plików rdzenia CMS z oryginałem](https://phpsos.de/pl/blog/cms-kerndateien-vergleichen/).
- **Celowe poszukiwanie nieprawidłowości:** pliki PHP w katalogach uploadu, niedawno zmienione pliki, zaciemniony kod, pliki wykonywalne w katalogach tymczasowych.
- **Kontrola kont i usług systemowych:** porównać użytkowników, klucze, zadania cron i usługi ze znanym stanem właściwym.
- **Analiza logów:** żądania do nieznanych plików, nagromadzenia błędów, nietypowe logowania.
- **Monitorowanie zachowania:** procesy serwera WWW uruchamiające powłokę, nieoczekiwane połączenia wychodzące, nowe pliki w wrażliwych katalogach.

Ostatnia kategoria jest najważniejsza, gdy nie ma znanych śladów. Nie pyta, jak wygląda złośliwy kod, lecz co robi. Proces serwera WWW, który nagle uruchamia powłokę, rzuca się w oczy bez względu na to, jak zaciemniony jest kod, który to wywołał.

> **Wskazówka:**
> Proszę uruchamiać skaner serwerowy z czystego systemu na kopii tylko do odczytu, a nie na samym podejrzanym serwerze. Wtedy wstrzyknięty kod nie może wpłynąć na wynik.

## Jak sensownie używać skanerów

Skanery mają swoje miejsce jako jedno narzędzie spośród kilku. Skaner zewnętrzny nadaje się do regularnej kontroli widocznych skutków, na przykład co tydzień. Skaner w CMS zgłasza na co dzień znane złośliwe oprogramowanie i zmienione pliki rdzenia. Skaner serwerowy uzupełnia poszukiwanie znanych wzorców w całym systemie plików.

Decydujące jest postępowanie z wynikiem. Znalezisko to jasne zadanie do sprawdzenia i uzasadnia pełne badanie, ponieważ rzadko dotknięty jest tylko jeden plik. Pusty wynik jest natomiast wyłącznie stwierdzeniem o sprawdzonych wzorcach. Proszę odnotować w dokumentacji, który skaner uruchomiono i kiedy, w jakim stanie, i nie pisać „system czysty”, lecz „nie znaleziono znanych wzorców”.

Dla zarządu oznacza to: zielony haczyk nie zastępuje kontroli przez kogoś, kto łącznie ocenia pliki, bazę danych, konta i zachowanie. Po incydencie z możliwym wykonaniem kodu, jak w przypadku PHP2Shell jest to wyobrażalne, taka kontrola powinna się odbyć.

Jeśli skaner zgłasza znalezisko, potrzebne jest szybkie, ale uporządkowane działanie. Proszę nie usuwać od razu zgłoszonego pliku funkcją skanera. Najpierw zabezpieczyć plik i logi, aby dało się ustalić, jak trafił na serwer. Jak przebiega pełne oczyszczanie, opisuje usługa [Usuwanie malware i webshelli](https://phpsos.de/pl/leistungen/malware-entfernung/).

## Jak konkretnie pomaga PHP SOS?

- Łączymy skanery z porównaniem z oryginałem, celowym wyszukiwaniem i analizą kont, usług i logów.
- Sprawdzamy podejrzane systemy na zabezpieczonych kopiach, aby wyniki nie były zależne od przejętego systemu.
- Każdy wynik uczciwie oznaczamy jako udokumentowany, prawdopodobny lub nieznany.
- Dzięki [monitoringowi bezpieczeństwa dla serwerów WWW](https://phpsos.de/pl/leistungen/security-monitoring/) stale nadzorujemy zachowanie Państwa serwerów, a nie tylko znane wzorce.


## Częste pytania

**Czy moja strona jest czysta, jeśli skaner malware niczego nie znajduje?**  
Niekoniecznie. Skanery wykrywają przede wszystkim znane wzorce. Nowy lub dobrze zaciemniony kod, tylne furtki w bazie danych, obce konta, zadania cron i klucze SSH często pozostają niewykryte. Pusty wynik jest jednym elementem, a nie uniewinnieniem.

**Jaka jest różnica między skanerem zewnętrznym a skanerem we wtyczce?**  
Skaner zewnętrzny wywołuje stronę z zewnątrz i widzi tylko to, co jest dostarczane. Skaner we wtyczce działa wewnątrz CMS i może czytać pliki, ale działa w tym samym systemie, który może być przejęty. Oba mają własne martwe punkty.

**Czy istnieją sygnatury skanerów dla PHP2Shell?**  
Dla PHP2Shell nie ma opublikowanych, potwierdzonych wskaźników włamania (Indicators of Compromise). Skanery nie mogą więc celowo szukać potwierdzonych śladów PHP2Shell. Wykrywanie opiera się na analizie zachowania i poszukiwaniu ogólnych oznak przejęcia.

**Który skaner jest najlepszy?**  
To pytanie wprowadza w błąd. Ważniejsze od konkretnego produktu jest połączenie różnych rodzajów kontroli: porównanie z oryginałem, przeszukiwanie plików i bazy danych, kontrola kont i usług systemowych oraz monitorowanie zachowania.

## Źródła

- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [BSI (niemiecki Federalny Urząd ds. Bezpieczeństwa w Technice Informatycznej): wskazówki dotyczące incydentów bezpieczeństwa IT](https://www.bsi.bund.de/)
- [php.net: komunikaty bezpieczeństwa](https://www.php.net/)
