Decifre a Nota de Resgate: XOR de Byte Único sob Base64

Forense Digital & Resposta a Incidentes Nível 3/4 ~5 min 10 de agosto de 2026

O desafio

Um ransomware deixou um arquivo de 'nota' em base64 numa estação infectada. A amostra do descriptografador mostra que a nota foi embaralhada com um XOR de byte único antes de ser codificada em base64. Encontre o byte, remova as duas camadas e envie o flag recuperado (HDNA{...}).

O que você vai aprender

  • Reconhecer o base64 como a camada externa de transporte de um artefato descartado
  • Identificar um XOR de byte único e raciocinar sobre seu espaço de 256 chaves
  • Recuperar o texto original aplicando XOR com o byte de chave 0x42
  • Remover duas transformações empilhadas na ordem inversa correta
  • Explicar por que o XOR de byte único não oferece confidencialidade real

Habilidades testadas

Triagem de artefatos de malwareRecuperação de XOR de byte únicoDecodificação em camadas

Pré-requisitos

  • Familiaridade com base64
  • Entender que XOR é sua própria inversa
  • Saber que um byte tem 256 valores possíveis

Como funciona

Um XOR de byte único aplica a mesma chave de um byte a cada byte dos dados. É a "cifra" mais simples que existe, e sua fraqueza está no espaço de chaves: existem apenas 256 chaves possíveis, então um analista pode testar todas elas em uma fração de segundo e ficar com o resultado que se parece com texto. Ransomwares e droppers o usam não por segurança, mas para manter sua nota fora de um dump casual de strings, depois envolvem o resultado em base64 para que os bytes sobrevivam à gravação em um arquivo.

Remova as camadas na ordem inversa. A nota descartada é base64 imprimível, então decodifique isso primeiro para obter os bytes brutos embaralhados pelo XOR. Depois aplique XOR em cada byte com a chave. XOR é simétrico, então a mesma operação com a mesma chave desfaz o processo, porque A XOR B XOR B = A. Aqui a amostra do descriptografador revela que a chave é 0x42, a letra ASCII B. Mesmo sem essa dica, uma força bruta de byte único revelaria isso imediatamente.

Na bancada de trabalho, adicione From Base64, depois XOR com a chave B (ou 0x42), e a nota se resolve ao vivo na saída. As demais operações (hex, ROT, atbash, reverse, Vigenere, URL-decode) são iscas cujos formatos de entrada nunca correspondem aos dados em nenhuma etapa.

Erros comuns

  • Aplicar XOR diretamente no texto base64. Base64 é a camada externa; decodifique antes de aplicar XOR nos bytes.
  • Supor uma chave de múltiplos bytes. O enunciado e os dados apontam para um único byte - digitar uma chave longa não vai decodificar nada.
  • Digitar a chave errada. 0x42 é a letra 'B'; insira como o byte que a bancada espera.
  • Adicionar iscas. ROT e Vigenere atuam sobre letras, não sobre bytes brutos - verifique o formato dos dados primeiro.

Como se proteger

Para defensores, a lição é que o XOR de byte único é a ofuscação mais fraca que existe - deve ser a primeira coisa que você tenta (ou testa por força bruta) ao fazer a triagem de um artefato descartado, e nunca deve aparecer onde você precisa de proteção real. Se o seu próprio código "criptografa" algo com um único byte de XOR, trate esses dados como texto puro.

  • Durante a triagem, teste por força bruta as 256 chaves possíveis de XOR de byte único contra blobs suspeitos para revelar notas e configurações ocultas.
  • Decodifique automaticamente os envoltórios base64 antes de examinar os bytes subjacentes.
  • Nunca proteja segredos com XOR de byte único (ou qualquer XOR estático) - use criptografia autenticada com uma chave gerenciada.
  • Baseie as detecções em comportamento e em arquivos descartados, não apenas em strings legíveis que um atacante pode esconder facilmente.

Solução completa

Membros Pro e Max desbloqueiam o passo a passo completo.

Assinar Pro

Estatísticas da comunidade

106 resoluções
69% taxa de sucesso
M2F14M3 Primeiro sangue

Hacks de hoje relacionados

23.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis