Magento po włamaniu: analiza i czyszczenie sklepu po ataku StyleSmuggler
Branża: E-commerce / sklep internetowy
Sytuacja
Sklep Magento został wcześniej zaatakowany w ramach incydentu noszącego ślady kampanii StyleSmuggler. Poprawka bezpieczeństwa była już wdrożona, ale analiza pokazała, że samo załatanie podatności nie rozwiązywało problemu: pierwsze ślady infekcji pojawiły się jeszcze przed zastosowaniem hotfixa.
W takich sytuacjach największym błędem jest założenie, że po usunięciu kilku podejrzanych plików sklep jest już czysty.
Tutaj problem sięgał znacznie głębiej. Trzeba było ustalić, co rzeczywiście zostało zmienione, czy atakujący pozostawił sobie możliwość powrotu i czy można jeszcze ufać dostępowi do serwera, sklepu oraz usług z nim połączonych.
Problem: zainfekowany sklep Magento to nie tylko złośliwe pliki
Pierwszy szerszy przegląd pokazał setki plików wymagających sprawdzenia, a kilkadziesiąt z nich zostało później zakwalifikowanych jako jednoznacznie złośliwe.
Ale liczba plików nie była tutaj największym problemem.
Atak nie ograniczał się do samego Magento. Na serwerze znajdowały się również mechanizmy pozwalające utrzymać dostęp do systemu i ponownie uruchamiać niepożądane elementy. Oznaczało to, że zwykłe przeskanowanie katalogu sklepu i skasowanie znalezionych plików mogłoby dać tylko chwilowe poczucie bezpieczeństwa.
Dodatkowym utrudnieniem było to, że na serwerze działało sporo własnych rozszerzeń i integracji. Nie każdy nietypowy plik był wirusem, a automatyczne kasowanie wszystkiego, co wygląda podejrzanie, mogłoby po prostu uszkodzić sklep.
Dlatego najważniejsze było nie samo "czyszczenie", ale prawidłowa kolejność działań.
Co zrobiłem: usuwanie malware z Magento krok po kroku
Zacząłem od zatrzymania normalnej pracy sklepu i zebrania informacji o stanie serwera. Zanim cokolwiek usuwałem, podejrzane elementy były zabezpieczane do późniejszej analizy. Dzięki temu można było działać bez niszczenia śladów i jednocześnie porównywać kolejne wyniki kontroli.
Następnie krok po kroku sprawdzałem nie tylko pliki Magento, ale również miejsca, przez które infekcja mogła się utrzymywać lub wracać. Istotne było odróżnianie faktycznych śladów ataku od normalnych procesów systemu. Dokumentacja z prac wprost zakładała, że pojedynczy nietypowy proces czy plik nie może być automatycznie uznany za malware bez sprawdzenia jego kontekstu.
Dopiero po takim rozpoznaniu rozpoczęło się właściwe odcinanie kolejnych elementów infekcji.
- Zabezpieczyłem znalezione artefakty przed ich neutralizacją, zamiast bezpowrotnie kasować wszystko przy pierwszym podejściu.
- Usunąłem znane mechanizmy, które pozwalały infekcji utrzymywać się poza samym katalogiem Magento.
- Przeprowadziłem ponowną kontrolę sklepu, jego modułów, konfiguracji i miejsc, w których najczęściej ukrywają się podobne modyfikacje.
- Oddzielnie weryfikowałem własne moduły i integracje klienta, żeby nie pomylić legalnego kodu z pozostałościami włamania.
- Sprawdziłem również zabezpieczenia ograniczające możliwość uruchamiania podobnych plików bezpośrednio przez stronę.
- Po oczyszczeniu serwera wykonałem kolejną rundę kontroli, żeby upewnić się, że wcześniej znalezione mechanizmy nie pojawiają się ponownie.
Po zakończeniu czyszczenia przyszedł etap, którego przy takim incydencie nie można pominąć: wymiana dostępów.
Zmieniłem hasła, klucze i dane dostępowe do usług związanych ze sklepem, m.in. dostępu administracyjnego do serwera, bazy danych, Magento, systemu backupów oraz wykorzystywanych przez sklep integracji zewnętrznych. Taka rotacja musi być wykonywana dopiero po opanowaniu infekcji, ponieważ wcześniejsze wprowadzenie nowych haseł mogłoby spowodować ich ponowne przejęcie. Sama dokumentacja incydentu przewidywała właśnie taką kolejność: najpierw usunięcie mechanizmów utrzymujących dostęp, później wymiana poświadczeń i ponowna weryfikacja.
Na końcu ponownie sprawdziłem zarówno system, jak i sam sklep przed przywróceniem normalnego ruchu.
Całość (od analizy incydentu, przez zabezpieczenie śladów i czyszczenie, aż po zmianę wszystkich haseł i dostępów do usług sklepu) zajęła mi blisko 8 godzin.
Efekt
Po zakończeniu prac znane elementy infekcji zostały zneutralizowane, a ponowne kontrole Magento nie wykazały aktywnych znanych webshelli ani mechanizmów utrzymujących infekcję w sprawdzanych obszarach.
Najważniejszym efektem nie było jednak samo usunięcie kilkudziesięciu plików.
Sklep przeszedł cały proces od "wiemy, że został zaatakowany" do "wiemy, czego szukaliśmy, co znaleźliśmy, co usunęliśmy, co sprawdziliśmy ponownie i które dostępy zostały wymienione".
To istotna różnica, bo przy infekcji sklepu internetowego samo usunięcie widocznych objawów nie oznacza jeszcze rozwiązania problemu.
Przy tak głębokim dostępie do serwera uczciwie trzeba też powiedzieć, że oczyszczenie istniejącego systemu nigdy nie daje dokładnie takiej samej gwarancji jak postawienie całego środowiska od zera. W tym przypadku celem było bezpieczne odzyskanie istniejącej instalacji: z zachowaniem dowodów, wielokrotną weryfikacją i wymianą dostępów, zamiast szybkiego "przeskanowania antywirusem" i ponownego uruchomienia sklepu.
Masz podobny problem z Magento po włamaniu lub podejrzewasz, że samo usunięcie zainfekowanych plików nie wystarczy? Odpowiem w ciągu 24 godzin.
Opisz problemMasz podobny problem?
Opisz z czym się mierzysz - odpowiem w ciągu 24 godzin i powiem szczerze, czy jestem w stanie pomóc. Bez zobowiązań.