Módulo 7 · 7.1
Como os sites são pirateados
Módulo 7: Segurança · Tempo de leitura: 8 minutos
Objetivo de aprendizagem: Após esta lição, saberá explicar de forma realista como os sites WordPress costumam ser pirateados, por que motivo os sites pequenos também são alvo e o que os atacantes pretendem com isso.
Conceitos-chave: vulnerabilidade, falha num plugin ou tema, verificações automáticas, credential stuffing, força bruta, software pirateado (nulled), computador infetado, consequências (spam, redirecionamento, phishing, malware), superfície de ataque
"O meu site é demasiado pequeno para ser interessante"
Este é o equívoco mais comum. Praticamente nenhum ataque a sites WordPress é dirigido a um site específico. Os atacantes utilizam programas que percorrem automaticamente milhares de sites por hora, à procura de uma única coisa: uma vulnerabilidade conhecida. Se o programa a encontrar, invade o site, quer pertença a uma multinacional ou ao clube de futebol da sua terra.
O que procuram não é o seu site, mas sim aquilo que o seu site pode fazer:
- Spam e abuso de motores de pesquisa: milhares de páginas ou ligações ocultas para medicamentos, jogos de apostas ou lojas falsas, que aproveitam a boa reputação do seu domínio no Google.
- Redirecionamento: os visitantes (muitas vezes apenas os que chegam através do Google ou de um telemóvel) são enviados para um site falso ou página fraudulenta. Você não vê nada disto, porque acede através de um marcador (bookmark).
- Phishing: uma página de início de sessão falsa de um banco ou serviço de entregas, escondida na sua pasta uploads, com o nome do seu domínio na ligação.
- Distribuição de malware aos visitantes.
- Envio de e-mail: o seu servidor envia spam, e depois o seu próprio e-mail deixa de chegar ao destino.
- Capacidade de processamento: o seu pacote é utilizado para ataques a outros sites ou para minerar criptomoedas.
- Dados: numa loja online ou site de membros, os dados dos seus clientes.
Entrada 1: uma falha num plugin ou tema
Esta é, de longe, a mais importante. Segundo o relatório anual da Patchstack, uma empresa que regista as vulnerabilidades do WordPress, foram encontradas 7.966 novas vulnerabilidades no ecossistema WordPress em 2024. 96% estavam em plugins, 4% em temas, e apenas sete no próprio WordPress. A maioria das falhas não é fácil de explorar, mas algumas são, e essas são verificadas em massa nas horas ou dias seguintes à sua divulgação.
O padrão é quase sempre o mesmo:
- Encontra-se uma falha na versão 3.2 de um plugin popular.
- O autor lança a versão 3.2.1 com a correção. A falha torna-se pública.
- Em pouco tempo, programas percorrem a internet à procura de sites com a versão 3.2 ou anterior.
- Quem ainda não atualizou é invadido.
O perigo não está, portanto, numa falha secreta que ninguém conhece, mas sim numa falha conhecida para a qual já existe uma atualização que não foi instalada. Por isso, as atualizações (lição 7.2) são a medida mais importante de todas, e deve remover o que não utiliza (lição 5.4): cada plugin presente, mesmo desativado, aumenta a sua superfície de ataque.
Um caso particular são os plugins abandonados: o autor deixou de os desenvolver, já não há correções. E o software pirateado (nulled) (lição 5.3): uma cópia roubada de um plugin pago, muitas vezes com uma porta das traseiras (backdoor) incorporada.
Entrada 2: palavras-passe
A segunda grande entrada é iniciar sessão com uma palavra-passe válida:
- Credential stuffing: numa violação de dados de outro serviço, foram divulgadas milhões de combinações de endereço de e-mail e palavra-passe. Programas experimentam essas combinações em vários sites, incluindo páginas de início de sessão do WordPress. Se utilizar a mesma palavra-passe do serviço comprometido, conseguem entrar.
- Força bruta: um programa experimenta simplesmente muitas palavras-passe, muitas vezes com nomes de utilizador comuns como
admin. Com uma palavra-passe longa e única, isto não tem hipótese de sucesso, mas ainda assim consome capacidade de processamento do seu servidor. - Phishing: um e-mail falso do tipo "o seu WordPress precisa de ser atualizado, inicie sessão aqui" com uma ligação para uma página de início de sessão falsa.
A lição 7.3 aborda a defesa: gestor de palavras-passe, autenticação de dois fatores e limitação de tentativas de início de sessão.
Entrada 3: tudo à volta do WordPress
Nem todos os ataques começam no WordPress:
- Um computador infetado seu ou do seu criador de sites, com um programa que rouba palavras-passe, por exemplo as palavras-passe guardadas num programa de FTP.
- FTP comum sem encriptação, numa rede pública.
- Outro site no mesmo pacote: uma antiga instalação de testes esquecida, um Joomla antigo numa subpasta. Todos os sites num mesmo pacote partilham geralmente o mesmo utilizador no servidor. Se o site antigo for pirateado, o atacante também pode aceder ao seu WordPress.
- Uma palavra-passe de base de dados divulgada, por exemplo através de uma cópia do ficheiro wp-config.php na pasta web (lição 1.3).
- Formulários sem verificação utilizados para enviar spam.
Num bom serviço de alojamento, o seu pacote está isolado do de outros clientes no mesmo servidor (nos servidores DirectAdmin com CloudLinux, por exemplo, através do CageFS). No entanto, o que acontece dentro do seu próprio pacote continua a ser da sua responsabilidade.
O que nota (e o que não nota)
Um bom ataque, numa primeira fase, não se nota. Os atacantes querem utilizar o seu site durante o máximo de tempo possível. Sinais (a lição 7.5 aprofunda este tema):
- O Google indica "Este site pode ter sido pirateado", ou vê páginas estranhas do seu domínio nos resultados de pesquisa (experimente pesquisar
site:example.com); - os visitantes informam que acabam noutro sítio;
- existem administradores ou ficheiros que não reconhece;
- o seu serviço de alojamento ou um verificador de malware assinala algo;
- o seu e-mail deixa subitamente de chegar ao destino, ou o seu pacote fica cheio ou lento.
Defesa em camadas
Nenhuma medida é infalível. A segurança é uma acumulação de camadas, de modo a que uma falha numa camada não abra imediatamente tudo:
- Atualizar (lição 7.2): fecha as falhas conhecidas. De longe, a mais importante.
- Poucos componentes (lições 5.3 e 5.4): menos para atualizar, menos falhas.
- Proteger o início de sessão (lição 7.3): palavras-passe longas e únicas, autenticação de dois fatores, privilégios mínimos (lição 3.3).
- Reforçar (hardening) (lição 7.4): permissões, configurações e cabeçalhos que limitam os danos.
- Cópias de segurança (lição 8.1): se, ainda assim, algo correr mal, pode recuar.
- Saber o que fazer quando algo corre mal (lição 7.5).
Resumo
- Quase todos os ataques são automáticos e não dirigidos; os sites pequenos são alvo tão facilmente como os outros.
- Os atacantes querem aquilo que o seu site pode fazer: spam, redirecionamento, phishing, e-mail, capacidade de processamento, dados.
- A maior entrada é uma falha conhecida num plugin ou tema para a qual já existia uma atualização (em 2024, 96% das novas vulnerabilidades estavam em plugins).
- A segunda entrada são as palavras-passe: reutilizadas, adivinhadas ou obtidas por phishing.
- Também um computador infetado, FTP comum ou um site antigo esquecido no mesmo pacote podem ser a entrada. Defenda-se em camadas.
Questionário
Exercício
Exercício D7.1: A sua lista de riscos. Elabore uma lista de tudo no seu pacote de alojamento que pode ser uma entrada: cada instalação WordPress (incluindo sites de teste e antigos), cada plugin e cada tema (mesmo inativos), cada conta com privilégios de administração (WordPress, FTP, o painel de alojamento), e os computadores a partir dos quais se inicia sessão. Indique, para cada elemento: quando foi atualizado pela última vez, se ainda é necessário (sim/não), e quem é o responsável. Assinale as três coisas que vai limpar ou atualizar esta semana e anote porquê precisamente essas.
Exercício D7.1: A sua lista de riscos
Este exercício faz você mesmo; ninguém o verifica. Assinale o que já fez e marque o exercício como concluído.
Indique pelo menos um elemento fora do próprio WordPress (painel de alojamento, conta FTP, o seu próprio computador) e escolha ações que fechem um ponto de entrada: remover o que não utiliza, atualizar, substituir palavras-passe, ativar a 2FA.
As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.
Leitura adicional
Estes artigos descrevem os passos nos painéis da WebOké; noutros painéis o funcionamento é semelhante.
- Ajuda! O meu site foi pirateado. Como posso resolver ou evitar isso?
- Manual DirectAdmin 18.2: O meu site foi pirateado: plano de ação
- State of WordPress Security in 2025 (Patchstack, em inglês): https://patchstack.com/whitepaper/state-of-wordpress-security-in-2025/
- Segurança do WordPress (developer.wordpress.org, em inglês): https://developer.wordpress.org/advanced-administration/security/hardening/
