Od wczoraj zgłaszają się do nas klienci, którzy otrzymali nieco podejrzaną wiadomość e-mal. Wiadomość ta pochodzi niby od WordPress.org i informuje o wykrytej nowej podatności oraz jej łatce. Zachęca nawet do rozwiązania problemu. Czy to może być jakieś zagrożenie?
Przyjrzyjmy się dokładniej tej wiadomości
Sama treść na początku nie budzi podejrzeń. Faktycznie Zespołowi WP zdarza się informować użytkowników o krytycznych podatnościach. Tyle, że nie wszystkich użytkowników, bo żeby poinformować, trzeba mieć najpierw adres e-mail użytkownika. Czyli powiadomienia te trafiają do użytkowników JetPacka lub np. WooCommerce.
Uważnemu czytelnikowi wpadnie zapewne w oko, że już w drugim akapicie użyto słowa “Wordpress” (z małym “p”). Ale druga część tego akapitu rzuca się w oczy jeszcze bardziej. Otóż w ramach naprawy podatności, autor wiadomości informuje o wydaniu wtyczki, która tę podatność naprawia.
Podatność to błąd w kodzie. Błędu w kodzie nie poprawia się wydając wtyczkę, tylko poprawiając ów błąd i wydając nową wersję oprogramowania, w którym ten błąd był…
Prowadzi prosto do… bit.ly, czyli jest to skrócony link. Możemy go jednak prosto rozszyfrować przy użyciu samego bit.ly i w ten sposób otrzymać link, na który zostaniemy przekierowani po kliknięciu:
OK, czyli po kliknięciu w przycisk pobierania trafimy na stronę sugerującą, że ma coś wspólnego z WordPress, ale jednak zupełnie nie.
Na koniec zwróćmy jeszcze uwagę na samego nadawcę wiadomości. Nie została ona wysłana z domeny wordpress.org, a z domeny mail-wordpress.org, która z WordPressem nie ma nic wspólnego.
Jak widać, nie jest to prawdziwa wiadomość o podatności WordPressa, tylko próba ataku poprzez podszycie się pod taką wiadomość.
Otrzymałem taką wiadomość, co zrobić?
Nic. Skasować. W żadnym wypadku nie klikać w linki w tej wiadomości, nie podawać żadnych danych, ani nie pobierać – a już z pewnością nie instalować na stronie wspomnianej wtyczki.
A jak rozpoznać takie wiadomości w przyszłości?
Mniej więcej tak, jak pokazałem to w tym artykule:
- zawsze sprawdzaj nadawcę wiadomości oraz wszelkie linki, które w niej się znajdują,
- nigdy nie klikaj w linki skrócone, bo nie wiesz, gdzie mogą prowadzić,
- nie instaluj też wtyczek, które “poprawiają bezpieczeństwo”, czy “naprawiają podatność”.
Sprawdźmy, co się stanie, gdy wiadomości zaufamy?
Tego w żadnym wypadku nie róbcie – sprawdziliśmy to po to, żebyście wy nie musieli.
Najpierw sprawdziliśmy domenę. Zarejestrowana została 27 dni temu, a w bazie whois oczywiście nie ma żadnych danych o jej właścicielu.
Po kliknięciu w link najpierw będziemy musieli przejść przez captchę. Potem zobaczymy stronę łudząco przypominającą repozytorium wtyczek WP:
Nieźle – 500 tysięcy aktywnych instalacji… Pobierzmy zatem wtyczkę i zobaczmy, jakie ciekawostki zawiera jej kod…
W paczce wtyczki znajdziemy 3 pliki:
WordPressPatch.php
wpress-security-wordpress.php
views/security.php
Plik widoku security.php zawiera jedynie stronę z informacją o tym, że “Wordpress” został zaktualizowany i podatność już nie występuje. Znajduje się tam także zachęta do udostępnienia wtyczki dalej:
Plik WordPressPatch.php dodaje w menu panelu administracyjnego nową pozycję, pod którą wyświetlana jest informacja omówiona powyżej.
Czyli do sedna – co robi wpress-security-wordpress.php
? Początek wygląda niegroźnie – dołączane są pozostałe pliki. Jednak już w 15 linii kodu robi się ciekawiej:
Powyższy kod dodaje obsługę dwóch zapytań, dzięki którym każdy użytkownik internetu może wywołać odpowiednie akcje na naszej stronie.
Powyższa funkcja InstallScanner pobiera zawartość pliku wskazanego przez token. Aby poznać faktyczną nazwę pliku token musimy odkodować. Wtedy dowiemy się, że faktycznie pobierany będzie tekst z adresu zewnętrznego https://wpsys.zip/runscan
. Adres ten generuje kilka ekranów zaszyfrowanego kodu, który następnie zostanie zapisany w pliku na naszym serwerze.
Druga funkcja, wbrew pozorom wcale nie skanuje użytkowników, a wręcz przeciwnie – dodaje nowego użytkownika z uprawnieniami administratora:
Uwaga: użytkownika tego nie zobaczysz na liście użytkowników w panelu administracyjnym, bo wtyczka go ukrywa:
Na koniec “wtyczka” postanawia jeszcze ukryć się na liście wtyczek, żeby przypadkiem nie dało się jej prosto usunąć:
A co jeśli niechcący pobrałem już wtyczkę i ją zainstalowałem?
Jak wynika z powyższej analizy, nie będziesz w stanie po prostu jej usunąć. Musisz zatem za pomocą klienta FTP usunąć pliki dodane przez wtyczkę (zarówno pliki samej wtyczki, jak i te, które zostały wgrane już po jej instalacji).
W drugim kroku, z poziomu bazy danych, musisz usunąć użytkowników, których dodała wtyczka.
Jeśli na Twój serwer wgrane zostały dodatkowe pliki, koniecznie będzie trzeba je przejrzeć i przeanalizować umieszczony w nich kod. Kod ten może być różny w zależności od chwili, gdy został pobrany – nie ma więc większego sensu analizować go w tym artykule.