Wtyczki nulled to kopie płatnych wtyczek WordPress, z których usunięto weryfikację licencji, dzięki czemu działają bez zakupionego klucza, rozprowadzane za darmo lub za kilka euro na zewnętrznych stronach. Ten sam rynek istnieje dla motywów premium. Najpierw część zaskakująca: ich rozpowszechnianie często nie jest nawet nielegalne, bo większość wtyczek WordPress dziedziczy licencję GPL, która wprost zezwala na dalszą dystrybucję. Niebezpieczna jest cała reszta. Kopie nulled są odcięte od oficjalnych aktualizacji, więc każda dziura bezpieczeństwa zostaje otwarta przez całe życie witryny. Gorzej, strony, które je rozprowadzają, mają silną motywację do modyfikowania kodu i badacze bezpieczeństwa znajdują dokładnie to: backdoory, ukrytych administratorów, wstrzykiwanie spamu SEO i narzędzia do kradzieży danych logowania upakowane w pirackich wtyczkach. Złośliwe oprogramowanie WP-VCD, jedna z najszerzej udokumentowanych infekcji WordPressa w historii, rozprzestrzeniało się niemal wyłącznie tą drogą. Wtyczka nulled to w istocie uruchamianie niesprawdzonego kodu z anonimowego źródła z pełnym dostępem do Twojej bazy danych, Twoich użytkowników i Twojej reputacji.
Co oznacza określenie nulled?
Termin pochodzi ze sceny warezowej lat dziewięćdziesiątych, gdzie nulled oznaczało oprogramowanie z wyciętym zabezpieczeniem przed kopiowaniem. W odniesieniu do WordPressa: wtyczka premium zwykle łączy się z serwerem producenta i podaje klucz licencyjny, zanim uruchomi aktualizacje i wsparcie. W kopii nulled to sprawdzenie zostało usunięte albo obejściem unieszkodliwione, więc wtyczka zachowuje się tak, jakby była w pełni licencjonowana. Dystrybucja odbywa się przez wyspecjalizowane portale z plikami, fora i marketplace'y oferujące tysiące wtyczek i motywów premium za darmo albo w formie taniego abonamentu bez limitów.
Warto rozdzielić dwie rzeczy, które często się zlewają. Są tak zwane kluby GPL, które odsprzedają niezmodyfikowane kopie wtyczek na licencji GPL, co jest obszarem od szarego po biały i przyjrzymy się mu niżej. I są dystrybutorzy nulled, których kopie zostały zmienione, i tam właśnie mieszka koszmar bezpieczeństwa. Z zewnątrz oba wyglądają identycznie i dokładnie na tym polega problem: nie masz jak sprawdzić, co zmieniono.
Czy wtyczki nulled są legalne? Uczciwa odpowiedź na pytanie o GPL
WordPress jest objęty licencją GNU General Public License, a oficjalne stanowisko projektu mówi, że wtyczki i motywy jako utwory zależne ją dziedziczą. GPL daje każdemu odbiorcy prawo do używania, modyfikowania i dalszego rozpowszechniania kodu, również komercyjnie. Oznacza to, że czystą kopię kodu większości wtyczek premium może legalnie rozpowszechniać każdy, kto ją otrzymał. To nie jest luka, to wyraźna intencja tej licencji i właśnie dlatego producenci sprzedają klucze licencyjne uprawniające do aktualizacji i wsparcia, a nie sam kod.
Są granice. GPL nie obejmuje znaków towarowych, więc portale używające nazwy marki i logo wtyczki do sprzedaży kopii stoją na znacznie cieńszym lodzie. Dołączone zasoby, takie jak grafiki, fonty czy biblioteki zewnętrzne, mogą mieć inne licencje. W części produktów kod jest licencjonowany podwójnie, z PHP na GPL i JavaScriptem albo CSS na licencji własnościowej. Uczciwe podsumowanie pozostaje jednak takie: niebezpieczeństwo wtyczek nulled nigdy nie leżało głównie w prawie. Jest techniczne i zaczyna się w chwili, gdy ktoś o nieznanych motywach edytuje kod, zanim go pobierzesz.
Dlaczego wtyczki nulled są niebezpieczne: brak aktualizacji na zawsze
Nawet wtyczka nulled, przy której nikt nie majstrował, ma wbudowaną datę ważności. Bez klucza licencyjnego nie porozmawia z serwerem aktualizacji producenta, więc po cichu zostaje na wersji, którą pobrałeś. W ekosystemie, w którym według Patchstack co roku publikowane są tysiące nowych podatności we wtyczkach, jest to incydent w zwolnionym tempie. Gdy dla wtyczki wychodzi wydanie bezpieczeństwa, każda legalna instalacja się aktualizuje, a każda instalacja nulled pozostaje podatna. Atakujący o tym wiedzą i celowo skanują sieć w poszukiwaniu starych wersji popularnych wtyczek premium, bo takie instalacje są nieproporcjonalnie często nulled i nieproporcjonalnie często niezałatane.
Problem z aktualizacjami po cichu się kumuluje: witryna z jedną wtyczką nulled zwykle ma ich kilka, wszystkie zamrożone w dniu pobrania i wszystkie zbierające znane CVE. Po roku czy dwóch taka witryna nie jest utwardzonym celem wymagającym zero-daya. Jest wejściem z ulicy.
Jakie złośliwe oprogramowanie kryje się we wtyczkach nulled?
Firmy zajmujące się bezpieczeństwem regularnie rozbierają zainfekowane pirackie wtyczki, a ładunki układają się w znajome wzorce:
- Backdoory. Kilka linii zaciemnionego PHP, które pozwalają atakującemu wykonać dowolny kod później, długo po tym, jak wtyczka wygląda już niewinnie. Usunięcie wtyczki często nie usuwa backdoora, bo ten zdążył się już skopiować gdzie indziej.
- Ukryte konta administratora. Kod, który po cichu tworzy administratora albo na żądanie resetuje dane logowania, dając pełny dostęp do panelu.
- Wstrzykiwanie spamu SEO. Linki do stron hazardowych, farmaceutycznych albo pisania prac wstrzykiwane w Twoje podstrony, często pokazywane wyłącznie robotom wyszukiwarek, więc właściciel nigdy ich nie widzi. Rachunek płacą Twoje pozycje w wynikach.
- Złośliwe przekierowania. Odwiedzający lądują na stronach oszukańczych albo z malware, czasem tylko z urządzeń mobilnych lub z wybranych krajów, żeby opóźnić wykrycie.
- Kradzież danych logowania i kart. Na witrynach WooCommerce wstrzyknięty JavaScript potrafi przechwytywać formularze płatności, a zebrane loginy zasilają kolejną falę ataków.
Przypadkiem wzorcowym jest rodzina złośliwego oprogramowania WP-VCD, którą Wordfence opisał w raporcie o pamiętnym tytule The Malware You Installed On Your Own Site, czyli złośliwe oprogramowanie, które sam zainstalowałeś na swojej witrynie. WP-VCD rozprzestrzeniało się niemal wyłącznie przez wtyczki i motywy nulled, ukrywało backdoora w plikach wyglądających legalnie, infekowało wszystkie pozostałe witryny na tym samym koncie hostingowym i zarabiało na spamie oraz przekierowaniach. W szczycie było jedną z najczęściej spotykanych infekcji WordPressa w ogóle, a każda ofiara zainstalowała je sobie sama.
Jak sprawdzić, czy wtyczka jest nulled albo zainfekowana?
Jeśli przejmujesz witrynę po kimś albo podejrzewasz dawne pójście na skróty, szukaj tych sygnałów:
- Nieznane konta administratora. Przejrzyj każde konto z prawami administratora lub redaktora. Wszystko, czego nie potrafisz przypisać, to czerwona flaga.
- Wtyczki, które nigdy się nie aktualizują. Wtyczka premium, która od roku nie pokazała aktualizacji, choć changelog producenta żyje, jest albo nulled, albo porzucona.
- Spam w wynikach wyszukiwania. Wyszukaj swoją domenę i sprawdź, czy Google pokazuje podstrony albo słowa kluczowe, których nigdy nie napisałeś. Ukrywany spam wychodzi tam na jaw najwcześniej.
- Zmodyfikowane lub dodatkowe pliki. Skaner integralności plików oznaczy pliki PHP różniące się od oryginałów producenta albo leżące w miejscach, do których żadna wtyczka pisać nie powinna, jak wp-content/uploads.
- Zaciemniony kod. Długie ciągi base64, wywołania eval() i nazwy zmiennych w rodzaju $wp_v_cd w plikach wtyczki zasługują na natychmiastową uwagę.
Jeśli potwierdzisz infekcję, sprzątanie oznacza coś więcej niż usunięcie wtyczki, bo backdoory żyją niezależnie. Przywróć czystą kopię zapasową albo przeprowadź pełne czyszczenie ze złośliwego oprogramowania, a potem zmień wszystkie hasła i wszystkie klucze salt w pliku wp-config.php.
Bezpieczne alternatywy dla wtyczek nulled
Niewygodna prawda jest taka, że wtyczki nulled rozwiązują realny problem, czyli budżet, w najgorszy możliwy sposób. Lepsze opcje w kolejności od najlepszej:
- Użyj wersji darmowej. Prawie każda duża wtyczka premium ma funkcjonalny darmowy rdzeń w oficjalnym katalogu, z kodem po przeglądzie i automatycznymi aktualizacjami.
- Wybierz darmową konkurencję. Oficjalny katalog zawiera około 60 000 wtyczek. Dla większości płatnych funkcji istnieje solidna darmowa alternatywa.
- Kup licencję. Roczna licencja większości wtyczek kosztuje mniej niż jedna godzina reagowania na incydent. Ujęte tak, jest to tanie ubezpieczenie ze wsparciem w cenie.
- Jeśli musisz skorzystać z odsprzedawcy GPL, traktuj kod jako niezaufany. Porównaj go z kopią o znanym pochodzeniu przed wdrożeniem. Jeśli nie potrafisz tego zrobić, nie potrafisz też ocenić ryzyka, które podejmujesz.
Jak InspectWP pomaga trzymać wtyczki w ryzach?
InspectWP wykrywa zainstalowane wtyczki i motywy analizowanej witryny WordPress wraz z ich wersjami, oznacza wersje ze znanymi podatnościami i pokazuje, gdy wtyczka została usunięta z oficjalnego katalogu, co często jest pierwszym publicznym sygnałem, że coś jest z nią nie tak. Przestarzałe wtyczki premium, które przez kolejne zaplanowane raporty ani drgną, to dokładnie ten wzorzec, jaki produkuje instalacja nulled, więc powtarzalne raporty czynią ten tryb awarii widocznym zamiast niewidocznym. A jeśli audytowana witryna pokazuje wtyczki zamrożone w czasie i do tego znaleziska spamowe w kontroli SEO, ten artykuł właśnie dał Ci prawdopodobną historię stojącą za jednym i drugim.