Serwis Joomla! zaatakowany - skrypt z treściami porno!

Serwis Joomla! zaatakowany - skrypt z treściami porno!

Masz pewność, że Twój serwis jest bezpieczny? Nie zawsze wiesz od razu, że serwis został zaatakowany!

Spora część ataków na serwisy przeprowadzana jest w taki sposób, aby właściciel nie zorientował się zbyt szybko.

Wyobraź sobie, specjalny skrypt, który umieszcza w treści Twojego serwisu w nagłówku H swoje własne treści, które często nie są widoczne bezpośrednio w serwisie, ponieważ wyświetlane są poza obszarem okna przeglądarki. Treści te są oczywiście indeksowane przez wyszukiwarki (Google) i po jakimś czasie okazuje się, że promujesz treści pornograficzne ;-)

 Wyniki wyszukiwania zainfekowanego serwisu

Nieciekawie prawda? Zwłaszcza, kiedy zależy Ci na Twoim dobrym imieniu!

Bez względu na to, jak Twój system jest zabezpieczony i jak często skanujesz pliki programem antywirusowym, nigdy nie będzie 100% gwarancji, że jest on bezpieczny! Dlaczego? Ponieważ nie ma czegoś takiego jak całkowicie bezpieczny system informatyczny, w tym serwis WWW!

Obecne serwisy, to bardzo często niesamowicie zaawansowane i rozbudowane aplikacje webowe. Nie jest możliwe, aby przewidzieć wszystkie możliwe niebezpieczeństwa! Nowe luki pojawiają się co dziennie. Aby je wyeliminować, twórcy systemów,  przygotowują co pewien czas aktualizacje zawierające poprawki. Instalacja aktualizacji zawierających poprawki bezpieczeństwa jest podstawową czynnością, jaką należy wykonywać regularnie, aby zmniejszyć podatność serwisu na ataki.

OK, dbasz o aktualizacje samego CMS-a, jak i zainstalowanych rozszerzeń. Wykonujesz regularnie kopie zapasowe serwisu, nawet masz zainstalowane dodatkowe rozszerzenie, które monitoruje kwestie bezpieczeństwa w serwisu. I co? I nadal Twój serwis nie jest w 100% bezpieczny! Pocieszające prawda?

Ostatnio kilka dni zajęło mi znalezienie źródła skryptu, który powodował sytuację opisaną we wstępie tego artykułu. Co mi z tego, że mam kopie zapasowe sięgające aż dwa lata wstecz, skoro nie mam pojęcia, kiedy serwis został zaatakowany?

Przywracam kilka losowo wybranych kopii wstecz i okazuje się, że zawierają nadal ten skrypt!

Na problem nawet nie zwróciłbym uwagi, gdyby nie fakt, że po kliknięciu przycisku Czytaj więcej w artykułach na samym początku zaczęły pojawiać się dziwne wpisy:

Treść pokazująca się po kliknięciu przycisku: Czytaj więcej

Pierwsze podejrzenie padło na edytor i któregoś z autorów. Sądziłem, że albo pliki edytora są zainfekowane, albo komputer któregoś autora jest zainfekowany i przez to w jakiś sposób zainfekowana została witryna! Wywaliłem wszystkie pliki edytora (JCE), zablokowałem dostęp do serwisu wszystkim autorom i nic! Nadal skrypt robił swoje :-(

Acha, zapomniałem napisać, jak sprawdzić, czy przypadkiem Twój serwis nie został w ten sposób zainfekowany!

Otóż wystarczy, że wyświetlisz źródło (kod html) swojego serwisu i sprawdzisz za pomocą opcji Znajdź, czy występuje w nim chociażby słowo: sex. Jeżeli zobaczysz jakąś dziwną treść, która jest widoczna dopiero po sporym przesunięciu suwaka poziomego, to jest niemal pewne, że coś jest nie tak.

Koniecznie zdefiniuj w opcjach programu, za pomocą którego wyświetlasz kod, aby zawijał długie wiersze (np. menu Widok -> Zawijaj długie wiersze).

Dopiero teraz zauważysz, że zaraz przed znacznikiem zamykającym </head> znajduje się kod definiujący klasę o losowo wygenerowanej nazwie:

Kod o losowo wygenerowanej klasie

Zwróć uwagę, jak sporo spacji zostało użytych, aby ukryć ten kod. Nie byłby on widoczny, gdyby wyłączona była opcja zawijania wierszy ;-)

Po przewinięciu dalej zobaczysz w którymś z nagłówków H niepożądaną treść, także ukrytą za pomocą spacji:

Umieszczone w nahłówku H nieporządane treści

Znalezienie skryptu odpowiedzialnego za takie działanie nie było łatwe z uwagi na fakt, że nic nie da wpisanie w wyszukiwarkę nazwy klasy (np: .mqkjxxbrrlpzboh) w celu znalezienia odpowiedniej porady! Niewiele dało wpisanie fragmentu treści zawartych w nagłówku. Jedynie co wyszukiwarka zwracała, to witryny podobnie zainfekowane :-(

Po mozolnych dwudniowych poszukiwaniach, skanowaniu plików różnymi skanerami, nadpisywaniu plików, folderów i konsultacjach z zaprzyjaźnionymi Joomlaholikami (dzięki Andrzej za sugestię) udało mi się dotrzeć do źródła problemu!

Folder zawierający szkodliwy skrypt

Okazało się, że w systemie zainstalowany jest dodatek o nazwie xcalendar:

Dodatek xcalendar powodujący działanie szkodliwych skryptów

Jego wyłączenie powoduje, że niepożądane treści nie są już wświetlane, jednak próba odinstalowania go kończy się niepowodzeniem:

Próba odinstalowania dodatku xcalendar

Co należy zrobić?

Krok 1

Wykonaj kompletną kopię zapasową serwisu, aby możliwe było przywrócenie go, kiedy coś zrobisz nie tak ;-)

Krok 2

Usuń folder xcalendar znajdujący się w lokalizacji: /plugins/system

Folder zawierający szkodliwy skrypt

Krok 3

Usuń w bazie danych z tabeli _extensions wiersz zawierający wpis: xcalendar

Usunięcie wiersza w tabeli _extensions
To wszystko! Niby niewiele trzeba zrobić, ale znalezienie rozwiązania kosztowało mnie prawie 3 dni :-(

Mam nadzieję, ze Tobie pomoże i nie będziesz musiał tracić czasu na poszukiwania ;-)

 

Chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?

Jak stworzyć szablon nie dotykając kodu? EF4 cz.1
Kolejne poprawki bezpieczeństwa Joomla! 2.5.27 i 3...

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/

    Najnowsze komentarze

    Gość - Studio Jak wybrać hosting dla Joomla!?
    13 wrzesień 2019
    Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
    Gość - Marek Szyfrowanie symetryczne a niesymetryczne
    09 czerwiec 2019
    "Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
    Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
    10 maj 2019
    Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
    Gość - Andy SSL i Joomla! w Smarthost
    03 styczeń 2019
    Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
    Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
    02 styczeń 2019
    Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...