Para o mundo da TI, a esteganografia é a prática de ocultar a existência de uma mensagem dentro de outra mÃdia aparente e inofensiva (imagem, áudio, vÃdeo, texto ou tráfego de rede).
Diferente da criptografia, que embaralha o conteúdo mas torna visÃvel que há uma mensagem protegida, a esteganografia busca passar despercebida: o arquivo “portador” parece legÃtimo, enquanto a informação escondida é embutida nos seus dados.
Técnicas comuns incluem:
-
LSB (Least Significant Bit): alterar os bits menos significativos de pixels/áudio, imperceptÃvel ao olho ou ouvido humanos.
-
Metadados/estruturas de arquivo: usar campos pouco verificados ou dados extras ao final do arquivo (trailing data).
-
Canais de rede: inserir dados em cabeçalhos/opções raras ou padrões de tráfego.
Embora útil para marcação d’água, autenticação e pesquisa, também pode ser abusada. A detecção e análise, chamada esteganálise, procura padrões estatÃsticos e inconsistências para identificar conteúdo oculto. Para sigilo real, costuma-se combinar esteganografia com criptografia (mensagem cifrada escondida em uma mÃdia).
Quero demonstrar como um atacante interno consegue ocultar informações de forma muito simples.
O que estamos fazendo neste post é exatamente uma técnica de esteganografia conhecida como append (concatenando bytes) de um arquivo compactado (.rar/.zip) ao final de uma imagem (como .jpg).
-
Visualizadores de imagem normalmente ignoram bytes extras no fim do arquivo → a imagem abre normal.
-
Descompactadores (WinRAR/7-Zip) procuram “assinaturas mágicas” dentro do arquivo (
Rar!para RAR,PKpara ZIP) → acham o conteúdo compactado mesmo “escondido” depois da imagem.
Como funciona (baixo nÃvel)
-
Sistemas operacionais expõem um modo/flag de abertura que garante a escrita no fim (
O_APPENDno POSIX). -
O SO move o file offset para o final a cada operação de escrita, tornando a ação segura até em cenários concorrentes (atomicidade por operação).
-
O arquivo cresce por blocos no disco; não precisa ser contÃguo (pode fragmentar).
Textos x binários
-
Texto: append geralmente significa “acrescentar linhas” (p.ex., logs).
-
Binário: você anexa qualquer sequência de bytes (estrutura definida pela aplicação). Em formatos com cabeçalhos/tabelas internas, bytes extras podem:
-
Ser ignorados (p.ex., leitores que param após um marcador final).
-
Corromper o arquivo, se o formato tiver tamanhos/checagens que não permitem dados além do esperado.
-
Ser interpretados como “incremental update” em formatos que suportam isso.
-
Isso é esteganografia simples por trailing data. É discrição, não criptografia.
Por que isso funciona (explicação técnica)
-
JPEG: o decodificador lê o fluxo até o marcador de fim (
FFD9).
Tudo depois disso é ignorado pelo visualizador → imagem abre normal. -
RAR/ZIP: WinRAR/7-Zip não exigem que o arquivo compactado comece no byte 0; eles escaneiam o arquivo atrás da assinatura (
Rar!/PK\x03\x04/ diretório central do ZIP). Ao encontrar, interpretam o contêiner compactado e extraem normalmente.
Crie uma pasta para organizar os arquivos. Por exemplo, C:\Oculto (no meu caso usei a pasta teste).
Mova para a pasta a imagem que servirá de "capa" e os arquivos que deseja esconder, já compactados em formato .rar ou .zip. Por exemplo:
imagem_capa.jpg (a imagem que vai disfarçar o arquivo oculto).
arquivos_ocultos.rar (o arquivo compactado com o conteúdo a ser escondido).
Navegue até a pasta que você criou usando o comando cd (change directory):
cd C:\Oculto
Execute o comando de combinação. Digite a linha de comando abaixo, substituindo os nomes dos arquivos pelos que você escolheu:
copy /b imagem_capa.jpg + arquivos_ocultos.rar imagem_final.jpg
copy /b: Copia arquivos binários, que são os tipos de arquivos que você está combinando.
imagem_capa.jpg: É o nome da imagem original.
arquivos_ocultos.rar: É o nome do arquivo compactado com seus dados secretos.
O comando copy /b arquivo.jpg+"nome composto do arquivo.rar" secreto.jpg vai pegar o arquivo que você quer ocultar e embutir em um novo arquivo, que parece uma imagem, mas é um arquivo de compressão.
imagem_final.jpg: É o nome do novo arquivo que será criado, contendo a imagem e o arquivo secreto.
Verifique o resultado. Um novo arquivo chamado imagem_final.jpg será criado. Ao abri-lo, ele mostrará a imagem normalmente, mas conterá os arquivos ocultos em seu interior. Você pode apagar a imagem original e o arquivo .RAR para evitar rastros.
Para extrair os arquivos ocultos:
Abra o arquivo imagem_final.jpg com um programa de compactação, como o WinRAR ou 7-Zip.
O programa reconhecerá o conteúdo oculto e permitirá que você extraia os arquivos normalmente.
Considerações de segurança
Não é totalmente seguro: Esta técnica é mais uma forma de discrição (esteganografia) do que de segurança robusta. Qualquer pessoa com conhecimento técnico pode descobrir o conteúdo oculto usando as ferramentas certas ou simplesmente abrindo o arquivo com um programa como o WinRAR.
A beleza desta técnica é a simplicidade e funcionalidade, já que você não precisa de nenhum software adicional instalado no equipamento.
Ocultar de forma mais profunda: Existem ferramentas mais avançadas de esteganografia para ocultar dados de forma mais difÃcil de ser detectada, mas exigem software especÃfico.
Ocultar arquivos com o atributo "oculto": Um método mais simples, mas menos discreto, é usar as propriedades do arquivo no Windows para defini-lo como "oculto". O conteúdo ainda pode ser visto por quem habilitar a opção "Mostrar itens ocultos" no explorador de arquivos.
Erros comuns e como corrigir
-
“O WinRAR diz que o arquivo está corrompido”
-
Confirme que usou
copy /b(modo binário). -
Garanta a ordem: imagem primeiro, .zip/.rar depois.
-
Verifique se o
.zip/.rarabre sozinho (antes de concatenar). -
Evite ter aberto o
imagem_final.jpgnuma ferramenta que tenha regravado o arquivo.
-
-
“A imagem não abre”
-
A imagem original talvez já estivesse corrompida.
-
Experimente outro JPEG.
-
Verifique se não inverteu a ordem.
-
-
“7-Zip não acha nada”
-
Use WinRAR ou vice-versa (Ã s vezes um detecta melhor que o outro).
-
Confirme que o compactado foi mesmo
.zip/.rar. -
Refaça a concatenação.
Observação sobre “apagar originais”
Você pode apagar imagem_capa.jpg e arquivos_ocultos.rar/.zip para reduzir rastros, mas:
-
O arquivo final fica maior, chamando atenção em ambientes monitorados.
-
Logs, journals e backups podem manter cópias/traços.
-
Em cenários forenses, isso não impede descoberta.