Entenda como funciona um ataque de força bruta no WordPress

Aprenda sobre o ataque de força bruta e saiba como evita-lo para proteger sua instalação WordPress.

Seus amigos merecem saber desse conteúdo?

Você acabou de sofrer um ataque de força bruta neste exato momento e talvez nem saiba. Ele pode ter sido bem sucedido, ou não. Em linhas gerais, um ataque de força bruta é quando o atacante tenta uma combinação de login e senha em seu site seguidas vezes até conseguir uma combinação bem sucedida.

Com a insistência e descoberta do par correto de login e senha, o atacante ganha acesso ao painel administrativo do WordPress e sua imaginação será o limite para as possibilidades de coisas que ele fará com o seu bem sucedido ataque de força bruta direcionado ao seu site.

Ataque de força bruta não é exclusividade do WordPress

Ataque de força bruta

O ataque do tipo de força bruta acontece com qualquer aplicação web disponível na internet. O WordPress é uma plataforma imensamente popular e largamente utilizada no mundo todo. Essa popularidade o faz ser alvo de atacantes e ganhar ataques de força bruta de forma direcionada e exclusiva.

Infelizmente muitos usuários não tem conhecimento e consciência de critérios necessários de segurança e acabam falhando e ajudando em muito um ataque de força bruta ser bem sucedido ao fazerem uso, por exemplo, do nome de usuário “admin” ou escolher uma senha fraca.

Você como usuário tem a obrigação e o dever de no mínimo escolher uma senha forte com a combinação de caracteres minúsculos e maiúsculos somados a caracteres especiais e números. A versão 4.3 do WordPress melhorou ainda mais sua relação com o usuário quando esse vai definir uma senha para sua conta pessoal, sugerindo e ajudando-o a fazer uma boa escolha nesse sentido. Por trás desse recurso está um passo da plataforma em ajudar os usuários a evitarem que seus sites sejam hackeados através de ataque de força bruta.

Como funciona o ataque de força bruta no WordPress

Um ataque de força bruta pode ser realizado manualmente ou através de métodos e ferramentas que automatizam o processo.

Como funciona o ataque de força bruta de forma manual

O atacante acessa o endereço de autenticação do WordPress – sitex.com.br/wp-login.php – e realiza tentativas de login informando um nome de usuário e senha. Ele repetirá a ação até conseguir acertar uma combinação.

Como funciona o ataque de força bruta de forma automatizada

O atacante através de uma ferramenta informa o endereço de autenticação do site alvo em WordPress, um ou mais nomes de usuários e informa o endereço de um dicionário de senha em seu computador, um arquivo texto com várias senhas, uma por linha. A ferramenta fará todas as tentativas de login com as senhas disponíveis no dicionário para cada nome de usuário informado. No final do processo será listado as combinações de nomes de usuários e senhas e seu resultado: falha ou sucesso.

Como realizar ataque de força bruta no WordPress através do WPScan

O WPScan é uma ferramenta incrível para escaneamento de vulnerabilidades do WordPress e seus plugins. Ela também pode ser utilizada para simular ataques de força bruta.

Através do recurso é possível definir quantas threads ocorrerão simultâneamente. Direcionar o ataque de força bruta para um nome de usuário específico ou todos eles.

O exemplo abaixo direciona o ataque de força bruta para um nome de usuário em específico, nesse caso “admin”, e consulta o arquivo dicionario-de-senha.lst onde há milhares de senhas para serem utilizadas na combinação.

ruby wpscan.rb --url siteEmWordPress.com.br --wordlist dicionario-de-senha.lst --username admin

No outro exemplo abaixo, o ataque de força bruta é direcionado a todos os usuários registrados e serão realizadas 30 tentativas ao mesmo tempo.

ruby wpscan.rb --url siteEmWordPress.com.br --wordlist dicionario-de-senha.lst --threads 30

Como se prevenir e evitar ataques de força bruta no WordPress

É muito importante que você se previna contra ataques de força bruta que possam ser direcionado ao seu site em WordPress. Abaixo vou detalhar várias ações simples, e outras nem tanto, que você precisará implementar em sua instalação e conta de usuário para garantir uma maior segurança para WordPress.

