Pular para o conteúdo
Skillpedia
Análise e planilhas35 mil · #5498

analyzing-typosquatting-domains-with-dnstwist

Faz seu agente criar variações de nomes de domínio para detectar typosquatting. Ajuda a encontrar domínios que tentam se passar pela sua organização.

O que ela faz

Esta ferramenta cria variações de nomes de domínio que parecem muito com um nome original. Ela verifica se esses nomes parecidos foram registrados e se apontam para sites que tentam se passar pelo original, ajudando a encontrar tentativas de fraude.

Quando usar

  • ✓Quando você suspeita que alguém está usando um nome de site parecido para enganar pessoas.
  • ✓Quando você quer verificar se há sites fraudulentos que imitam a sua marca.
  • ✓Quando você precisa investigar um link suspeito que recebeu por e-mail ou mensagem.

Exemplo do que pedir para a IA

“Verifique se existem domínios parecidos com 'minhaempresa.com' que possam ser fraudulentos.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-typosquatting-domains-with-dnstwist/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/analyzing-typosquatting-domains-with-dnstwist/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta gera milhares de nomes de domínio semelhantes ao que você fornecer. Depois, ela verifica se esses nomes foram registrados e se os sites associados a eles são visualmente parecidos com o original, indicando uma possível fraude.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-typosquatting-domains-with-dnstwist

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-typosquatting-domains-with-dnstwist/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Analisando Domínios de Typosquatting com DNSTwist

Visão Geral

DNSTwist é um motor de permutação de nomes de domínio que gera nomes de domínio com aparência semelhante para detectar typosquatting, ataques de phishing com homógrafos e impersonação de marca. Ele cria milhares de permutações de domínio usando técnicas como substituição de caracteres, transposição, inserção, omissão e substituição de homóglifos, em seguida, verifica registros DNS (A, AAAA, NS, MX), calcula a similaridade de páginas web usando hashing difuso (ssdeep) e hashing perceptual (pHash), e identifica domínios registrados potencialmente maliciosos.

Quando Usar

  • Ao investigar incidentes de segurança que exigem a análise de domínios de typosquatting com dnstwist
  • Ao construir regras de detecção ou consultas de caça a ameaças para este domínio
  • Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise
  • Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas

Pré-requisitos

  • Python 3.9+ com dnstwist instalado (pip install dnstwist[full])
  • Opcional: Banco de dados GeoIP para geolocalização de IP
  • Opcional: Chave de API Shodan para enriquecimento
  • Acesso à rede para realizar consultas DNS
  • Compreensão dos tipos de registro DNS e registro de domínio

Conceitos Chave

Técnicas de Permutação de Domínio

O DNSTwist gera permutações usando: adição (anexar caracteres), bitsquatting (erros de inversão de bits), homóglifo (caracteres Unicode visualmente semelhantes como rn vs m), hifenização (adicionar hifens), inserção (inserir caracteres), omissão (remover caracteres), repetição (repetir caracteres), substituição (substituir por teclas adjacentes do teclado), subdomínio (inserir pontos), transposição (trocar caracteres adjacentes), troca de vogais (trocar vogais) e baseado em dicionário (anexar palavras comuns).

Hashing Difuso e Similaridade Visual

O DNSTwist usa ssdeep (hash sensível à localidade) para comparar conteúdo HTML e pHash (hash perceptual) para comparar capturas de tela de páginas web. Isso ajuda a identificar sites de phishing clonados que imitam visualmente o site legítimo. Uma pontuação de alta similaridade indica uma página de phishing provável.

Fluxo de Detecção

O fluxo típico é: gerar permutações de domínio -> resolver registros DNS -> verificar domínios registrados -> comparar similaridade de páginas web -> sinalizar domínios suspeitos -> alertar a equipe de segurança -> solicitar remoção. Para um domínio corporativo típico, o dnstwist gera 5.000-10.000 permutações.

Fluxo de Trabalho

Etapa 1: Análise Básica de Permutação de Domínio

import subprocess
import json
import csv
from datetime import datetime

def run_dnstwist_scan(domain, output_file=None):
    """Run dnstwist scan against a target domain."""
    cmd = [
        "dnstwist",
        "--registered",     # Only show registered domains
        "--format", "json", # Output in JSON
        "--nameservers", "8.8.8.8,1.1.1.1",
        "--threads", "50",
        "--mxcheck",        # Check MX records
        "--ssdeep",         # Fuzzy hash comparison
        "--geoip",          # GeoIP lookup
        domain,
    ]

    print(f"[*] Scanning permutations for: {domain}")
    result = subprocess.run(cmd, capture_output=True, text=True, timeout=600)

    if result.returncode == 0:
        results = json.loads(result.stdout)
        registered = [r for r in results if r.get("dns_a") or r.get("dns_aaaa")]
        print(f"[+] Found {len(registered)} registered lookalike domains")

        if output_file:
            with open(output_file, "w") as f:
                json.dump(registered, f, indent=2)
            print(f"[+] Results saved to {output_file}")

        return registered
    else:
        print(f"[-] dnstwist error: {result.stderr}")
        return []

results = run_dnstwist_scan("example.com", "typosquat_results.json")

Etapa 2: Analisar e Priorizar Resultados

def analyze_results(results, legitimate_ips=None):
    """Analisa os resultados do dnstwist e prioriza ameaças."""
    legitimate_ips = legitimate_ips or set()
    high_risk = []
    medium_risk = []
    low_risk = []

    for entry in results:
        domain = entry.get("domain", "")
        fuzzer = entry.get("fuzzer", "")
        dns_a = entry.get("dns_a", [])
        dns_mx = entry.get("dns_mx", [])
        ssdeep_score = entry.get("ssdeep_score", 0)

        risk_score = 0
        risk_factors = []

        # Alta similaridade com o site legítimo
        if ssdeep_score and ssdeep_score > 50:
            risk_score += 40
            risk_factors.append(f"alta similaridade web ({ssdeep_score}%)")


…
Perguntas frequentes

O que é 'typosquatting'?

É quando alguém registra um nome de domínio com um erro de digitação comum do nome original, esperando que as pessoas errem ao digitar e acabem no site errado, que pode ser malicioso.

O que são 'homoglifos'?

São caracteres que parecem iguais, mas são diferentes (ex: 'rn' e 'm'). Nomes de domínio podem usar esses caracteres para enganar os usuários, parecendo o site original.

Por que é importante verificar se o domínio está registrado?

Se o nome de domínio parecido não foi registrado, ele não pode ser usado para hospedar um site fraudulento. Verificar o registro nos ajuda a focar nas ameaças reais.

Detalhes

Descrição original do autor

Generate domain permutations with dnstwist and check DNS resolution to detect typosquatting, homograph phishing, and brand impersonation domains registered against your organization. Use when asked to monitor for lookalike domains, investigate a phishing domain, or assess brand-impersonation risk.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5498
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas