Bieżący tydzień minął nam pod znakiem czyszczenia infekcji na stronach, a szybkie wyszukanie jej oznak w Google pokazuje, że jeszcze sporo osób się z nią zmierzy. Opiszmy więc, jak ta infekcja wyglądała i jak działa.
Jak wyglÄ…da atak
Doklejenie szkodliwego kodu do pliku header.php w motywie
W pliku header.php doklejany jest następujący fragment kodu:
W tej formie oczywiście trudno jest zrozumieć, co ten kod dokładnie robi. Dlatego go sobie rozszyfrujmy i przeformatujmy, aby stał się bardziej czytelny i zrozumiały:
Teraz widać już, że wklejka ta ma za zadanie:
- Pobrać z pliku
/n.txtz serwera atakującego kod PHP i umieścić go w plikusdfsd234 - Plik ten ma być odświeżany co 6400 sekund.
- Pozwolić atakujÄ…cemu na zdalne uruchamianie kodu PHP na serwerze – atakujÄ…cy musi wysÅ‚ać request o okreÅ›lonej konstrukcji, a skrypt pobierze wskazany przez niego plik, zapisze go lokalnie na serwerze, uruchomi, a nastÄ™pnie usunie, aby nie zostawić po sobie Å›ladów.
Zawartość pliku sdfsd234
Skrypt ten wykonuje nastÄ™pujÄ…ce akcje (uwaga – przypominam, że zawartość tego pliku jest odÅ›wieżana co niecaÅ‚e 2 godziny, wiÄ™c jego dziaÅ‚anie może zmieniać siÄ™ w czasie):
- Szuka wszystkich plików
*.php, a następnie szuka w nich tagu<head>i dokleja w nim wywołanie skryptu JS. - Szuka wszystkich plików
index.*, a nastÄ™pnie dokleja do nich bardzo podobny kod, jaki znajduje siÄ™ w plikuÂheader.php. - Szuka wszystkich plików
*.jsi dokleja do nich kod, który dokleja na stronie wywołanie zdalnego pliku JS. - Szuka wszystkich plików
wp-config.phpi wyparsowuje z nich dane połączenia do bazy danych (staÅ‚eDB_NAME,DB_HOST,DB_USER,DB_PASSWORD). NastÄ™pnie nawiÄ…zuje połączenie z bazÄ… danych, odnajduje tabelÄ™ pasujÄ…cÄ… do zapytaniaÂ%post%i do każdego wpisu dokleja kod JS, który odpowiedzialny jest za przekierowywanie osoby odwiedzajÄ…ce stronÄ™.
Wszystkie powyższe poszukiwania prowadzone sÄ… w obrÄ™bie wszystkich plików, do których skrypt ma dostÄ™p (wychodzÄ…c przy tym poza katalog danej domeny – jeÅ›li na serwerze znajduje siÄ™ wiele stron, to wszystkie zostanÄ… zainfekowane).
Po tych operacjach, atakujący ma już pełną kontrolę nad zaatakowaną stroną.
Może m. in.:
- w dowolnym momencie wysłać do strony kod PHP i wykonać go na serwerze,
- śledzić każdego odwiedzającego stronę,
- zbierać wszystkie dane, które na tej stronie zostaną przez odwiedzających podane,
- przekierować odwiedzających stronę na wskazany przez atakującego adres,
- itd.
Jak dochodzi do infekcji?
Tego jednoznacznie nie da się ustalić. Wiemy już natomiast, że:
- Plik header.php modyfikowany jest nawet kilka tygodni wcześniej niż zaczyna się faktyczne działanie szkodliwych skryptów.
- Infekcja wystÄ™puje także na stronach, które majÄ… zainstalowanego Wordfence’a.
- Na wszystkich zainfekowanych stronach, które do nas trafiły, znajdowały się nieaktualne wtyczki i motywy z TF. Z dużym prawdopodobieństwem źródłem infekcji jest nieaktualna wersja jednej z wtyczek, z których te motywy korzystają.
Czy moja strona jest zainfekowana?
To akurat dość łatwo można sprawdzić. Zaloguj się na FTP i sprawdź, czy w folderze głównym strony znajduje się plik sdfsd234 oraz czy plik header.php Twojego motywu nie zawiera pokazanego wyżej fragmentu kodu.
JeÅ›li znajdziesz któryÅ› z tych plików lub Twoja strona już przekierowuje odwiedzajÄ…cych na inne strony (w czyszczonych przez nas przypadkach byÅ‚y to strony „WygraÅ‚eÅ› konkurs!”), to Twoja strona jest zainfekowana i czeka CiÄ™ żmudne czyszczenie skutków infekcji i zabezpieczenie strony, aby atak siÄ™ nie powtórzyÅ‚.
JeÅ›li potrzebujesz pomocy w usuniÄ™ciu skutków ataku – zapraszam do współpracy.