Nomes de usuários contra ataque de força bruta

A regra mais simples de todas: não faça uso do nome de usuário “admin”. Ao realizar uma nova instalação de WordPress escolha um nome de usuário diferente desse, e caso ele esteja em uso saiba como remove-lo.

Você deve também evitar que os nomes de usuários registrados sejam capturados pelos atacantes. Se o ataque de força bruta for realizado através do WPScan e sem informar um nome de usuário específico, a ferramenta executará um outro método antes do início do processo para obter os nomes de usuários. Se for uma outra ferramenta, o atacante executará algum processo para obter essa lista.

Seja através do WPScan ou qualquer outra ferramenta você deve evitar a listagem dos nomes de usuários registrados no WordPress e evitar que os atacantes ficam de posse dessa lista.

Senhas seguras contra ataque de força bruta

Relaciono o uso de senha fraca com o backup de dados. Você somente dará atenção ao fato e fará a escolha de uma senha segura quando alguém em uma tentativa descobrir sua combinação. Sobre o backup, você já perdeu algum dado importante e não tinha como recuperar?

Os navegadores de internet lidam bem com a sugestão e armazenamento de senhas fortes para serem vinculadas as suas contas. Os que não oferecem esse recurso podem ser melhorados com extensões e programas similares.

O WordPress a cada versão disponibilizada procura orientar e implementar recursos para ajudar o usuário na escolha e gestão de senhas fortes e isso ficou ainda mais evidente na versão 4.3. Também existem plugins que forçam o usuário a escolher uma senha forte, uma vez que as fracas não são permitidas e bloqueadas para uso.

Uma senha forte é composto de caracteres minúsculos, maiúsculos e combinados com números e caracteres especiais. O vídeo abaixo poderá lhe ajudar na escolha.

Autenticação de dois fatores e captcha para auxiliar os usuários

O recurso de captcha é controvérsio por às vezes dificultar a vida do usuário. Mas há opções elegantes que conseguem separar os robôs dos humanos através de recursos simples e inteligentes como a resposta de uma conta matemática do tipo “cinco + XXX = 49” ou a marcação de um campo de formulário informando que o usuário não é um robô.

A autenticação de dois fatores pode ser implementada ao contrário do captcha e assim trabalhar com o critério “o que você tem?” para a autenticação do usuário além do “o que você sabe?”. Aprenda como implementar a autenticação de dois fatores no WordPress.

Proteção para o arquivo wp-login.php

Em qualquer tentativa de ataque de força bruta ele será direcionado para o arquivo wp-login.php. Há métodos de proteção que podem ser aplicados a ele para dificultar a vida dos atacantes. Alguns desses métodos podem exibir um esforço extra dos usuários e outros não.

A implementação de um Web Application Firewall (WAF) filtrará os acessos ao arquivo wp-login.php e permitirá somente os acessos legítimos e isso é transparente e o usuário não percebe e evita um esforço extra da sua parte. É uma solução que precisa ser contratada e exige investimento financeiro.

Exemplo do WAF da Sucuri

Na contra-mão do WAF, que exige investimento financeiro e é transparente para o usuário, é possível implementar uma autenticação HTTP no arquivo wp-login.php onde será exigido um login e senha do usuário para ter acesso ao arquivo e posteriormente informar seus dados de acesso ao WordPress. Outra possibilidade é restringir o acesso a endereços específicos de IP, para isso você precisará contar com endereços de IP fixos.

Proteção contrata spammers e referências não identificadas

Quando você não tem um WAF implementado é aconselhável fazer uso de um código adicional em seu arquivo .htacess, em caso de uso do servidor web Apache, para evitar o acesso e ataque de força bruta direcionada aos arquivos wp-login.php e wp-comments-post.php por referências não identificadas. Essa prática é muito comum pelos spammers que precisam injetar seus links e códigos maliciosos em quantos mais sites conseguirem.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
RewriteCond %{HTTP_REFERER} !.*seu-site.com.br.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</ifModule>

Agora que você aprendeu como funciona um ataque de força bruta aplique as técnicas e sugestões apresentadas neste artigo para ter um WordPress mais seguro e evitar esse tipo de ataque.

Opa! Não conseguimos encontrar o seu formulário.