Вызов вредоносного скрипта из .htaccess

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

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 2 апреля 2009 в 18:31

Обнаружил на одном из своих сайтиков вредоносную "закладку". И кому сей простенький проект мог запонадобиться, ума не приложу. Smile Пионэры, видать, практиковались.

В .htaccess вызывался шифрованный скрипт. Для расшифровки неких данных cкрипт вызывает функции unserialize, gzuncompress, base64_decode и затем запускает расшифрованную программу. Примерно так: $contentssdata='здесь_кодированный_и_компрессированный_текст';
$todocontent=unserialize(gzuncompress(base64_decode($contentssdata)));
eval($todocontent[0]);

Два вопроса к сообществу:

- Хотелось бы посмотреть, что запускаемая программа представляет собой. Может кто-то помочь набросать скрипт расшифровки и вывода исходного текста $contentssdata?
Я бы и сам, но там, похоже, происходит рекурсивный вызов многократно зашифрованного исходника (echo $todocontent[0]; выводит eval(gzinflate(base64_decode('blablabla'))).

- Судя по расположению файла со скриптом (/pub/home/***/htdocs/modules/fckeditor/fckeditor/editor/filemanager/browser/default/connectors/list.php ), дело не обошлось без дыры в FCKEditor'е.
А, может быть, просто убрали файл "с глаз подальше", а меняли .htaccess через взлом FTP-пароля.
Никто не встречался с такой вредоносной "закладкой"? Какую уязвимость использовали? Какие идеи?

Комментарии

Аватар пользователя PVasili PVasili 2 апреля 2009 в 18:45

Попробуем разобрать:
- А кто вам в .htaccess нагадил? смотрите логи со стороны сервера (и там же когда и откуда залили шелл).

- Если он закрыт для сервера, варианта 2 в системе у вас кто-то или скорее всего на "продвинутых" хостёрах по ftp влезли (тут бессильно все).

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

стандартно:
- антивирус вы своей системе(файрвол)
- смена ВСЕХ паролей к панели/ftp и пользователей для базы
- кто ещё имеет доступ к панели хостера или ftp
- проверьте все права на папки/файлы (если провайдер кривой - тут медицина бессильна), лучше проконсультироваться с ним
- посмотреть у кого много прав на PHP в блоках

Аватар пользователя kosilko kosilko 2 апреля 2009 в 19:22

"<a href="mailto:vadbars@drupal.org">vadbars@drupal.org</a>" wrote:
Никто не встречался с такой вредоносной "закладкой"? Какую уязвимость использовали? Какие идеи?

заражение htaccess это что-то новенькое, обычно страдают index.php и html. Если веб-мастер использует опцию сохранения паролей в своем фтп клиенте, то 99% даю, что кроме него и вируса на его машине в процессе заражения сайта не участвовал более никто Smile А насчет расшифровки, боюсь что после всех декомпрессий вы получите изрядно обфусцированный код, или (что более вероятно) маленький кусочек javascript с iframe..

Аватар пользователя Azerot Azerot 2 апреля 2009 в 22:01

Ага, очень широко распространено. Клиентская машина ловит троян, потом клиенту заливают по FTP каки на сайт, а потом клиент начинает звонить и ещё возмущаться почему мы его файлы не проверяем на вирусы. Аха щас! Во-первых, хостер несёт ответсвенность только за корректную работу веб-сервисов, а не за содержимое сайта. Во-вторых, на следующий день после лечения антивирусом что-то сломается, а время изменения файла вчера - заколебёшься клиенту доказывать, что ничего не меняли, скажет сломали мне сайт - чините! Нахрен, нахрен. Контент сайта - территория пользователя в том случае, если хостер гарантирует отсутствие прав на измнение у других пользователей.

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 3 апреля 2009 в 9:13

скрипт можно и не расшифровать на лету, хеш будут подсовывать с удаленного сайта.
Это я не понял. Скрипт лежит не на удаленном сайте, а у меня на сервере. Он что-то делает и хотелось бы знать, что именно.
Я запускал его на локальной машине, по логам вроде бы кто-то ломится слушать порты 443 и 80 и что-то делать с SSL. Но не уверен, что это именно этот скрипт.

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

А насчет расшифровки, боюсь что после всех декомпрессий вы получите изрядно обфусцированный код, или (что более вероятно) маленький кусочек javascript с iframe..
Может быть и так, хотя размер кода не так уж мал - 24kb. Это, правда, после многократных base64_code.
Но в любом случае интересно, что именно подсунули.

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 3 апреля 2009 в 11:05

Итак. Код, действительно, несколько обфусцирован. Но вполне читаем и даже можно понять в общих чертах, что он делает Smile

Хозяйке на заметку. В сети обнаружилось довольно много статей по расшифровке gzinflate(base64_decode('blabla')); и даже есть несколько сервисов. Мне помог вот этот. Вот исходники декодера.

p.s. Одна из переменных называется "xyia4im", что вполне можно прочитать по-русски. Smile

Аватар пользователя Vladimir_VVV Vladimir_VVV 3 апреля 2009 в 12:27

"kosilko" wrote:
Если веб-мастер использует опцию сохранения паролей в своем фтп клиенте, то 99% даю, что кроме него и вируса на его машине в процессе заражения сайта не участвовал более никто =)

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

