A A A

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

 

Komentarze 11

Gość - Ryszard w środa, 08 październik 2014 22:44

Dziękuję. Warto o tym wiedzieć.

Dziękuję. Warto o tym wiedzieć.
Gość - Radek w piątek, 17 październik 2014 19:24

Nie pierwszy raz niemalże wyprzedasz swoim artykułem to co jest mi w danej chwili niezbędne .

Nie pierwszy raz niemalże wyprzedasz swoim artykułem to co jest mi w danej chwili niezbędne :).
Gość - Darsonix w wtorek, 21 październik 2014 08:10

Sławku.
Osobiście używam płatnego rozwiązania RSFirewall. Sam producent nie daje 100% gwarancji - jednak moduł pokazuje zmienione pliki - jeśli po sprawdzeniu stwierdzamy że to to nasza modyfikacja, zatwierdzamy zmiany. Pokazuje też nieautoryzowane próby dostępu do naszego serwisu (adres IP atakującego oraz zasób do którego próbował uzyskać dostęp)

Sławku. Osobiście używam płatnego rozwiązania RSFirewall. Sam producent nie daje 100% gwarancji - jednak moduł pokazuje zmienione pliki - jeśli po sprawdzeniu stwierdzamy że to to nasza modyfikacja, zatwierdzamy zmiany. Pokazuje też nieautoryzowane próby dostępu do naszego serwisu (adres IP atakującego oraz zasób do którego próbował uzyskać dostęp)
Sławomir Pieszczek (website) w sobota, 25 październik 2014 18:30

Darsonix,
Żaden szanujący się developer oprogramowania takiego typu jak RSFirewall nie da 100% gwarancji! Zbyt dużo możliwości, poza tym jak zwykle najsłabsze ogniwo - człowiek, który lekceważąco podchodzi do zarządzania serwisem ;-)

Ja korzystam z Admin Tools, który także ma skaner plików i wiele podobnych funkcji do RS Firewalla. Kwestia przyzwyczajenia i zaufania do producenta! Ja mam tą przyjemność, ze znam Nicolasa, więc wybór jest oczywisty :-)

Pozdrawiam :-)

Darsonix, Żaden szanujący się developer oprogramowania takiego typu jak RSFirewall nie da 100% gwarancji! Zbyt dużo możliwości, poza tym jak zwykle najsłabsze ogniwo - człowiek, który lekceważąco podchodzi do zarządzania serwisem ;-)Ja korzystam z Admin Tools, który także ma skaner plików i wiele podobnych funkcji do RS Firewalla. Kwestia przyzwyczajenia i zaufania do producenta! Ja mam tą przyjemność, ze znam Nicolasa, więc wybór jest oczywisty :-)Pozdrawiam :-)
Gość - Amkomp (website) w wtorek, 21 październik 2014 18:46

Bardzo cenna wiedza. Jak się wie co zrobić to naprawdę 5 minut roboty i po sprawie

Bardzo cenna wiedza. Jak się wie co zrobić to naprawdę 5 minut roboty i po sprawie
Gość
środa, 23 styczeń 2019

Zdjęcie captcha

Najnowsze komentarze

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...
Gość - Joanna Jak utworzyć własny szablon dla Joomla! nie dotykając kodu? EF4 cz.2
09 grudzień 2018
Czy jest jakaś możliwość, żeby zmienić układ top-bar i tej linii, w której jest logo? Tam niby są flexibloki ale nie można zmienić ich szerokości, a tego potrzebuję bardzo. Jak tego dokonać???
Gość - Informatyk Tworzenie bazy danych w CPanelu na Smarthost - instalacja Joomla!
19 listopad 2018
Dziękuje za ten wpis joomla zawsze była dla mnie problematyczna
Gość - Sławomir DJ Image Slider
04 listopad 2018
co robić? Zdjęcia wyświetlają się pionowo, jedno pod drugim. Żadna zmiana w opcjach, nic nie daje??? Pomożecie?