Como saber se a sua loja PrestaShop foi atacada
Um ataque bem feito não se nota à primeira vista. Estes são os sinais e as pesquisas concretas para detetar webshells e roubo de cartões.
O atacante que entra numa loja online não quer que o veja: quer ficar. Por isso os sinais são subtis. Se suspeita de alguma coisa, estas são as verificações que fazemos.
Sinais de alarme
- Clientes que denunciam cobranças fraudulentas depois de comprarem na sua loja.
- Redirecionamentos para outros sites, sobretudo só a partir da Google ou só no telemóvel.
- Funcionários do back office que ninguém criou.
- Avisos da Google Search Console sobre conteúdo pirateado ou spam.
- Carga do servidor alta sem aumento de visitas.
Procurar webshells
Uma webshell é um ficheiro PHP que permite ao atacante executar comandos no seu servidor. Costuma esconder-se em pastas de módulos ou de imagens, com nomes inocentes.
# PHP em pastas onde não deveria haver
find img upload download -name "*.php" ! -name index.php
# Funções típicas de backdoors
grep -rlE "eval\s*\(\s*(base64_decode|gzinflate|\\\$_(POST|REQUEST|GET))" --include=*.php .
# Ficheiros PHP modificados nos últimos 30 dias
find . -name "*.php" -mtime -30 -not -path "./var/*"
Procurar skimmers
Um skimmer rouba os dados do cartão no checkout. Costuma ser JavaScript injetado na base de dados (configuração, blocos de texto, traduções) ou em ficheiros JS do tema.
- Procure
<scriptnas tabelas de configuração, CMS e blocos HTML. - Veja que domínios externos a sua página de pagamento carrega (separador Rede do navegador).
- Compare os JS do tema com uma cópia limpa.
Compare com o original
Descarregue o ZIP oficial da sua versão do PrestaShop e compare os ficheiros do núcleo. Qualquer diferença em classes/, controllers/ ou src/ que não venha de um override documentado é suspeita.
Obrigações
Se foram expostos dados pessoais, o RGPD obriga a notificar a Agencia Española de Protección de Datos (a autoridade espanhola de proteção de dados) no prazo de 72 horas e, se houver dados de cartões, a sua entidade de pagamentos. Consulte o seu assessor jurídico.