Аватар пользователя kosilko kosilko 3 апреля 2009 в 12:58

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

вы немного не в курсе о последних вирусных тенденциях... Мне довелось словить один раз такого, несколько раз я прибивал подобные штуки на машинах знакомых. Эта дрянь не то что расшифровывает пароли популярных клиентов (будь то фтп или icq или почта), она устанавливается как драйвер файловой системы, и в результате никакой файл-менеджер его неспособен увидеть. С реестром та-же байда - ключи сокрыты. Sysinternals, AVZ и RkUnhooker мне помогли. Вообще в инете достаточно инфы на эту тему, если копнуть. На wasm.ru был топик, народ исследовал нечто подобное, наворотов там скажу я - туева хуча, и расшифровка паролей это лишь малая часть того что он умеет.

Аватар пользователя Vladimir_VVV Vladimir_VVV 3 апреля 2009 в 13:18

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

Аватар пользователя kosilko kosilko 3 апреля 2009 в 14:49

ну, если уж на то пошло, то рано или поздно настанет момент, когда вы будете менять пароль, и тогда уж без клавы никак... а насчет повезет-не повезет - тут я не знаю, каков там счет поддерживаемых фтп-клиентов, но не уверен что они ограничились парочкой totalcmd и cute ftp. Зато, если вы храните пароли и у вас их стырили, вы потом можете не найти взаимосвязи между моментом заражения вашего сайта и вашими действиями. Вам скажут что один из ваших проектов заражен, а вы по ФТП туда уж месяц как не лазили. Отсюда и начинаются вопросы - а не хостер ли виноват, или пионеры какие-нить ? Smile

Аватар пользователя kosilko kosilko 3 апреля 2009 в 17:33

"Vladimir_VVV" wrote:
Ну то есть я Вас убедил что вероятность заражения с клавиатурного набора выше чем с автовходом?

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

Аватар пользователя Azerot Azerot 3 апреля 2009 в 22:35

Самое интересно, всё это можно предотвратить.
Уже давно есть FTP-серверы, которые позволяют настроить даже для виртуальных пользователей доступ только с определённых IP. Таким образом, даже заполучив пароль, хакер ничего залить не сможет. Беда в том, что у хостеров как правило стоит что попало и даже при наличии нормального FTP-сервера, панель управления хостингом не умеет работать с этой возможностью Sad

Аватар пользователя alexeyko alexeyko 4 декабря 2009 в 11:40

Судя по симптомам, это уже встречал
Если бы у Вас был медленный канал, то Вы бы заметили, что делает данный скрипт.
В процессе загрузки страницы добавляет несколько сотен ссылок на порносайты.
после загрузки страницы ссылки делаются невидимыми. Обнаружить их можно было только просмотрев html загруженной страницы.
антивирус ничего не показывал

лечилось заливкой движка по-новому

Аватар пользователя avast@ avast@ 20 июня 2012 в 13:19

Эх люблю почитать такие темы Smile Я правда далеко от вас про эти штуки не знаю ничё, просто хотел сообщим у меня какая то хрень на Drupale 6 была, что все мои файлы с расширением .js были поражены каким то кодом после QUERY после родного кода файлов. Пришлось всё лопатить и чистить. Хостер мне написал "дефейс бай мария батьковна" меняй мальчик все пароли. Я вот думаю где дырка то куда еба.. можно Drupal?... или в самом деле троянская программа была у меня и фтп пароли украдены...,вообщем ничё я не менял а просто почистил делаю быкап регулярно и всё! Правда посещаемость упала в 3 раза с пс гугла, буду надеятся что это временный фильтр, правда это время уже 2-ой мес. идёт... . Чмошники сайты расскручивать не хотят, а конкурентов ломают!