Помощь В DLE левый скрипт (XSS - вирус)

Тема в разделе "DLE", создана пользователем danneo, 28 апр 2014.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.421
    Симпатии:
    109
    DLE 10.1
    Яша нашел левый код (вирус). Вставлен перед <!DOCTYPE html>. На всех страницах сайта.
    Подскажите, пожалуйста, что за файл может выводить его в этом месте?
    Проверил поиск в файлах кода, notepad ничего не нашел. Проверил index.php, engine.php тоже ничего. В шаблоне main тоже пусто.
    В engine/data/snap.db нашел. В нем список всех файлов сайта.
    Антивирус DLE нашел изменения файлов, но старые, месяц назад и более. За месяц яша нашел бы уже не раз этот вирус. Соответственно, что-то где-то другое.
    ai-bolit тоже ничего конкретного не нашел.
    Такую же проблему нашел и на соседних сайтах (так показывает яша). Но когда нажимаю подробнее (в вебмастере), написано, что ничего не найдено. То ли глюк у яши, то ли код проставляется и снимается по графику :)
    Также, на соседних сайтах, которые на DLE тот же вирус (код). Но на других CMS пусто. Значит сломали CMS.

    Вредоносный код:


    Найден в sitelogin.php, calendar.php и т.п. (на разных сайтах по-разному) такой код:

    Как определить, как он туда закачался? Как закрыть дыру?
     
    Последнее редактирование модератором: 11 май 2014
  2. ivan.petrov

    ivan.petrov Постоялец

    Регистр.:
    12 апр 2013
    Сообщения:
    94
    Симпатии:
    41
    Подключайтесь по ssh

    Код:
    # grep -rl ‘base64_decode’ *
    Код:
    # find ./ -name '*.php' | xargs grep -E '[0-9a-zA-Z/]{80}'
    Эта команда найдет все скрипты PHP, в которых есть строки, похожие на base64 длиной не менее 80 символов. Ставите их на подозрение. Дальше сравниваете с чистым дистрибутивом CMS.

    Переде удалением или изменением файлов смотрите дату изменения файла. По этой дате и названию файла ищите подозрительную активность в логах веб сервера, если это был взлом. Если у вас угнали пароль от ftp хостинга там ни чего не будет.
     
  3. dfgrd

    dfgrd Создатель

    Регистр.:
    1 окт 2008
    Сообщения:
    15
    Симпатии:
    3
    Можно и аналогичной регуляркой поискать по файлам например в нотепад++
     
  4. funnywheel

    funnywheel

    Регистр.:
    6 авг 2010
    Сообщения:
    178
    Симпатии:
    111
    Folder Find Text - софтина для поиска по содержимому в файлах, без возни с регулярками, под винду естессно
     
  5. skysup

    skysup Писатель Нарушитель

    Регистр.:
    16 ноя 2012
    Сообщения:
    7
    Симпатии:
    0
    У меня при поиске нашел такое:
    Код:
    ./engine/classes/min/lib/Minify/YUI/CssCompressor.php: * [USER=69689]@see[/USER] 
    Это норма или ?
     
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.040
    В дистрибутиве 10.2 такой строки нет.
     
  7. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.421
    Симпатии:
    109
    опять какая-то хрень. то ли на сайте вирус, то ли в браузере.
    При заходе на DLE сайте, на одном акке с Opera сначала грузится сайт, затем открывается страница левая страница (меняется только HTML-код начисто, Title страница от сайта).
    Адрес сайта rupolonin.co.vu
    Нашел снова похожий код. Причем вроде как на тех же сайтах те же самые файлы. Другие CMS на этом акке не тронуты.
    Проверил антивирусом, изменений не найдено. Нашел по измененным датам файлов.

    Как определить откуда это дело идет, где дыра?
     
    Последнее редактирование: 29 май 2014
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.040
    danneo, надо читать очень внимательно ноги сервера. Так же нужно понять, какие модули и изменения в коде производились.
     
  9. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.421
    Симпатии:
    109
    В смысле? На разных сайтах в разные php файлы (на каждом сайты свой файл) добавился код нескольких функций, а затем сразу их вывод.
    Что это дает?
    Если FTP-логи чистые, то в php код можно добавить только через шелл?

    Допустим... на одном сайте есть дыра в моем коде модуля. То тогда, как "принято", заливался бы шелл, а далее сканировались бы все сайты акка и везде бы вставлялся вирус. Но т.к. на других CMS его нет, это может означать, что вставляется код в каждый конкретный сайт. Т.к. код CMS правился только на одном сайте, а ломаются все DLE, то это значит, что дыры либо шеллы во всех DLE.
    Это значит, что шелл заливается через ту же самую дыру в CMS, либо присутствует всегда (после нулла).
    Правильно?
     
  10. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.040
    Нет, не правильно.
    Это значит, что работа идёт шаблонная. Т.е. взлом идёт либо роботом, либо школьником по заранее записанной инструкции. Шелл прекрасно мог быть удалён после выполнения коварного плана. Кроме того, зачем заливать шелл, если можно залить сразу изменённый файл?

    Что касаемо дистрибутива - если он с этого сайта, то я его лично проверял - никакой гадости там нет.

    Помимо логов FTP надо анализировать логи Apache/nginx и логи ssh. Выискивать подозрительные запросы и подключения, логи приёма, передачи файлов по SSH и т.д.