Pular para o conteúdo
Skillpedia
Diversos35 mil · #5740

exploiting-broken-link-hijacking

Ajuda seu agente a encontrar e explorar links quebrados em sites. Ele verifica se recursos externos ou domínios expirados podem ser registrados por atacantes.

O que ela faz

Esta ferramenta procura por links quebrados em um site que podem ser explorados. Ela verifica se domínios ou recursos externos que o site usa expiraram ou não foram registrados, permitindo que um atacante os registre e assuma o controle.

Quando usar

  • ✓Ao verificar a segurança de sites e identificar links que não funcionam mais.
  • ✓Ao investigar se scripts ou outros recursos de terceiros usados por um site podem ser sequestrados.
  • ✓Ao procurar por oportunidades de 'subdomain takeover' (assumir um subdomínio) em testes de segurança.

Exemplo do que pedir para a IA

“Procure por links quebrados e recursos externos que possam ser sequestrados no site example.com”

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/exploiting-broken-link-hijacking/SKILL.md

Mensagem pronta para colar

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

A ferramenta primeiro navega pelo site para encontrar todos os links externos. Em seguida, verifica se esses links ou os domínios associados ainda existem ou se podem ser registrados por outra pessoa.

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 exploiting-broken-link-hijacking

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/exploiting-broken-link-hijacking/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.

Explorando o Sequestro de Links Quebrados

Quando Usar

  • Ao auditar aplicações web em busca de referências a recursos externos expirados ou não reivindicados
  • Durante avaliações de segurança da cadeia de suprimentos de scripts de terceiros e dependências de recursos
  • Ao testar oportunidades de tomada de subdomínio via registros CNAME pendentes
  • Durante a caça a bugs por vulnerabilidades de sequestro de links quebrados
  • Ao avaliar a segurança de dependências de recursos externos em aplicações em produção

Pré-requisitos

  • Rastreador web ou spider para descobrir todos os links externos (Burp Suite Spider, Scrapy)
  • Ferramentas de consulta DNS para verificar registros CNAME e disponibilidade de domínio
  • Acesso ao registrador de domínios para reivindicar domínios expirados (como prova de conceito)
  • Compreensão de provisionamento de CDN e serviços em nuvem (S3, Azure Blob, GitHub Pages)
  • blc (broken-link-checker) ou ferramenta similar para validação automatizada de links
  • Conhecimento de serviços vulneráveis à tomada de subdomínio (can-i-take-over-xyz)

Aviso Legal: Esta habilidade é apenas para testes de segurança autorizados e fins educacionais. O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão escrita para testar é ilegal e pode violar leis de fraude computacional.

Fluxo de Trabalho

Passo 1 — Rastrear e Extrair Todas as Referências Externas

# Use broken-link-checker to find dead links
npx broken-link-checker http://target.com --recursive --ordered \
  --exclude-internal --filter-level 3 -o broken_links.txt

# Extract all external links from page source
curl -s http://target.com | grep -oP 'https?://[^"'"'"'\s>]+' | sort -u > all_links.txt

# Extract JavaScript sources
curl -s http://target.com | grep -oP 'src="[^"]*"' | grep -v target.com > external_scripts.txt

# Extract CSS references
curl -s http://target.com | grep -oP 'href="[^"]*\.css"' | grep -v target.com > external_css.txt

# Use wayback machine for historical external references
curl -s "https://web.archive.org/web/timemap/link/http://target.com" | \
  grep -oP 'https?://[^>]+' | sort -u > historical_links.txt

# Spider with Burp Suite
# Configure Spider scope to include target.com
# Review Site Map > Filter by "External" to list all external references

Passo 2 — Identificar Recursos Mortos ou Reivindicáveis

# Check if external domains are registered
for domain in $(cat external_domains.txt); do
  whois $domain 2>/dev/null | grep -qi "no match\|not found\|available" && \
    echo "[CLAIMABLE] $domain"
done

# Check HTTP status of external links
while read url; do
  status=$(curl -o /dev/null -s -w "%{http_code}" "$url" --max-time 5)
  if [ "$status" = "000" ] || [ "$status" = "404" ]; then
    echo "[DEAD] $url (Status: $status)"
  fi
done < all_links.txt

# Check for dangling CNAME records
for sub in $(cat subdomains.txt); do
  cname=$(dig +short CNAME $sub)
  if [ -n "$cname" ]; then
    resolved=$(dig +short $cname)
    if [ -z "$resolved" ]; then
      echo "[DANGLING] $sub -> $cname (UNRESOLVED)"
    fi
  fi
done

# Check cloud resource availability
# AWS S3 bucket
aws s3 ls s3://target-assets 2>&1 | grep -q "NoSuchBucket" && echo "[CLAIMABLE] S3: target-assets"

Passo 3 — Verificar Possibilidades de Tomada Específicas do Serviço

# Check GitHub Pages takeover
# If CNAME points to <user>.github.io and 404 is returned
curl -s https://subdomain.target.com | grep -q "There isn't a GitHub Pages site here"

# Check AWS S3 takeover
curl -s http://subdomain.target.com | grep -q "NoSuchBucket"

# Check Azure Blob Storage
curl -s http://subdomain.target.com | grep -q "The specified container does not exist"

# Check Heroku
curl -s http://subdomain.target.com | grep -q "No such app"

# Check Shopify
curl -s http://subdomain.target.com | grep -q "Sorry, this shop is currently unavailable"

# Use subjack for automated takeover detection
subjack -w subdomains.txt -c fingerprints.json -t 100 -o takeover_candidates.txt

# Use nuclei takeover templates
subfinder -d target.com -silent | nuclei -t http/takeovers/ -o takeovers.txt

Passo 4 — Verificar o Sequestro de Scripts Externos

# Verifica se domínios de JavaScript externos estão disponíveis para registro
curl -s http://target.com | grep -oP 'src="https?://([^/"]+)' | \
  cut -d'/' -f3 | sort -u | while read domain; do
    whois "$domain" 2>/dev/null | grep -qi "no match\|available" && \
      echo "[SCRIPT REIVINDICÁVEL] $domain carregado por target.com"
  done

# Verifica referências a pacotes npm/CDN
curl -s http://target.com | grep -oP 'unpkg\.com/[^@/]+' | sort -u

…
Perguntas frequentes

O que é 'broken link hijacking'?

É uma vulnerabilidade onde um site usa um link para um recurso externo (como um script ou imagem) que não está mais ativo ou não foi registrado. Um atacante pode registrar esse link ou domínio e fazer com que o site use o recurso controlado pelo atacante.

O que é 'subdomain takeover'?

Ocorre quando um subdomínio (como 'blog.example.com') aponta para um serviço externo (como um serviço de hospedagem) que não está mais configurado para aquele subdomínio. Um atacante pode configurar o serviço externo para controlar o subdomínio.

Quais são os pré-requisitos para usar esta ferramenta?

É necessário ter ferramentas para rastrear sites (como um 'spider'), verificar registros de DNS e, possivelmente, acesso a registradores de domínio para testar a aquisição de domínios expirados.

Detalhes

Descrição original do autor

Discovers and exploits broken link hijacking by spidering a site (Burp Suite Spider, Scrapy, curl scraping), extracting referenced external scripts/domains, and checking DNS/CNAME records and domain registration status for expired or unclaimed resources an attacker could register. Use for subdomain takeover testing, supply-chain review of third-party scripts, or bug bounty hunting for hijackable e

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5740
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