Jakiś czas temu otrzymałem zadanie odwirusowania strony pewnej firmy opartej o CMS WordPress, ciekawostką było to, że strona poza kilkoma tysiącami postów nie miała innych objawów typowych dla infekcji WordPress’a tj Przekierowywanie na strony dla dorosłych z wyników wyszukiwania (szczególnie mobilnych), masowego wysyłania spamu czy wykonywania dziwnych operacji w tle.
Wpisy będące linkami do utworzonej treści np. o crackach do Pokemon Go nie były widoczne w kokpicie, nie były widoczne też kategorie, w których to zostały umieszczone – ciekawe było też to, że nie były one dostępne w kokpicie z poziomu żadnego narzędzia do masowego usuwania czy masowych działań na kategoriach.
Wyglądało to o tak:
Zaczęło się standardowo
A więc same wpisy były dodane bezpośrednio do bazy danych – standardowe i podstawowe rzeczy przy czyszczeniu stron z infekcji tj reinstalacja WordPress, reinstalacja wtyczek, która sama wskazała rozwiązanie problemu.
Poznaj WPCoreSys.php
Mały plik, będący wtyczką widmo – widniał w edytorze wtyczek, ale już na liście wtyczek go nie było.
Jak udało mi się namierzyć – wg Google jest około 300 widocznych katalogów tej „wtyczki”
W moim przypadku był jeden taki katalog z plikiem WPCoreSys.php oraz download.log
Po usunięciu tego katalogu, a przed wykonaniem pozostałych czynności związanych z usługą rozpocząłem
Usuwanie wirusów z bazy danych WordPress
Mogłem to zrobić szybciej – po usunięciu wtyczki ukryte wpisy i kategorie pojawiły się, ale chciałem mieć 100% pewności, że usunę wszystko i nie spotka mnie żadna niespodzianka.
Tutaj autor wirusa się niezbyt postarał, na pierwszy rzut oka było widać prawidłowość – wszystkie posty miały ten sam ciąg znaków kończący wpis wyglądało to mniej więcej tak jak wskazałem na pierwszym zrzucie z innej strony, niż mój pacjent.
A więc wystarczyło znaleźć wszystkie posty korzystając z REGEX zawierające ten ciąg w komórce post_content i można było je łatwo usunąć, potem usunąć powiązane z nimi informacje w pozostałych tabelach i problem po dokończeniu czynności naprawczo-zabezpieczających przeszedł do historii.
Którędy wszedł wirus do świeżej instalacji WordPressa ?
Myślę, że nie zdziwi Ciebie fakt, że prawdopodobnie przez… wtyczkę od zabezpieczeń, ponieważ oprócz niej była tam tylko wtyczka techniczna (zawierająca shortcody dla ułatwienia obsługi) oraz JetPack.
Od kiedy hakerzy przejmują się SEO?
Powyżej w pierwszy zrzucie pokazałem tylko początek postu, ponieważ sam post wyglądał jak typowy opis na jakimś gamingowym blogu, miał nawet video i social proof jak niżej: