>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
HTML

Como Bloquear Centenas de Milhares de Sites de Phishing com Uma Única Linha de Código

Destroylist

A maioria dos sites de phishing dura apenas alguns dias. Os scammers registram um domínio com um nome similar a um serviço popular, roubam chaves privadas ou dados de cartões de algumas dezenas de usuários desatentos, e então passam para o próximo endereço. Os bancos de dados tradicionais de antivírus frequentemente ficam para trás na fase de análise, quando o dano principal já foi feito.

Recentemente encontrei o projeto de código aberto Destroylist pela equipe PhishDestroy. Não é apenas mais uma lista de endereços ruins, mas um sistema abrangente de coleta de ameaças que pesquisa automaticamente golpes, verifica conteúdo, relata violações aos registradores e entrega feeds prontos para uso em todos os formatos possíveis.

O Que Tem Dentro e Para Quem Serve

O banco de dados do projeto contém mais de 888.000 domínios rastreados. Desses, cerca de 180.000 estão na lista principal verificada de recursos de phishing. O projeto coleta dados de 13 fontes através de seus próprios parsers, filtrando constantemente falsos positivos.

Workflow

O feed é útil em quatro cenários claros:

  • Configurando um servidor DNS doméstico ou de escritório via Pi-hole, AdGuard Home ou Unbound.
  • Validando links dentro de serviços web, bots de mensageria ou carteiras de criptomoedas antes de redirecionar o usuário.
  • Enriquecendo dados em ferramentas de pesquisa SOC ou OSINT.
  • Treinando seus próprios modelos de filtragem de tráfego.

Feeds para Todos os Gostos e Redis Rápido

Um recurso interessante do repositório é que os autores se preocupam com como você obterá os dados. Você não precisará escrever parsers para limpar logs ou transformar JSON em tempo real. O diretório do projeto contém arquivos prontos para várias ferramentas:

  • Hosts (para Pi-hole, /etc/hosts ou Windows)
  • AdBlock (para uBlock Origin e AdGuard)
  • Dnsmasq
  • Unbound (para pfSense e OPNsense)
  • RPZ (para BIND e Knot DNS)
  • Redis

Se você precisa carregar um feed atualizado no Redis para pesquisas O(1), o repositório inclui um one-liner pronto:

curl -s https://cdn.jsdelivr.net/gh/phishdestroy/destroylist@main/rootlist/formats/primary/redis.txt | redis-cli --pipe

Após executar este comando, verificar um endereço em evil-domain.com se torna uma operação instantânea:

SISMEMBER destroylist:primary evil-domain.com

Todas as listas estão disponíveis diretamente no GitHub, assim como através do CDN jsDelivr. A segunda opção é preferível, já que requisições frequentes a arquivos brutos do GitHub podem facilmente resultar em um erro 429.

Verificação de Conteúdo HTTP e o Problema do Cloaking

Muitos criadores de listas negras se limitam à resolução DNS. Se um domínio responde ao ping ou retorna um endereço IP, é considerado ativo. Mas atacantes frequentemente usam cloaking: se um bot de busca ou scanner de segurança automatizado visita o site, recebe uma página vazia ou um placeholder. O conteúdo real de phishing é mostrado apenas a usuários reais com os cabeçalhos HTTP corretos e geolocalização.

O Destroylist tem um feed separado com verificação HTTP. Os scripts do projeto não apenas verificam registros DNS—fazem requisições HTTP reais a cada 12 horas e analisam o conteúdo da página.

Se uma página de phishing está realmente sendo servida agora, o domínio é adicionado a content_active.json. No entanto, os autores alertam honestamente: se um site não está na lista verificada por conteúdo, isso não significa que é seguro. Devido ao cloaking, é mais lógico usar a lista completa.

API Gratuita de Threat Intelligence

Se você não quer armazenar um banco de dados local ou atualizar arquivos de texto regularmente, o projeto tem uma API REST pública. É completamente gratuita, não requer registro e não precisa de chaves de API.

O recurso especial da API é o cálculo de pontuação de risco de 0 a 100 pontos. A classificação é formada a partir de uma combinação de fatores:

  • Presença na lista principal do projeto (+40 pontos)
  • Atividade DNS confirmada (+30 pontos)
  • Relatórios da comunidade (+20 pontos)
  • Palavras-chave suspeitas como airdrop, wallet, metamask (+5 pontos cada)
  • TLDs arriscados como .xyz, .top, .club (+5 pontos)

Você pode verificar um domínio via cURL com um único comando:

curl "https://api.destroy.tools/v1/check?domain=suspicious-site.xyz"

A resposta é um JSON transparente com nível de ameaça (severidade) e pontos ganhos:

{
  "domain": "suspicious-site.xyz",
  "threat": true,
  "risk_score": 85,
  "severity": "critical"
}

Para verificações em lote, há um endpoint POST em /v1/check/bulk que aceita até 500 domínios por requisição. Isso é conveniente se você está filtrando entrada de usuário ou processando logs recebidos em lotes.

Exemplo Python para verificações regulares:

import requests

def check_domain(domain: str) -> bool:
    response = requests.get(f"https://api.destroy.tools/v1/check?domain={domain}")
    if response.status_code == 200:
        data = response.json()
        return data.get("threat", False)
    return False

if check_domain("suspicious-site.xyz"):
    print("Внимание! Домен находится в черном списке.")

Lutando Contra Registradores e Automação

O Destroylist é interessante não apenas como banco de dados, mas como precedente no combate automatizado a abusos. Os autores do projeto desenvolveram um pipeline que, após detectar uma ameaça, gera evidências (capturas de tela, dumps de tráfego, dumps WHOIS) e envia reclamações oficiais a provedores de hospedagem, registradores e mais de 50 serviços de segurança incluindo Google Safe Browsing, VirusTotal, Cloudflare e Microsoft Security.

O repositório mantém transparentemente um histórico de todos os abusos reportados. O projeto publica relatórios sobre registradores que ignoram requisitos da ICANN e não respondem a dezenas de relatórios de abuso por meses.

Se um domínio legítimo foi capturado acidentalmente na varredura, há um formulário de apelação no site e Issues públicos no GitHub. Os autores processam rapidamente as solicitações e adicionam endereços corrigidos ao arquivo allowlist.json.

Appeals

Considerações Finais

O Destroylist é uma ferramenta de código aberto madura (licença MIT) com alta frequência de atualização. Graças à sua estrutura de exportação flexível, é fácil integrar tanto em um Pi-hole doméstico quanto em um serviço de produção que precisa filtrar golpes em tempo real.

Confira o repositório, pegue o formato de feed que você precisa, ou simplesmente salve o endereço da API gratuita. O projeto está ativo, desenvolvido ativamente pela comunidade, e genuinamente ajuda a tornar a rede mais limpa.

Projetos relacionados