#hejtopytanie #serwerownia
Sprawa wygląda tak: włamali mi się na stronę na wordpresie. Dodała się jakaś wtyczka, jakiś motyw, sporo plików z core wordpress miało inne checksumy niż powinny mieć.
Panel plesk sam wykrył problemy, wprowadził kwarantannę, pokazał co się zmieniło przed i po.

Naprawiłem (chyba naprawiłem) większość rzeczy, aaaaale.
Widzę, że co chwilę ktoś się próbuje zalogować i coś wysyłają metodą POST. Ale strona jeszcze się trzyma. Na pewno nie jestem to ja.

Prosty sposób na przeczytanie co jest w tych wysyłanych danych - Szukaj

Stack: System debian(albo centos?), panel plesk, nginx, wordpress najnowszy
efcbd52f-79c6-42c7-86c1-12ddc192ef50
entropy_ userbar
40

Komentarze (40)

@koszotorobur Ty jesteś mądry gość, pomożesz?

@lubieplackijohn - miałem wir w pracy i widzę, że dużo mnie ominęło.

Pierwsze co, to trzeba monitorować ruch i od razu blokować adresy IP atakującego.

Jąk można odciąć serwer od przychodzącego internetu całkiem (co położy stronę) to polecam to zrobic i od razu uaktualnić system, WordPressa i wszystkie pluginy.

Jak da radę to postawić drugi serwer z najnowszym uaktualnionym systemem, na nim zainstalować najnowszego WordPressa z najnowszymi pluginami i tam przenieść stronę.

WordPress i jego pluginy są znane ze swojej dziurawiści i są często atakowane - nikomu nie polecam tego używać.

@koszotorobur no właśnie ja sobie przywracałem kopię sprzed ataku, a hakier przywracał sobie backdoora i tak się bawiliśmy od wczoraj xD

Niżej napisałem co według mnie rozwiązało problem

@entropy_ - cieszę się, że sobie poradziłeś - wygląda na to, że w jeden dzień nauczyłeś się więcej o zabezpieczaniu stronki na WordPressie niż przez całe życie

Niemniej myślę, że nie ominie Cie update wszystkiego by zminimalizować ilość dziur w swojej stronie.

Doinstaluj jakaś captche albo honeypota

@GazelkaFarelka tylko to chyba nie przez komenty, z tego co widzę to próbował uruchamiać to co sobie zainstalował w pluginach i dodał jakieś dziwne akcje do crona.

Nie wiem co zrobił, ale jak pierwszy raz przywróciłem kopię zapasową do zainfekował ponownie stronę swoim kodem w mniej niż 15min.

@entropy_ a na jakim serwisie hosting ?znajomy tez mial problemy z wordpresem ale podobno caly hosting mial atak i zainfekowano wiele plikow

@entropy_ 

dodał jakieś dziwne akcje do crona. - a jak tam uzyskal dostep ? to jest na wyzszym poziomie niz wordpress dostep do crona jest na poziomie admina hostingu

@bimberman mój vpn na ovh. Ogółem mam tam kilka stron i tylko ta ma problemy

@bimberman wp-cron, za duży skrót myślowy zrobiłem xD

Do hostingu na pewno nie ma dostępu.

plugin sam może generować zapytania nie musi być z zewnątrz

możesz utworzyć prosty log zbierający co jest w poście chyba cały ruch jest przez index.php

@bimberman ja nawet nie wiem co w google wpisać żeby to zrobić xD

@bimberman o właśnie czegoś takiego potrzebuję, dzięki

@entropy_ w sumie trzeba by poszukać jeszcze skąd wysyła post do logowania z jakiego IP, te informacje są w innej zmiennej potem takie IP można łatwo zablokować też w tym pliku index.php

https://stackoverflow.com/questions/3003145/how-to-get-the-client-ip-address-in-php


możesz sprawdzić co jest w tej zmiennej , ale potrzebujesz $_SERVER[‘REMOTE_ADDR’] aby znaleźć IP

<?php<br /> echo '<pre>';<br /> print\_r($\_SERVER);<br /> echo '</pre>';<br /> ?>

@bimberman @GazelkaFarelka @lubieplackijohn C⁎⁎ja się znam, ale napiszę co znalazłem:

