Uwaga na e-maile proponujące bezpłatną instalację wtyczki All in One SEO Pack Pro!

WordPressOd kilkunastu dni na kilka moich kont e-mail trafiają wiadomości zachęcające do bezpłatnej instalacji popularnej wtyczki All in One SEO Pack Pro w nazywanej „nową” wersji 2.1. Na wstępie zaznaczę, że pod żadnym pozorem nie wolno tej wtyczki instalować, a autorzy rozszerzenia nigdy nie wysyłają tego typu wiadomości i nie rozdają swojego produktu za darmo (a już na pewno nie używają do tego spamu). Wtyczka, którą można pobrać spod wskazanego w wiadomości adresu, zawiera złośliwy kod (malware). Zobaczmy na co możemy być narażeni instalując „promowane” w ten sposób rozszerzenia.

Mechanizm rozsyłania wspomnianych wiadomości jest dość ciekawy. Większość e-maili, które ja otrzymałem, zostało wysłanych z formularzy kontaktowych zbudowanych przy użyciu wtyczki Contact Form 7. Od jakiegoś czasu walczę z falą spamu, jaką dostaję tą właśnie drogą – skorzystanie z domyślnie obsługiwanego mechanizmu CAPTCHA (kod potwierdzający) na nic się nie zdało. Trzeba będzie pomyśleć nad czymś bardziej zaawansowanym i mniej typowym lub nad całkowitym wyłączeniem tej wtyczki. Nie to jest jednak tematem tego wpisu.

Wiadomość zachęcająca do instalacji zainfekowanej wtyczki może wyglądać na przykład tak:

All in One SEO Pack - malware

Treść tych wiadomości może być inna, podobnie jak adres, z którego można rzekomo pobrać wtyczkę.

Po kliknięciu znajdującego się w e-mailu linku zostaniemy przeniesieni na stronę, która wygląda tak:

All in One SEO Pack - malware

Tekst promocyjny informuje nas, że zostaliśmy wybrani jako jedna ze stu osób, które zostaną „nagrodzone” wtyczką All in One SEO Pack w wersji Pro, kosztującej normalnie 79 dolarów. Tekst opisujący nowości, jakie znajdziemy w tej wersji rozszerzenia, jest żywcem skopiowany ze strony autorów.

Po kliknięciu znajdującego się u dołu strony linku All in One SEO Pack V2.1 Download Link na dysk naszego komputera zostanie pobrany plik ZIP, w którym znajduje się zwykła, darmowa wersja wtyczki (dostępna w oficjalnym repozytorium), zawierająca kilka „dodatków”.

Porównanie zawartości oryginalnej paczki z paczką pobraną ze złośliwej strony wykazuje, że zmodyfikowany został plik aioseop_class.php oraz że do paczki dodano sześć nowych plików. Wśród nich najbardziej interesujące są dwa: aioseop_class_module.php zawiera zaciemniony złośliwy kod (o nim za chwilę), a images/upload.php zawiera skrypt Loader’z WEB Shell, który umożliwia dostęp przez przeglądarkę do plików na serwerze, a także wykonywanie kodu PHP (czyli potencjalnie pozwala na całkowite przejęcie naszego serwisu przez atakującego).

Jak już wspomniałem, plik aioseop_class_module.php zawiera zaciemniony za pomocą funkcji base64_encode kod, który wygląda tak (zamieszczony poniżej screen pokazuje tylko jego fragment – w rzeczywistości kod jest znacznie dłuższy):

All in One SEO Pack - malware

W pliku tym znajdują się w sumie trzy istotne kawałki kodu i trzy nie mające większego sensu (zawierają tylko komentarz o rzekomym autorze skryptu, który można zobaczyć tutaj).

Po zdekodowaniu złośliwy kod wygląda tak:

All in One SEO Pack - malware

Kod ten pobiera zawartość pliku http://91.239.15.61/o1.txt i podmienia nim nasz plik index.php. W zmodyfikowanym w ten sposób pliku znajduje się dodatkowy, zaciemniony kod, który po zdekodowaniu wygląda tak:

All in One SEO Pack - malware

Ten skrypt dodaje do naszej strony kod JavaScript pobrany z adresu http://91.239.15.61/java/google.php. Kod generowany przez ten skrypt może zmieniać się w czasie, ale w chwili pisania tego tekstu wyglądał on tak (na obrazku znajduje się tylko fragment):

All in One SEO Pack - malware

Jest to zaciemniony skrypt JavaScript, który po „zdekodowaniu” dodaje do naszej strony funkcje odczytujące i zapisujące ciasteczka oraz (co ważniejsze) ładuje znajdujący się na zewnętrznym serwerze skrypt http://91.239.15.61/google.js, w którym znajduje się cała „magia”. Polega ona na sprawdzeniu, czy odwiedzający trafił do naszego serwisu z wyszukiwarki, a jeśli tak, to zostaje on przekierowany na adres http://91.239.15.61/g.php. Znajdujący się tam skrypt przenosi użytkownika na jedną z „promowanych” w ten sposób stron – ja trafiłem na kilka stron sprzedających suplementy diet oraz inne medykamenty, ale podejrzewam, że strony te są zmieniane. Co ciekawe, przed przekierowaniem na komputerze użytkownika ustawiane jest ciasteczko, dzięki któremu przy kolejnym wejściu na naszą zainfekowaną stronę nie zostanie on przekierowany ponownie (zostanie w naszym serwisie).

Metoda, jaką zastosowali twórcy tego złośliwego skryptu, nie jest nowa. Jej główną wadą (lub – zależnie od punktu widzenia – zaletą) jest trudność wykrycia. Stali użytkownicy naszej strony nie zgłoszą nam problemu, bo nie wchodzą na nią z wyszukiwarek (tak więc nie zostaną nigdzie przekierowani). My również nie odwiedzamy naszego własnego serwisu przez Google, tak więc po prostu nie zauważymy, że coś jest nie tak. Jedną ze skutecznych metod na wykrywanie tego typu problemów jest regularne skanowanie naszych stron jednym z dostępnych narzędzi do identyfikacji malware, na przykład skanerem firmy Sucuri.

Dla tych z Was, którym nie chciało się czytać całego wpisu lub których zniechęcił jego techniczny wydźwięk, mam jedną radę, która posłuży za podsumowanie tego tekstu. Nigdy nie instalujcie wtyczek pochodzących z niewiadomych źródeł oraz ostrożnie podchodźcie do promocji, w ramach których ktoś daje Wam coś za darmo.

Do napisania tego tekstu zainspirowała mnie analiza przeprowadzona przez ekipę Sucuri.

Bezpośredni link