A tarja que era só uma camada: atualizações incrementais de PDF

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

O desafio

Um PDF de acordo judicial foi divulgado com o nome da outra parte coberto por uma tarja preta, e a cópia do tribunal mostra REDACTED onde o nome estava. Só que um PDF não é uma imagem plana: ele guarda suas edições como camadas, e cobrir algo com preto na ferramenta errada adiciona uma nova camada sobre a antiga em vez de removê-la. Os bytes brutos do arquivo estão no visualizador. Leia-os e recupere o nome que deveria ter sumido.

O que você vai aprender

  • Explicar que um PDF guarda as edições como revisões incrementais anexadas ao final
  • Localizar os limites das revisões encontrando os marcadores %%EOF nos bytes
  • Recuperar conteúdo que uma revisão posterior substituiu, mas não removeu
  • Reconhecer que cobrir o texto com uma tarja preta não é redação e deixa o texto intacto
  • Saber como redigir um documento para que nada sobreviva por baixo

Habilidades testadas

Forense de documentosLeitura de um dump hex/ASCIIEstrutura de PDF

Pré-requisitos

  • Ler a coluna ASCII em uma visualização hex
  • A ideia de que arquivos guardam histórico

Como funciona

Um PDF é editado por anexação. O conteúdo original é gravado e fechado com %%EOF; as alterações posteriores são adicionadas depois dele como uma atualização incremental, com seu próprio %%EOF. O leitor mostra a definição mais recente de cada objeto, então parece que a última versão é a única versão.

Não é. Toda revisão anterior continua no arquivo, antes do %%EOF anterior. Uma caixa desenhada sobre o texto, ou uma edição de metadados salva dessa forma, adiciona uma nova camada e deixa os bytes antigos intocados. Ler o arquivo bruto recupera tudo o que uma revisão anterior continha.

É um vazamento comum no mundo real: redação feita de forma visual, ou propriedades do documento alteradas, sem achatar nem sanitizar, de modo que o original persiste em uma revisão antiga, em um object stream, nos metadados XMP ou em uma miniatura.

Erros comuns

  • Ler a última revisão. É onde está REDACTED; o original fica antes do primeiro %%EOF.
  • Confiar na página renderizada. O visualizador mostra apenas a camada mais recente; os bytes carregam todas elas.
  • Responder REDACTED. Isso é a substituição, não o nome recuperado.
  • Esperar criptografia. Nada está criptografado; o nome está em bytes em texto simples.

Como se proteger

Redija removendo, depois achate.

  • Use uma ferramenta de redação de verdade, que apague o texto e as imagens por baixo, e não uma que desenhe uma caixa opaca por cima.
  • Achate ou reexporte o documento em seguida (por exemplo, imprimindo para um novo PDF) para que não reste nenhum histórico incremental.
  • Remova os metadados (XMP, informações do documento, miniaturas embutidas) antes da publicação.
  • Trate todo documento publicado como portador de todo o seu histórico de edição até que ele seja sanitizado.

Solução completa

Membros Pro e Max desbloqueiam o passo a passo completo.

Assinar Pro

Estatísticas da comunidade

181 resoluções
91% taxa de sucesso
Malekith Primeiro sangue

Hacks de hoje relacionados

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