Atakujący sprawdzał jakie jest konto administratora używając następującego sposobu:


  1. Wchodził na https://adres.pl/?author=1 , jak można się domyślić user z id 1 to ja z uprawnieniami administratora. Tak poznawał login.

  2. Chwilę później odwiedzał adres.pl/wp-admin robił nieznaną mi rzecz i przychodził do mnie za każdym razem mail z informacją o resecie hasła.


Zrobiłem taką regułę w nginxie:

   if ($args ~ "^author=([0-9]*)") {

        return 302 https://127.0.0.1:8080/?;

   }


i od tej pory wszystkie próby logowania robi jako:

Users: array ( 0 => 'wwwadmin', )

ClientIP: 172.70.91.226


Wcześniej używał zawsze poprawnego loginu który jest inny niż wwwadmin

Czyli pewnie dalej mam dziurę na stronie ale skrypt nie umie nazwy użytkownika znaleźć xD

@entropy_ tak uzywwajac tego ?author=1 przekierowuje na author/login i poznal login, mogł sprawdzac ile jest autorów

?author=1

?author=2

?author=3


wordpress to chora platforma

a to znasz ?

twojastron.com/wp-json/ ?? moga pobrac cala zawartosc wordpressa wszystkie wpisy kategorie i mulimedia

@bimberman jak nie zna loginu to nie może się zalogować z jakiegoś powodu, ostatni mail ze zmianą hasła miałem o 4 rano i od 8 jak zrobiłem regułę nginxa próbował z 50 razy i zero efektu.

Ujebał sobie jeszcze otwierać robots.txt?kilkalosowychcyferek

Ale to już nie wiem po co.

@entropy_ jak masz jego ip to blokuj od razu

@bimberman ze 20 ma minimum

@entropy_ patrzyłeś do jakiego kraju należy ?

@bimberman tego nie umiem sprawdzić, znaczy google nic mi nie pokazywało na pierwszy strzał to nie szukałem dalej.

Ten co wyżej

172.70.91.226

172.68.65.139

172.71.242.124

twój hosting nie uzywa cloudflare ?

@entropy_ to upewnij się że to nie jest zakres twojego hostingu bo jak zablokujesz te IP może się okazać ze blokujesz własny hosting

w konsoli windowsa albo czego tam uzywasz ping twojadres.com aby zobaczyc jaki adres ip ma twoja strona

@bimberman na razie to nic nie blokowałem, poza tym co automatycznie fail2ban zrobił.

Znalazłem jeszcze takie coś w ustawieniach xD

9eefab4a-f259-45af-9f31-3a03c14d8c85

@bimberman jak będzie jeszcze kombinował to po prostu przestawię cloudflera na tunelowanie i gościa znajdę.

Ten modsecurity dość dobrze działa, sprowokowałem go żeby zablokował mnie i ma bardzo mało cierpliwości xD

Nawet nie wiedziałem, że to mam xDDD Ban na jednej stronie obcina dostęp do wszystkich na serku więc fajnie.

Zobaczymy jak teraz będzie to pracować. Wydaje mi się że najwięcej pomogło to bo od rana nie zabrał mi dostępu xDDD

Harden wordpress security nginx

https://gist.github.com/nfsarmento/57db5abba08b315b67f174cd178bea88

db4e99e7-6283-4f90-8ece-7c91b8f43ea6

Borze, przecież pluginy wordpressa są jak sito, ja bym się bał na tym stronę stawiać. Połatałeś wszystkie pluginy i samego wordpressa?

@Fausto pierwszy raz mi się coś takiego zdarzyło.

Wszystko polatałem, zrobiłem trochę hardeningu i chyba będzie dobrze. Na razie typ się jeszcze nie dostał ponownie a od rana próbuje xD

@entropy_ ja bym jeszcze doradził - ograniczyć wtyczki do minimum, może są jakieś rzeczy bez których się obejdziesz, albo zrobisz sam w łatwy sposób.

@Fausto No co umiałem to poprawiłem, na razie się trzyma xD

@Fausto @bimberman @koszotorobur

Dziękuję za pomoc

@Fausto fakt te pluginy są jak pola minowe ale na tym polega potega wordpresa , chyba ze chcesz zmarnować pare tygodni aby samemu cos ulepić

@entropy_ - ale, żeś go zrobił - super sposób

Powietrzna piąteczka

@entropy_ XD


W WP można natywnie włączyć dwuetapowe logowanie? Moze warto dodać kolejną ścianę zabezpieczenia.

Zaloguj się aby komentować