{"id":262,"date":"2026-10-17T11:03:51","date_gmt":"2026-10-17T09:03:51","guid":{"rendered":"https:\/\/helloblog.io\/pl\/rank-math-pro-3-0-123-atak-lancuch-dostaw-jak-oczyscic-strone\/"},"modified":"2026-10-17T11:03:51","modified_gmt":"2026-10-17T09:03:51","slug":"rank-math-pro-3-0-123-atak-lancuch-dostaw-jak-oczyscic-strone","status":"publish","type":"post","link":"https:\/\/helloblog.io\/pl\/rank-math-pro-3-0-123-atak-lancuch-dostaw-jak-oczyscic-strone\/","title":{"rendered":"Atak na \u0142a\u0144cuch dostaw Rank Math PRO 3.0.123: jak sprawdzi\u0107 i oczy\u015bci\u0107 stron\u0119"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Je\u015bli pobrano Rank Math PRO 3.0.123 z oficjalnego kana\u0142u mi\u0119dzy 15 a 16 pa\u017adziernika 2026 r., sprawd\u017a dok\u0142adny czas pobrania i to, czy wtyczk\u0119 aktywowano. Cz\u0119\u015b\u0107 paczek z tego okresu zawiera\u0142a z\u0142o\u015bliwy kod. <strong>Wersja 3.0.124 jest czysta, ale aktualizacja nie usuwa zmian, kt\u00f3re malware zd\u0105\u017cy\u0142o wprowadzi\u0107 poza katalogiem wtyczki.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co si\u0119 sta\u0142o i kiedy dostarczano zainfekowane paczki<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Z\u0142o\u015bliwy kod trafi\u0142 do oficjalnych paczek dodatku Rank Math PRO, kt\u00f3re u\u017cytkownicy otrzymywali przy pobraniu lub aktualizacji. To atak na \u0142a\u0144cuch dostaw: zagro\u017cenie dotar\u0142o przez zaufany kana\u0142 dystrybucji oprogramowania, a nie przez b\u0142\u0105d w kodzie wtyczki. Rank Math usun\u0105\u0142 zmodyfikowane pliki i udost\u0119pni\u0142 czyst\u0105 wersj\u0119 3.0.124.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Okno dystrybucji:<\/strong> od 15 pa\u017adziernika 2026 r., godz. 20:02 UTC, do 16 pa\u017adziernika 2026 r., godz. 07:12 UTC &#8211; oko\u0142o 11 godzin.<\/li>\n\n\n<li><strong>Czas w Polsce:<\/strong> od 15 pa\u017adziernika, godz. 22:02 CEST, do 16 pa\u017adziernika, godz. 09:12 CEST.<\/li>\n\n\n<li><strong>Zakres:<\/strong> cz\u0119\u015b\u0107 paczek wersji 3.0.123 pobranych w tym przedziale.<\/li>\n\n\n<li><strong>Czysta wersja:<\/strong> 3.0.124.<\/li>\n\n\n<li><strong>Identyfikator wtyczki:<\/strong> <code>seo-by-rank-math-pro<\/code>.<\/li>\n\n\n<li><strong>Identyfikator podatno\u015bci:<\/strong> CVE-2026-111862.<\/li>\n\n\n<li><strong>Ocena w systemie CVSS, czyli skali oceny dotkliwo\u015bci podatno\u015bci:<\/strong> 9,8 &#8211; krytyczna.<\/li>\n\n\n<li><strong>Klasyfikacja:<\/strong> osadzony z\u0142o\u015bliwy kod, kt\u00f3ry nie wymaga uwierzytelnienia atakuj\u0105cego.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Komunikat dotyczy wy\u0142\u0105cznie p\u0142atnego dodatku PRO. Nie wskazuje bezp\u0142atnej wtyczki Rank Math jako dotkni\u0119tej incydentem. Rank Math nie opublikowa\u0142 sposobu, w jaki zmodyfikowano paczki; nie podano te\u017c liczby ofiar ani sprawc\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Malware uruchamia si\u0119 po aktywacji wtyczki, komunikuje z domen\u0105 <code>rank1cdn[.]com<\/code> i mo\u017ce zapewni\u0107 atakuj\u0105cemu trwa\u0142y dost\u0119p. Przy wej\u015bciach na stron\u0119 potrafi odtwarza\u0107 ukryte furtki, czyli dodatkowe mechanizmy dost\u0119pu do witryny. Mo\u017ce te\u017c ujawni\u0107 dane dost\u0119powe WordPressa, dane dost\u0119powe bazy, klucze API &#8211; interfejs\u00f3w programistycznych &#8211; i inne sekrety, kt\u00f3re mo\u017ce odczyta\u0107 serwer WWW.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Numer wersji nie rozstrzyga, czy dosz\u0142o do infekcji<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Nie ka\u017cda paczka 3.0.123 zawiera\u0142a malware. Liczy si\u0119 to, czy pobrano j\u0105 we wskazanym oknie, a nast\u0119pnie aktywowano. Rank Math ma rejestry pobra\u0144 zmienionych paczek i powiadamia ich odbiorc\u00f3w. Je\u015bli otrzymano takie powiadomienie, wykonaj odpowiednie kroki tak\u017ce wtedy, gdy strona dzia\u0142a ju\u017c na innej wersji.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Kt\u00f3ry z trzech przypadk\u00f3w dotyczy twojej strony<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Zaloguj si\u0119 do panelu WordPressa i otw\u00f3rz sekcj\u0119 <strong>Wtyczki<\/strong>, aby sprawdzi\u0107 wersj\u0119 Rank Math PRO. Nast\u0119pnie ustal, kiedy pobrano paczk\u0119 oraz czy j\u0105 zainstalowano i aktywowano. Od tego zale\u017cy dalsze post\u0119powanie.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Zainstalowano i aktywowano zainfekowan\u0105 wersj\u0119 3.0.123:<\/strong> traktuj stron\u0119 jako przej\u0119t\u0105. Przywr\u00f3\u0107 czyst\u0105 kopi\u0119 zapasow\u0105 albo przeprowad\u017a pe\u0142ne czyszczenie opisane poni\u017cej.<\/li>\n\n\n<li><strong>Zainstalowano zainfekowan\u0105 wersj\u0119 3.0.123, ale nigdy jej nie aktywowano:<\/strong> usu\u0144 jej pliki, pobierz czyst\u0105 wersj\u0119 3.0.124 z konta Rank Math i zainstaluj j\u0105. Zapobiegawczo wykonaj skan bezpiecze\u0144stwa.<\/li>\n\n\n<li><strong>Pobrano zainfekowan\u0105 wersj\u0119 3.0.123, ale jej nie zainstalowano ani nie aktywowano:<\/strong> sam ten incydent nie wskazuje, \u017ce stron\u0119 przej\u0119to. Je\u015bli nie masz pewno\u015bci, czy pliki trafi\u0142y na serwer lub czy wtyczk\u0119 aktywowano, skontaktuj si\u0119 z pomoc\u0105 techniczn\u0105.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Szybka kontrola przez WP-CLI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WP-CLI to narz\u0119dzie do obs\u0142ugi WordPressa z wiersza polece\u0144. Poni\u017csze komendy pomagaj\u0105 sprawdzi\u0107 wersj\u0119 wtyczki i wyszuka\u0107 cz\u0119\u015b\u0107 \u015blad\u00f3w incydentu; nie zast\u0119puj\u0105 pe\u0142nego czyszczenia. Uruchom je z katalogu instalacji WordPressa, z uprawnieniami odpowiednimi dla danego \u015brodowiska.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp plugin get seo-by-rank-math-pro --field=version\n\n# Podejrzane wpisy w opcjach WordPressa.\nwp option get _uf6qdn2hmm\nwp option get t8krdk990phb\nwp option get _np5pvf754c\n\nwp user list --role=administrator --fields=ID,user_login,user_email,user_registered\nwp core verify-checksums\nwp cron event list\n\nls -la wp-includes\/class-wp-cache-util.php\ngrep -RIn -- 'xmmqhn' wp-content\/\n\n# Zast\u0105p www-data nazw\u0105 u\u017cytkownika serwera WWW; potrzebujesz odpowiednich uprawnie\u0144.\ncrontab -l -u www-data | grep -- 'ms6v46'\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> seo-by-rank-math-pro<\/span><span style=\"color:#79B8FF\"> --field=version<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Podejrzane wpisy w opcjach WordPressa.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _uf6qdn2hmm<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> t8krdk990phb<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _np5pvf754c<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><span style=\"color:#79B8FF\"> --fields=ID,user_login,user_email,user_registered<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">ls<\/span><span style=\"color:#79B8FF\"> -la<\/span><span style=\"color:#9ECBFF\"> wp-includes\/class-wp-cache-util.php<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">grep<\/span><span style=\"color:#79B8FF\"> -RIn<\/span><span style=\"color:#79B8FF\"> --<\/span><span style=\"color:#9ECBFF\"> 'xmmqhn'<\/span><span style=\"color:#9ECBFF\"> wp-content\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Zast\u0105p www-data nazw\u0105 u\u017cytkownika serwera WWW; potrzebujesz odpowiednich uprawnie\u0144.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">crontab<\/span><span style=\"color:#79B8FF\"> -l<\/span><span style=\"color:#79B8FF\"> -u<\/span><span style=\"color:#9ECBFF\"> www-data<\/span><span style=\"color:#F97583\"> |<\/span><span style=\"color:#B392F0\"> grep<\/span><span style=\"color:#79B8FF\"> --<\/span><span style=\"color:#9ECBFF\"> 'ms6v46'<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Opcje w bazie, plik podszywaj\u0105cy si\u0119 pod core i oznaczone zadania harmonogramu to konkretne \u015blady, kt\u00f3re trzeba sprawdzi\u0107. Nie ko\u0144cz kontroli na obecnej wersji wtyczki: aktualizacja do 3.0.124 zast\u0119puje paczk\u0119 Rank Math PRO, ale nie usuwa plik\u00f3w, kont administrator\u00f3w ani zada\u0144 harmonogramu utworzonych wcze\u015bniej w innych miejscach.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wariant zalecany: przywr\u00f3\u0107 czyst\u0105 kopi\u0119 zapasow\u0105<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli aktywowano zainfekowan\u0105 paczk\u0119, zalecana \u015bcie\u017cka to przywr\u00f3cenie plik\u00f3w strony i bazy z kopii sprzed pocz\u0105tku incydentu. Wybierz kopi\u0119 utworzon\u0105 <strong>przed 15 pa\u017adziernika 2026 r., godz. 20:02 UTC<\/strong>, czyli przed 22:02 CEST w Polsce. Ten sam moment to 15 pa\u017adziernika, godz. 16:02 EDT, oraz 16 pa\u017adziernika, godz. 01:32 IST.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Przywr\u00f3\u0107 stron\u0119 i baz\u0119 danych<\/strong> z kopii zapasowej sprzed wskazanego momentu.<\/li>\n\n\n<li><strong>Wykonaj skan bezpiecze\u0144stwa<\/strong> sprawdzonym narz\u0119dziem, na przyk\u0142ad <a href=\"https:\/\/wordpress.org\/plugins\/wordfence\/\">Wordfence<\/a> lub <a href=\"https:\/\/wordpress.org\/plugins\/sucuri-scanner\/\">Sucuri<\/a>.<\/li>\n\n\n<li><strong>Zmie\u0144 wszystkie has\u0142a i dane dost\u0119powe.<\/strong> Przyjmij, \u017ce sekrety dost\u0119pne dla strony mog\u0142y wyciec. Wymie\u0144 has\u0142a, dane dost\u0119powe bazy, klucze API i pozosta\u0142e dane z listy w sekcji o rotacji.<\/li>\n\n\n<li><strong>Zainstaluj czyst\u0105 wersj\u0119 Rank Math PRO 3.0.124<\/strong>, pobran\u0105 z konta Rank Math, ju\u017c po przywr\u00f3ceniu strony.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli nie wiesz, jak bezpiecznie przywr\u00f3ci\u0107 kopi\u0119, popro\u015b dostawc\u0119 hostingu o pomoc. Po odzyskaniu strony przejd\u017a r\u00f3wnie\u017c przez ko\u0144cow\u0105 weryfikacj\u0119 opisan\u0105 dalej.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wariant r\u0119czny: najpierw zatrzymaj odtwarzanie malware<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gdy nie mo\u017cesz przywr\u00f3ci\u0107 czystej kopii, usu\u0144 malware r\u0119cznie i sprawd\u017a pozosta\u0142e zmiany. <strong>Kolejno\u015b\u0107 ma znaczenie:<\/strong> z\u0142o\u015bliwy kod potrafi odtwarza\u0107 ukryt\u0105 furtk\u0119 przy kolejnych wej\u015bciach na stron\u0119. Samo usuni\u0119cie podejrzanych plik\u00f3w mo\u017ce wi\u0119c nie rozwi\u0105za\u0107 problemu.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Prace obejmuj\u0105 tak\u017ce baz\u0119 i serwer<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli nie pracujesz swobodnie z plikami strony, baz\u0105 danych i konfiguracj\u0105 serwera, zle\u0107 te czynno\u015bci dostawcy hostingu albo specjali\u015bcie od bezpiecze\u0144stwa. Czyszczenie mo\u017ce wymaga\u0107 dost\u0119pu poza katalogiem WordPressa.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 1. Wy\u0142\u0105cz mechanizm, kt\u00f3ry odtwarza infekcj\u0119<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wykonaj wszystkie trzy czynno\u015bci z poni\u017cszej listy, zanim przejdziesz do szukania pozosta\u0142ych plik\u00f3w. Samo wy\u0142\u0105czenie wtyczki w panelu WordPressa nie wystarczy.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Usu\u0144 ca\u0142y katalog Rank Math PRO.<\/strong> Skorzystaj z mened\u017cera plik\u00f3w hostingu albo FTP, czyli protoko\u0142u przesy\u0142ania plik\u00f3w. Instrukcja incydentu wskazuje katalog <code>rank-math-pro<\/code>; zlokalizuj katalog dodatku PRO w swojej instalacji i usu\u0144 go w ca\u0142o\u015bci.<\/li>\n\n\n<li><strong>Usu\u0144 z\u0142o\u015bliwe wpisy z bazy.<\/strong> Otw\u00f3rz baz\u0119 WordPressa, na przyk\u0142ad w phpMyAdmin. W tabeli <code>wp_options<\/code>, z uwzgl\u0119dnieniem prefiksu u\u017cywanego w instalacji, wyszukaj rekordy, w kt\u00f3rych <code>option_name<\/code> ma warto\u015b\u0107 <code>_uf6qdn2hmm<\/code>, <code>t8krdk990phb<\/code> albo <code>_np5pvf754c<\/code>. Usu\u0144 znalezione wpisy.<\/li>\n\n\n<li><strong>Zablokuj po\u0142\u0105czenia wychodz\u0105ce do <code>rank1cdn.com<\/code><\/strong>, je\u015bli hosting lub zapora na to pozwala.<\/li>\n\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Krok 2. Znajd\u017a pozosta\u0142e zmiany i usu\u0144 trwa\u0142y dost\u0119p<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Atakuj\u0105cy m\u00f3g\u0142 pozostawi\u0107 dodatkowe pliki, konta oraz zmiany na poziomie serwera. Sprawd\u017a ka\u017cdy z poni\u017cszych obszar\u00f3w, nawet je\u015bli usuni\u0119to ju\u017c katalog wtyczki i wpisy w bazie.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Ukryte furtki w plikach PHP<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Przejrzyj wskazane katalogi pod k\u0105tem podejrzanych plik\u00f3w PHP. W wyszukiwaniu i ocenie plik\u00f3w mo\u017ce pom\u00f3c wtyczka bezpiecze\u0144stwa albo dostawca hostingu.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>wp-content\/mu-plugins\/<\/code> &#8211; katalog wtyczek \u0142adowanych automatycznie.<\/li>\n\n\n<li>Katalogi pozosta\u0142ych wtyczek.<\/li>\n\n\n<li>Katalogi <code>inc\/<\/code> w motywach innych ni\u017c domy\u015blne.<\/li>\n\n\n<li>Katalogi <code>includes\/<\/code> w motywach innych ni\u017c domy\u015blne.<\/li>\n\n\n<li>Katalogi <code>lib\/<\/code> w motywach innych ni\u017c domy\u015blne.<\/li>\n\n\n<li>Katalog <code>includes\/<\/code> nale\u017c\u0105cy do Rank Math.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Szukaj kodu z <code>base64_decode<\/code> po\u0142\u0105czonym z p\u0119tlami XOR, czyli operacjami alternatywy wykluczaj\u0105cej na danych. Pozosta\u0142e wskaz\u00f3wki to klucz <code>xmmqhn<\/code>, wywo\u0142ania <code>proc_open<\/code> oraz kod korzystaj\u0105cy z gniazd PHP-FPM &#8211; mened\u017cera proces\u00f3w PHP. Traktuj je jako \u015blady do analizy w kontek\u015bcie pliku, nie jako polecenie usuni\u0119cia ka\u017cdego wyst\u0105pienia danej funkcji.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Nieznane konta administrator\u00f3w<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Przejrzyj u\u017cytkownik\u00f3w WordPressa z uprawnieniami administratora. Zwr\u00f3\u0107 uwag\u0119 na loginy zaczynaj\u0105ce si\u0119 od <code>wpsupport_<\/code>, po kt\u00f3rych wyst\u0119puj\u0105 losowe znaki, oraz adresy e-mail ko\u0144cz\u0105ce si\u0119 na <code>@wp-mail[.]net<\/code>. Usu\u0144 konta, kt\u00f3re potwierdzisz jako z\u0142o\u015bliwe lub nieautoryzowane.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp user list --role=administrator\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Plik podszywaj\u0105cy si\u0119 pod core WordPressa<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a, czy istnieje <code>wp-includes\/class-wp-cache-util.php<\/code>. Ten plik nie nale\u017cy do core WordPressa, czyli podstawowych plik\u00f3w samego systemu. Je\u015bli go znajdziesz, usu\u0144 go i sprawd\u017a sumy kontrolne, kt\u00f3re pozwalaj\u0105 por\u00f3wna\u0107 pliki z oficjalnymi kopiami.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Zainstaluj ponownie pliki core WordPressa z oficjalnego \u017ar\u00f3d\u0142a. W ten spos\u00f3b zast\u0105pisz tak\u017ce inne pliki core, kt\u00f3re mog\u0142y ulec zmianie.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Regu\u0142y w .htaccess i pliki .cache<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Przejrzyj <code>.htaccess<\/code> w g\u0142\u00f3wnym katalogu strony oraz w podkatalogach. Szukaj regu\u0142, kt\u00f3re pozwalaj\u0105 wykonywa\u0107 pliki <code>.cache<\/code> jako kod PHP. Wyszukaj te\u017c na serwerze pliki <code>.cache<\/code> zawieraj\u0105ce PHP i zbadaj podejrzane wyniki.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Zadania systemowe i harmonogram WordPressa<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Sprawd\u017a crontab, czyli systemowy harmonogram zada\u0144, dla u\u017cytkownika serwera WWW. Szukaj wpis\u00f3w oznaczonych komentarzem <code>#ms6v46<\/code>. Osobno przejrzyj zdarzenia WP-Cron, czyli harmonogramu WordPressa, i usu\u0144 zadania potwierdzone jako z\u0142o\u015bliwe.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp cron event list\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Pozosta\u0142e wtyczki, motywy i przes\u0142ane pliki<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Zainstaluj ponownie wtyczki i motywy z ich oficjalnych \u017ar\u00f3de\u0142. Tam, gdzie to mo\u017cliwe, por\u00f3wnaj pliki z czystymi kopiami.<\/li>\n\n\n<li>Sprawd\u017a katalog <code>uploads\/<\/code> pod k\u0105tem plik\u00f3w PHP &#8211; zasadniczo nie powinno ich tam by\u0107.<\/li>\n\n\n<li>Zbadaj nieoczekiwane i zmodyfikowane pliki, zanim je usuniesz.<\/li>\n\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Zmiany poza katalogiem strony<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Nie ograniczaj kontroli do instalacji WordPressa, bo atakuj\u0105cy m\u00f3g\u0142 zmieni\u0107 tak\u017ce \u015brodowisko serwera. Sprawd\u017a osobno ka\u017cdy z poni\u017cszych obszar\u00f3w.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Pliki <code>authorized_keys<\/code>, kt\u00f3re przechowuj\u0105 klucze dopuszczone do dost\u0119pu przez SSH &#8211; protok\u00f3\u0142 zdalnego dost\u0119pu do serwera.<\/li>\n\n\n<li>Crontaby pozosta\u0142ych u\u017cytkownik\u00f3w systemowych.<\/li>\n\n\n<li>Uruchomione procesy.<\/li>\n\n\n<li>Miejsca poza katalogiem strony, w kt\u00f3rych u\u017cytkownik serwera WWW mo\u017ce zapisywa\u0107 pliki.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Na hostingu wsp\u00f3\u0142dzielonym mo\u017cesz nie mie\u0107 dost\u0119pu do tych obszar\u00f3w. Popro\u015b wtedy dostawc\u0119 hostingu, aby je sprawdzi\u0142.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista wska\u017anik\u00f3w kompromitacji<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wska\u017aniki kompromitacji, w skr\u00f3cie IOC, to \u015blady pomocne przy szukaniu skutk\u00f3w w\u0142amania. Poni\u017csza lista zbiera charakterystyczne elementy tego incydentu; domeny w zapisie z <code>[.]<\/code> zapisano tak, aby nie tworzy\u0107 aktywnych odno\u015bnik\u00f3w.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Domena komunikacji malware:<\/strong> <code>rank1cdn[.]com<\/code>.<\/li>\n\n\n<li><strong>Opcja w bazie:<\/strong> <code>_uf6qdn2hmm<\/code>.<\/li>\n\n\n<li><strong>Opcja w bazie:<\/strong> <code>t8krdk990phb<\/code>.<\/li>\n\n\n<li><strong>Opcja w bazie:<\/strong> <code>_np5pvf754c<\/code>.<\/li>\n\n\n<li><strong>Klucz w podejrzanym kodzie:<\/strong> <code>xmmqhn<\/code>.<\/li>\n\n\n<li><strong>Wzorzec kodu:<\/strong> <code>base64_decode<\/code> w po\u0142\u0105czeniu z p\u0119tlami XOR.<\/li>\n\n\n<li><strong>Element do analizy w kodzie:<\/strong> <code>proc_open<\/code>.<\/li>\n\n\n<li><strong>Element do analizy w kodzie:<\/strong> obs\u0142uga gniazd PHP-FPM.<\/li>\n\n\n<li><strong>Podejrzane loginy:<\/strong> <code>wpsupport_<\/code> z losowym ci\u0105giem znak\u00f3w.<\/li>\n\n\n<li><strong>Podejrzana domena e-mail kont administrator\u00f3w:<\/strong> <code>@wp-mail[.]net<\/code>.<\/li>\n\n\n<li><strong>Fa\u0142szywy plik core:<\/strong> <code>wp-includes\/class-wp-cache-util.php<\/code>.<\/li>\n\n\n<li><strong>Znacznik w systemowym crontabie:<\/strong> <code>#ms6v46<\/code>.<\/li>\n\n\n<li><strong>Podejrzane regu\u0142y:<\/strong> wykonywanie plik\u00f3w <code>.cache<\/code> jako PHP przez <code>.htaccess<\/code>.<\/li>\n\n\n<li><strong>Podejrzana zawarto\u015b\u0107:<\/strong> kod PHP w plikach <code>.cache<\/code> lub w katalogu <code>uploads\/<\/code>.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 3. Wymie\u0144 has\u0142a, klucze i pozosta\u0142e sekrety<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po usuni\u0119ciu z\u0142o\u015bliwych zmian wymie\u0144 dane dost\u0119powe, kt\u00f3re strona mog\u0142a odczyta\u0107. <strong>Zr\u00f3b to tak\u017ce po przywr\u00f3ceniu kopii zapasowej<\/strong> &#8211; odzyskanie wcze\u015bniejszych plik\u00f3w nie uniewa\u017cnia sekret\u00f3w, kt\u00f3re mog\u0142y ju\u017c wyciec. Przyjmij ostro\u017cno\u015bciowo, \u017ce wszystkie dane dost\u0119pne dla przej\u0119tej witryny zosta\u0142y ujawnione.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Wszystkie odpowiednie has\u0142a:<\/strong> zmie\u0144 has\u0142a kont WordPressa oraz pozosta\u0142e has\u0142a dost\u0119pne dla przej\u0119tej strony.<\/li>\n\n\n<li><strong>Dane dost\u0119powe bazy:<\/strong> zmie\u0144 nazw\u0119 u\u017cytkownika i has\u0142o bazy wskazane w <code>wp-config.php<\/code>.<\/li>\n\n\n<li><strong>Klucze bezpiecze\u0144stwa i sole WordPressa:<\/strong> wygeneruj nowe warto\u015bci w <code>wp-config.php<\/code>.<\/li>\n\n\n<li><strong>Klucze API i dane us\u0142ug:<\/strong> wymie\u0144 klucze bramek p\u0142atniczych, dane SMTP &#8211; protoko\u0142u wysy\u0142ki poczty &#8211; klucze API oraz inne sekrety zapisane w ustawieniach strony i plikach konfiguracyjnych.<\/li>\n\n\n<li><strong>Dost\u0119p do hostingu i serwera:<\/strong> zmie\u0144 has\u0142a lub inne dane dost\u0119powe panelu hostingu, FTP, SFTP &#8211; protoko\u0142u bezpiecznego przesy\u0142ania plik\u00f3w &#8211; oraz SSH. Sprawd\u017a tak\u017ce sekrety przechowywane w zmiennych \u015brodowiskowych.<\/li>\n\n\n<li><strong>Uwierzytelnianie dwusk\u0142adnikowe:<\/strong> sprawd\u017a konfiguracj\u0119 kont administrator\u00f3w i zresetuj j\u0105 tam, gdzie to potrzebne.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Wprowad\u017a nowe dane we wszystkich wymagaj\u0105cych tego konfiguracjach strony i po\u0142\u0105czonych us\u0142ugach. Je\u015bli nie masz pewno\u015bci, kt\u00f3re sekrety by\u0142y dost\u0119pne dla witryny, przejrzyj je z dostawc\u0105 hostingu albo specjalist\u0105 od bezpiecze\u0144stwa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Krok 4. Zweryfikuj stron\u0119 po czyszczeniu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po zako\u0144czeniu prac sprawd\u017a zar\u00f3wno pliki, jak i zachowanie strony. Kontynuuj obserwacj\u0119 przez kolejne dni, bo odtworzone pliki mog\u0105 wskazywa\u0107, \u017ce pozosta\u0142 aktywny mechanizm infekcji.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Wykonaj skan bezpiecze\u0144stwa<\/strong> sprawdzonym narz\u0119dziem, takim jak Wordfence albo Sucuri.<\/li>\n\n\n<li><strong>Zweryfikuj pliki core WordPressa<\/strong> poleceniem <code>wp core verify-checksums<\/code>.<\/li>\n\n\n<li><strong>Zweryfikuj pliki zainstalowanych wtyczek<\/strong> poleceniem <code>wp plugin verify-checksums --all<\/code>. Nie ka\u017cda wtyczka udost\u0119pnia sumy kontrolne; dotyczy to zw\u0142aszcza wtyczek p\u0142atnych. W takim przypadku por\u00f3wnaj pliki z czyst\u0105 paczk\u0105 z oficjalnego \u017ar\u00f3d\u0142a.<\/li>\n\n\n<li><strong>Monitoruj po\u0142\u0105czenia wychodz\u0105ce<\/strong> i szukaj podejrzanej aktywno\u015bci przez kolejne dni.<\/li>\n\n\n<li><strong>Sprawdzaj, czy usuni\u0119te pliki nie pojawiaj\u0105 si\u0119 ponownie.<\/strong><\/li>\n\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\nwp plugin verify-checksums --all\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><span style=\"color:#79B8FF\"> --all<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli pliki wracaj\u0105 albo zauwa\u017cysz nietypow\u0105 aktywno\u015b\u0107, czyszczenie mo\u017ce by\u0107 niepe\u0142ne. Wr\u00f3\u0107 do kroku 2 i popro\u015b hosting lub specjalist\u0119 o dalsz\u0105 analiz\u0119.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zainstaluj czyst\u0105 wersj\u0119 3.0.124 z konta Rank Math<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po wykonaniu czynno\u015bci w\u0142a\u015bciwych dla twojego przypadku zainstaluj Rank Math PRO 3.0.124. Wpisz bezpo\u015brednio w przegl\u0105darce <code>rankmath.com<\/code>, zaloguj si\u0119 na konto, przejd\u017a do sekcji pobra\u0144 i pobierz aktualn\u0105 paczk\u0119. Cz\u0119\u015b\u0107 u\u017cytkownik\u00f3w mo\u017ce potrzebowa\u0107 resetu has\u0142a, aby odzyska\u0107 dost\u0119p do konta.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Uwa\u017caj na wiadomo\u015bci podszywaj\u0105ce si\u0119 pod Rank Math<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Rank Math nie wysy\u0142a e-mailem link\u00f3w do logowania ani pobierania wtyczki. Nieoczekiwan\u0105 wiadomo\u015b\u0107 z pro\u015bb\u0105 o klikni\u0119cie linku do resetu has\u0142a lub pobrania paczki traktuj jako podejrzan\u0105. Zawsze otwieraj witryn\u0119 dostawcy bezpo\u015brednio.<\/p>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Nie pobieraj zamiennika z nieoficjalnych serwis\u00f3w redystrybucji ani repozytori\u00f3w z paczkami na licencji GPL &#8211; GNU General Public License. Takie miejsca mog\u0105 nadal udost\u0119pnia\u0107 kopie wersji 3.0.123. Pobieraj wtyczk\u0119 z konta u dostawcy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak uzyska\u0107 pomoc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli nie potrafisz ustali\u0107 w\u0142a\u015bciwej \u015bcie\u017cki naprawy albo masz w\u0105tpliwo\u015bci co do stanu strony, <a href=\"https:\/\/rankmath.com\/support\/\">otw\u00f3rz zg\u0142oszenie do pomocy Rank Math<\/a> lub napisz na <code>support@rankmath.com<\/code>. Podaj wersj\u0119 Rank Math PRO oraz list\u0119 wykonanych ju\u017c czynno\u015bci. Przy problemach z kopi\u0105 zapasow\u0105, plikami lub \u015brodowiskiem serwera zaanga\u017cuj r\u00f3wnie\u017c dostawc\u0119 hostingu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co zmieni\u0107 w utrzymaniu stron<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ten incydent pokazuje, \u017ce atak na \u0142a\u0144cuch dostaw mo\u017ce obj\u0105\u0107 tak\u017ce zaufanego dostawc\u0119 komercyjnego. Oficjalny kana\u0142 aktualizacji nie wyklucza ryzyka, dlatego zabezpieczenia musz\u0105 obejmowa\u0107 r\u00f3wnie\u017c kopie zapasowe, kontrol\u0119 plik\u00f3w i ruch wychodz\u0105cy.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Przejrzyj zasady automatycznych aktualizacji p\u0142atnych wtyczek.<\/strong> Skracaj\u0105 czas wdro\u017cenia poprawek, ale przy zmienionej paczce mog\u0105 r\u00f3wnie\u017c szybko dostarczy\u0107 malware.<\/li>\n\n\n<li><strong>Przechowuj kopie zapasowe poza serwerem strony i zachowuj ich histori\u0119.<\/strong> Potrzebujesz mo\u017cliwo\u015bci powrotu do momentu sprzed incydentu, nie tylko najnowszej kopii.<\/li>\n\n\n<li><strong>Monitoruj i ograniczaj po\u0142\u0105czenia wychodz\u0105ce z serwera WWW.<\/strong> Uwzgl\u0119dnij w procedurach mo\u017cliwo\u015b\u0107 zablokowania z\u0142o\u015bliwej domeny.<\/li>\n\n\n<li><strong>Weryfikuj sumy kontrolne.<\/strong> Gdy dostawca ich nie udost\u0119pnia, por\u00f3wnuj pliki z czystymi kopiami z oficjalnego kana\u0142u.<\/li>\n\n\n<li><strong>Uwzgl\u0119dnij phishing w obs\u0142udze incydentu.<\/strong> Wiadomo\u015b\u0107 podszywaj\u0105ca si\u0119 pod Rank Math mo\u017ce pr\u00f3bowa\u0107 wykorzysta\u0107 po\u015bpiech przy naprawie strony.<\/li>\n\n\n<li><strong>Kontroluj pochodzenie paczek.<\/strong> Nieoficjalne serwisy mog\u0105 nadal rozpowszechnia\u0107 star\u0105 wersj\u0119; korzystaj z konta u dostawcy.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Zacznij od ustalenia czasu pobrania paczki i tego, czy j\u0105 aktywowano. Je\u015bli uruchomiono zainfekowan\u0105 wersj\u0119, wybierz przywr\u00f3cenie czystej kopii albo wykonaj pe\u0142ne czyszczenie w podanej kolejno\u015bci, wymie\u0144 sekrety i zaplanuj kontrol\u0119 strony przez kolejne dni.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Odniesienia \/ \u0179r\u00f3d\u0142a<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/rankmath.com\/kb\/pro-3-0-123-security-incident\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math PRO 3.0.123 Security Incident: How to Secure Your Website<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/10\/rank-math-seo-pro-3-0-123-malware\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math SEO PRO 3.0.123 Malware<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/vulnerabilities\/id\/81cd7a2c-ad0c-4dbc-b5dc-07ec866d5c1f\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math SEO PRO 3.0.123 &#8211; Unauthenticated Embedded Malicious Code<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Cz\u0119\u015b\u0107 oficjalnych paczek Rank Math PRO 3.0.123 zawiera\u0142a z\u0142o\u015bliwy kod. Sprawd\u017a, czy incydent dotyczy twojej strony i dlaczego sama aktualizacja do 3.0.124 nie wystarczy po infekcji.<\/p>\n","protected":false},"author":24,"featured_media":261,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[151,35,150,10,8],"class_list":["post-262","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bezpieczenstwo","tag-atak-na-lancuch-dostaw","tag-bezpieczenstwo","tag-rank-math","tag-wordpress","tag-wp-cli"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/posts\/262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/posts\/262\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/media\/261"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/media?parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/categories?post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/pl\/wp-json\/wp\/v2\/tags?post=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}