
Wprowadzenie do problemu / definicja
Sektor e-commerce od lat pozostaje atrakcyjnym celem dla cyberprzestępców, a jednym z najgroźniejszych scenariuszy są kampanie, w których złośliwy kod utrzymuje się w sklepie przez długi czas. Opisany incydent dotyczy 953 sklepów internetowych, głównie opartych na Magento, w których osadzono niewielki loader JavaScript służący do uruchamiania dalszego łańcucha infekcji.
Tego rodzaju operacje są szczególnie niebezpieczne, ponieważ nie zawsze ujawniają się podczas standardowej analizy witryny. Atakujący mogą selektywnie aktywować właściwy payload tylko wobec rzeczywistych użytkowników, ograniczając widoczność incydentu i utrudniając jego wykrycie.
W skrócie
- Badacze zidentyfikowali 953 sklepy internetowe zainfekowane w ramach długotrwałej kampanii malware.
- Ataki trwały od lipca 2025 roku i obejmowały kilka domen wykorzystywanych do hostowania loadera JavaScript.
- W październiku 2026 roku operatorzy przenieśli część aktywności na nową domenę odpowiadającą wyłącznie na żądania pochodzące z przeglądarek realnych użytkowników.
- Część incydentów powiązano z wykorzystaniem podatności PolyShell oraz SessionReaper.
- Infekcje wykryto także w środowiskach formalnie załatanych, co sugeruje wcześniejszą kompromitację i pozostawione mechanizmy trwałości.
Kontekst / historia
Ataki na sklepy internetowe od dawna koncentrują się na kradzieży danych płatniczych, przejmowaniu sesji klientów i osadzaniu skryptów typu Magecart. W tym przypadku przestępcy zastosowali wieloetapowy model działania: najpierw uzyskiwali dostęp do środowiska, następnie dodawali dyskretny fragment kodu, a dopiero później dostarczali końcowy ładunek wybranym ofiarom.
Skala kampanii wskazuje na dobrze zorganizowaną operację utrzymywaną przez wiele miesięcy. W marcu szczególnie szeroko wykorzystywano podatność PolyShell, za pośrednictwem której loader osadzono w 471 sklepach Magento. Dodatkowo zidentyfikowano ponad sto sklepów, do których wcześniej przesłano pliki z użyciem luk PolyShell lub SessionReaper. Taki obraz sugeruje, że operatorzy łączyli różne wektory ataku z utrzymywaniem dostępu oraz ponowną infekcją środowisk.
Analiza techniczna
Centralnym elementem kampanii był niewielki loader JavaScript umieszczany w kodzie sklepów. Jego rola polegała na pobraniu dalszego komponentu z infrastruktury atakujących albo na całkowitym wstrzymaniu aktywności, jeśli warunki środowiskowe nie spełniały zdefiniowanych kryteriów.
Kluczowym mechanizmem było fingerprintingowanie odwiedzających. Loader analizował środowisko, aby odróżnić prawdziwych klientów od badaczy bezpieczeństwa, automatycznych skanerów i narzędzi analitycznych. Dzięki temu końcowy payload był serwowany wyłącznie wybranym użytkownikom, co znacząco utrudniało odtworzenie pełnego przebiegu ataku.
W październiku 2026 roku przestępcy zaczęli korzystać z nowej domeny loadera, ukrytej za usługą pośredniczącą i skonfigurowanej tak, aby odpowiadała jedynie na żądania wykonywane z kontekstu przeglądarki odwiedzającego zainfekowany sklep. Nowy wariant wykryto w 83 sklepach, z czego 60 było już wcześniej objętych starszymi odsłonami tej samej kampanii. To wskazuje na kontynuację działań, a nie na odrębny incydent.
Istotnym wnioskiem jest to, że sama aktualizacja platformy nie zawsze rozwiązuje problem. Jeśli środowisko zostało wcześniej przejęte, napastnicy mogli pozostawić backdoory, złośliwe konta administracyjne, webshelle lub inne mechanizmy trwałości. W jednym z opisanych przypadków wykryto właśnie takie artefakty mimo działania sklepu na aktualnej wersji systemu.
Konsekwencje / ryzyko
Ryzyko dla operatorów sklepów internetowych ma charakter wielowarstwowy. Zagrożeni są zarówno klienci odwiedzający witrynę, jak i sama organizacja, która może ponieść straty finansowe, wizerunkowe i regulacyjne.
- kradzież danych kart płatniczych i danych osobowych,
- przejęcie kont klientów i sesji użytkowników,
- podmiana skryptów płatności lub treści sklepu,
- utrata reputacji marki i spadek zaufania klientów,
- koszty obsługi incydentu, audytów i notyfikacji,
- ryzyko ponownej kompromitacji z powodu pozostawionych mechanizmów trwałości.
Dodatkowym problemem jest ograniczona widoczność ataku. Jeśli złośliwy komponent aktywuje się tylko wobec wybranych ofiar, sklep może przez długi czas nie zdawać sobie sprawy, że uczestniczy w aktywnej kampanii malware. To wydłuża czas obecności napastnika w środowisku i zwiększa skalę możliwych szkód.
Rekomendacje
Organizacje prowadzące sklepy internetowe powinny traktować podobne incydenty jako potencjalną pełną kompromitację środowiska, a nie wyłącznie pojedyncze wstrzyknięcie skryptu. Skuteczna reakcja wymaga równoczesnej analizy warstwy aplikacyjnej, kont administracyjnych i hosta.
- przeprowadzić pełny przegląd kodu sklepu pod kątem nieautoryzowanych wstrzyknięć JavaScript, zmian w szablonach, modułach i plikach statycznych,
- zweryfikować wszystkie konta administracyjne, integracyjne i serwisowe oraz usunąć konta nieznane lub nieużywane,
- sprawdzić system pod kątem backdoorów, webshelli, podejrzanych zadań harmonogramu i nietypowych procesów,
- natychmiast załatać znane podatności w rdzeniu platformy, rozszerzeniach i komponentach serwerowych,
- przeprowadzić rotację haseł, kluczy API, sekretów aplikacyjnych i poświadczeń administracyjnych,
- wdrożyć monitoring CSP, kontrolę integralności plików i detekcję zmian w zasobach frontendowych,
- przeanalizować logi HTTP, logi administracyjne oraz dane z WAF i EDR w celu ustalenia pierwotnego wektora wejścia,
- ograniczyć uprawnienia i zastosować segmentację środowiska,
- regularnie testować bezpieczeństwo aplikacji e-commerce pod kątem skimmerów webowych i złośliwych skryptów po stronie klienta,
- przyjąć założenie, że usunięcie loadera nie kończy incydentu bez pełnej analizy trwałości atakującego.
Podsumowanie
Przypadek 953 zainfekowanych sklepów internetowych pokazuje, że współczesne kampanie przeciwko e-commerce są długotrwałe, selektywne i technicznie zaawansowane. Niewielki loader JavaScript może być jedynie najbardziej widocznym objawem głębszej kompromitacji obejmującej konta uprzywilejowane, zaplecze administracyjne i infrastrukturę serwerową.
Dla zespołów bezpieczeństwa najważniejszy wniosek jest jednoznaczny: aktualizacje pozostają konieczne, ale same w sobie nie gwarantują bezpieczeństwa. Kluczowe jest wykrywanie mechanizmów trwałości, monitorowanie zmian w warstwie frontendowej oraz systematyczna kontrola integralności całego środowiska e-commerce.
Źródła
- https://www.securityweek.com/953-online-stores-infected-in-long-lasting-malware-campaign/
- https://sansec.io/