PDA

Zobacz pełną wersję : Wylatujące back linki - problem



dudek1989_2
02-03-2017, 13:40
Witam serdecznie,


Mam problem z ze stroną internetową, a konkretnie z back linkami wylatującymi ze strony po ataku.
Wersja joomli 3.6.5
Niestety nie zrobiłem wcześniej kopi zapasowej witryny więc opcja backup’u nie wchodzi w grę.


Włamanie polegało m.in na zmianie plik sitemap.xml i linkowaniu na strony z rozszerzeniem „*.qhtm”


Za pomocą programu MELD ściągnąłem całą witrynę na dysk lokalny oraz ściągnąłem czyste pliki joomli w wersji 3.6.5 z serwera joomli. Za pomocą w.w programu porównałem zawartość i pousuwałem dodatkowe wpisy i pliki. Tak samo zrobiłem z folderem szablonu joomli gdyż posiadam jego czystą kopię i równie pousuwałem dodatkowe wpisy i pliki.


Przeskanowałem pliki skryptem jamss.php oraz zainstalowałem antywirusa Centrora Security i co mnie zaciekawiło że w logach z antywirusa widać blokowane wylatujące linki.
I niby wszystko jest OK., strona wisi, ale na logach z serwera widać czasami dziwne zachowanie:


"GET /index.php/power-essays-com-review HTTP/1.1" 404 795 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/ (http://ahrefs.com/robot/))"
"GET /vskdmoakleyen/9y5g0u80/23491379.qhtm HTTP/1.0" 404 1633 "http://XXXXX.pl/vskdmoakleyen/9y5g0u80/23491379.qhtm" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.0.3539 Safari/537.36"


Lub


GET /ebyrhoakleyen/2o0g9h80/22502580.qhtm HTTP/1.0" 404 1633 "http://XXXXX.pl/ebyrhoakleyen/2o0g9h80/22502580.qhtm" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
"GET / HTTP/1.0" 200 30492 "http://XXXXX.pl/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
"GET /zdadsugges/9s5k8z33/853718834.qhtm HTTP/1.1" 200 1210 "http://XXXXX.pl/zdadsugges/9s5k8z33/853718834.qhtm" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36"
"GET /wpqeqoakleyen/6q1o6o79/73083407.qhtm HTTP/1.0" 404 1633 "http://XXXXX.pl/wpqeqoakleyen/6q1o6o79/73083407.qhtm" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"




Zauważyłem że problem występuje głownie podczas gdy pytanie jest poprzedzone na protokole HTTP/1.0
Próbowałem z poziomu .htaccess zablokować adres *.qhtm ale to nie działa.

Z góry dziękuję za pomoc.
Pozdrawiam.

Karol99
05-03-2017, 20:12
Zaraz, zaraz... To, że w logu masz takie wpisy z odpowiedzią 404 (czyli elementu nie znaleziono) oznacza tylko, że coś z internetu zgłosiło zapytanie z takim adresem, podając w nim HTTP_REFERER z adresem Twojej strony (być może z jakiegoś powodu ten HTTP_REFERER był potrzebny szkodliwemu skryptowi). Czyli linki nie są "wylatujące", a "wlatujące".

Moim zdaniem jedyny w tym zestawie podejrzany wpis to ten "GET /zdadsugges/9s5k8z33/853718834.qhtm HTTP/1.1" , uzyskujący odpowiedź 200 - czyli element wywoływany znaleziono... Tu sprawdzaj co się dzieje.

Swoją drogą ja bym blokował adresy ip (albo i całe grupy je zawierające), z których takie wywołania przychodzą. Na wsiakij pożarnyj słuczaj...

dudek1989_2
06-03-2017, 10:08
Zastanawia mnie tylko to dlaczego przy zwracanym błędzie jest również zwracany ciąg zapytania?

Dodatkowo zauważyłem taki objaw, którego w pierwszym moim poście nie widać, a dokładnie że jeśli zapytanie wyglądało:
GET /ebyrhoakleyen/2o0g9h80/22502580.qhtm HTTP/1.0" 404 1633 "http://XXXXX.pl/ebyrhoakleyen/2o0g9h80/22502580.qhtm" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36to kolejne zwykłe puste zapytanie zwracało również:
GET / HTTP/1.0" 200 30492 "http://XXXXX.pl/ebyrhoakleyen/2o0g9h80/22502580.qhtm (http://XXXXX.pl/ebyrhoakleyen/2o0g9h80/22502580.qhtm)" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36


Zablokowałem adresy IP i grupy adresów w pliku .htaccess i trochę to blokuję, ale tylko kilka z nich się powtarza co nie jest łatwe...

Udało mi się zablokować zapytanie za pomocą wpisu:

RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.qhtm[?\ ]
RewriteRule .* - [F]

Natomiast serwer wtedy zwraca error 500 zamiast 403, ale najważniejsze że jakoś tam działa :) oraz blokować protokół HTTP/1.0 za pomocą:

RewriteCond %{SERVER_PROTOCOL} !^HTTP/1\.1$ [NC]
RewriteRule .* - [F]

co chyba trochę zdenerwowało atakującego bo zapytania się nasiliły.

Wygląda na to że zapytanie z rozszerzeniem (nawet jak dostaje błąd 404) wpada do jakiegoś bufora i potem przy normalnym wywołaniu zwraca właśnie ten sam ciąg co poprzednio został wysłany...
W bazie danych w phpMyAdmin sprawdzałem czy gdzieś nie widnieją rozszerzenia *.qhtm ale nic tam takiego nie widać...

Pozdrawiam.