Para onde o link realmente leva: descascando uma URL de phishing rastreada

Forense Digital & Resposta a Incidentes Nível 3/4 ~4 min 19 de setembro de 2026

O desafio

Uma enfermeira da Meridian Health encaminhou um aviso de holerite para o suporte porque o texto soava estranho. O link aponta para um rastreador de cliques que o time de marketing realmente usa, então o gateway de e-mail deixou passar e a checagem de reputação de URL voltou limpa. Esse é o truque inteiro: o rastreador é legítimo, e o destino está estacionado em um dos parâmetros dele. Quem montou a mensagem não queria esse parâmetro legível de imediato, então o embrulhou em três camadas antes de colar. Você tem o valor do parâmetro u e uma bancada. Descasque, leia o endereço em que o clique teria caído, e envie o host.

O que você vai aprender

  • Identificar percent-encoding pelos caracteres no início de um valor
  • Reconhecer base64 invertida pela posição do padding
  • Ordenar as operações de decodificação da camada mais externa para dentro
  • Usar a falha de um decodificador como evidência sobre a camada abaixo dele
  • Explicar por que um redirecionador confiável lava um destino malicioso

Habilidades testadas

Reconhecimento de codificaçãoTriagem de phishingDecodificação em múltiplas camadas

Pré-requisitos

  • Como são base64 e percent-encoding
  • As partes de uma URL

Como funciona

A ofuscação em camadas só intimida até você parar de ler o meio da string. A informação está nas pontas. Esse valor começa com %3D e traz um %2F mais adiante, e sinais de porcentagem seguidos por dois dígitos hexadecimais significam exatamente uma coisa, então a camada externa é percent-encoding e URL Decode é o primeiro passo.

O resultado é =AXasNXeh.... O conjunto de caracteres é o alfabeto base64 e o comprimento está certo, então o próximo clique óbvio é From Base64, e ele falha. Essa falha é o evento mais útil do exercício. O padding do base64 é definido para ficar no fim da string, então um sinal de igual no início não é um valor quebrado, é um valor corretamente formado que foi invertido.

Reverse produz aHR0cHM6Ly9... terminando em um único =. O prefixo aHR0cHM6Ly9 vale a pena memorizar: é a codificação base64 de https://, e ele aparece no início de toda URL embrulhada em base64 que você vai triar.

O destino decodificado é https://meridian-hr-verify.example/sso/renew?u=t.okonkwo&ref=payslip. O host disfarçado é o payload; o parâmetro u pré-preenchido é o acabamento, deixando a página falsa de login cumprimentar a destinatária pelo nome antes mesmo de ela digitar qualquer coisa.

A parte que vale levar dessa lição é a entrega. O gateway inspecionou um domínio de fornecedor genuíno com reputação genuína, e nenhum serviço de reputação avalia a query string pendurada nele. Qualquer endpoint que redirecione para um destino fornecido pelo usuário é um serviço de lavagem, e é por isso que um redirecionamento aberto vale a pena reportar por si só.

Erros comuns

  • Tentar From Base64 primeiro e concluir que o valor está corrompido. Ele está intacto; o percent-encoding ainda está nele e está de trás para frente.
  • Inverter antes de decodificar a URL. Isso quebra %3D em caracteres que não significam mais nada.
  • Responder com o domínio do rastreador. O rastreador é um fornecedor real e não é o destino.
  • Enviar a URL inteira quando a pergunta pede o host. Leia o rótulo da resposta antes de digitar.
  • Recorrer a ROT ou Atbash. Nada aqui é uma cifra de substituição de letras; a paleta inclui iscas.

Como se proteger

O gateway de e-mail não errou em relação ao rastreador. O controle precisa ir além dele.

  • Reescreva e detone os links no momento do clique em vez de pontuá-los na entrega, para que o salto final seja o que é avaliado.
  • Siga as cadeias de redirecionamento no gateway e avalie a última URL, não a primeira.
  • Peça ao fornecedor do rastreador para restringir os destinos a domínios registrados. Um redirecionador que aceita qualquer destino é um redirecionamento aberto com contrato anexado.
  • Trate domínios disfarçados recém-registrados como uma detecção: meridian-hr-verify.example é uma correspondência por distância de string com uma marca que você possui e deveria gerar alerta no registro.
  • Login resistente a phishing vence a decodificação. Uma passkey não vai autenticar em um host que não é o real, não importa onde o usuário clique.

Solução completa

Membros Pro e Max desbloqueiam o passo a passo completo.

Assinar Pro

Estatísticas da comunidade

120 resoluções
78% taxa de sucesso
M2F14M3 Primeiro sangue

Hacks de hoje relacionados

31.000+ Hackers Labs reais Grátis
Comece Grátis ou resolva o hack de hoje, sem conta