Esteganografia: Como Ocultar e Detectar Dados (2026)

Cybersecurity Basics
16 min de leitura
Esteganografia: Como Ocultar e Detectar Dados (2026)
Nesta página
  1. O que é esteganografia?
  2. Como os dados são realmente escondidos em um arquivo
    1. 1. Campos de metadados
    2. 2. Dados acrescentados ao final
    3. 3. Codificação no bit menos significativo
    4. 4. Codificação em texto e espaços em branco
  3. Esteganografia em segurança: como os atacantes a usam
  4. Como esconder dados com o Steghide
  5. Como detectar esteganografia
  6. Esteganografia em texto e caracteres de largura zero
  7. Escolher a ferramenta certa para o arquivo à sua frente
  8. Perguntas frequentes
  9. Considerações legais e éticas
  10. Seus próximos passos com esteganografia

A esteganografia é a prática de esconder uma mensagem dentro de algo que não parece uma mensagem. A criptografia torna os dados ilegíveis; a esteganografia os torna invisíveis, o que é um problema diferente e, muitas vezes, mais útil para um atacante. Este guia cobre as quatro formas pelas quais os dados são de fato escondidos em arquivos, como atacantes usaram essas técnicas em campanhas reais, e a sequência de seis comandos que encontra cargas úteis ocultas. Acompanhe junto com o curso de Esteganografia da HackerDNA, que percorre as mesmas técnicas com arquivos que você mesmo desmonta.

Se você já resolveu um desafio de capture the flag, provavelmente encontrou a esteganografia sob a bandeira de forense. Nosso guia das categorias de CTF explica onde ela se encaixa em relação a cripto e engenharia reversa. O que vem a seguir entra no detalhe do funcionamento dos arquivos.

Resumo: a esteganografia esconde dados dentro de um arquivo portador para que ninguém suspeite que há algo a procurar. As quatro técnicas que cobrem quase tudo o que você vai encontrar são os campos de metadados, os bytes acrescentados depois do fim do arquivo, a codificação no bit menos significativo de pixels ou amostras de áudio, e os caracteres invisíveis em texto. A detecção segue sempre a mesma sequência: file, exiftool, binwalk, strings, zsteg e, por fim, um ataque à senha com stegseek.

O que é esteganografia?

Esteganografia é a técnica de ocultar informação dentro de um arquivo, mensagem ou objeto físico de aparência comum, de modo que a própria existência dessa informação permaneça secreta. O portador se comporta exatamente como esperado: a imagem continua abrindo, o áudio continua tocando, o documento continua legível.

Essa última frase é o ponto central e é o que separa a esteganografia da criptografia. Um arquivo cifrado se anuncia sozinho. Quem o intercepta sabe que existe um segredo, mesmo sem conseguir lê-lo, e em alguns países isso já basta para obrigar você a entregar a chave. Um arquivo esteganografado não anuncia nada. As duas técnicas se combinam bem: cifre primeiro, esconda o texto cifrado depois, e o investigador que ainda assim encontrar a carga útil continua sem nada para ler.

A ideia é antiga. Heródoto registra que Histieu raspou a cabeça de um escravo, tatuou uma mensagem no couro cabeludo e esperou o cabelo crescer antes de enviá-lo. Agentes alemães na Segunda Guerra Mundial reduziam páginas inteiras de texto a micropontos do tamanho de um ponto final datilografado, colados sobre a pontuação de cartas comuns. A física mudou quando os arquivos substituíram o papel; a lógica, não.

Três termos aparecem o tempo todo e vale fixá-los antes das seções técnicas:

  • Portador (ou arquivo de cobertura) - o arquivo inocente que serve de esconderijo. Uma foto de férias, uma gravação WAV, uma fatura em PDF.
  • Carga útil - os dados escondidos. Muitas vezes um arquivo de texto ou uma chave, às vezes um executável inteiro.
  • Arquivo esteganografado - o resultado. Portador mais carga útil, ainda válido no formato original.

Como os dados são realmente escondidos em um arquivo

Quatro famílias de técnicas cobrem a esmagadora maioria do que você vai encontrar, tanto em CTFs quanto em incidentes reais. Elas aparecem aqui aproximadamente na ordem de facilidade de detecção, que também é a ordem em que você deve testá-las.

1. Campos de metadados

Todo JPEG, PNG e MP3 carrega metadados estruturados: tags EXIF, blocos XMP, quadros ID3. A maior parte desses campos é texto livre e nada valida o que se coloca ali. Um campo de comentário com um bloco base64 dentro é o esconderijo mais preguiçoso possível, e ainda assim aparece com frequência, porque sobrevive a transferências de arquivo e não exige ferramenta alguma.

2. Dados acrescentados ao final

Formatos de imagem declaram onde terminam. Um JPEG acaba no marcador de fim de imagem FFD9, um PNG no chunk IEND. Todo byte depois desse marcador é ignorado pelos visualizadores e preservado pelo sistema de arquivos. Concatene um arquivo ZIP a um PNG e você tem um arquivo que abre como imagem em um programa e descompacta como arquivo compactado em outro. Esse truque, chamado de poliglota, é o motivo de cat photo.png secret.zip > output.png ser um dos primeiros comandos que todo mundo aprende.

3. Codificação no bit menos significativo

É a técnica em que as pessoas pensam quando dizem esteganografia sem qualificar. Em uma imagem de 24 bits, cada pixel guarda três canais de cor de oito bits cada. Altere o último bit de um canal e a cor muda em uma parte em 256, o que nenhum olho percebe. Com um bit por canal em uma imagem de 1920x1080, você tem 6.220.800 bits de espaço, ou cerca de 759 KB de carga útil dentro de um arquivo que parece intacto.

A mesma conta vale para amostras de áudio e quadros de vídeo. O preço é a fragilidade: dados no bit menos significativo não sobrevivem à recodificação. Envie um PNG portador para uma plataforma que recomprime imagens e a carga útil desaparece, e é exatamente por isso que atacantes que usam essa técnica hospedam suas imagens em serviços que devolvem os arquivos byte a byte.

4. Codificação em texto e espaços em branco

Texto não tem pixels para modificar, então esconde dados naquilo que ninguém renderiza: espaços no fim da linha, alternância entre tabulações e espaços, e caracteres Unicode sem largura visível. O espaço de largura zero (U+200B), o não juntador de largura zero (U+200C) e o juntador de largura zero (U+200D) são caracteres legítimos que os navegadores repassam obedientemente e exibem como nada. Dois deles bastam para codificar binário.

💻
Pratique agora: Stego Hunt - um único PNG com uma flag escondida e nenhuma dica sobre a técnica usada. No navegador, sem instalação, gratuito para começar.

Esteganografia em segurança: como os atacantes a usam

A esteganografia está catalogada pela MITRE como T1027.003, uma subtécnica de Obfuscated Files or Information. Os exemplos citados pelo próprio framework atravessam quinze anos de ferramentas: o Duqu cifrava os dados coletados do sistema e os escondia dentro de uma imagem antes de exfiltrá-la, o PowerDuke ocultava backdoors em arquivos PNG, o IcedID embutia binários em PNGs cifrados para distribuição, e o APT37 distribuiu imagens carregando shellcode.

O padrão que domina as campanhas atuais é mais simples do que qualquer um desses. Um script de primeiro estágio baixa uma imagem de um serviço comum de hospedagem, extrai dela uma carga útil codificada em base64 e executa o resultado na memória. Em uma campanha analisada pela ANY.RUN e divulgada em março de 2025, um carregador do XWorm estava escondido em uma imagem no offset 000d3d80, marcado pela string literal <<BASE64_START>>, e injetado no AddInProcess32 por um downloader em VBS.

Repare no que esse marcador de offset revela. A carga útil não foi tecida nos dados de pixel com matemática engenhosa. Ela foi colada no arquivo com um delimitador de texto ao redor, porque o objetivo nunca foi enganar um analista forense. O objetivo era passar por um gateway de e-mail e por um antivírus de endpoint, e a maioria deles inspeciona executáveis, arquivos compactados e scripts de forma muito mais agressiva do que inspeciona um PNG.

Essa é a lição de segurança que vale levar desta seção. A esteganografia raramente é a parte interessante de uma cadeia de ataque. É um invólucro de entrega escolhido porque arquivos de imagem são confiáveis por padrão, e funciona exatamente enquanto essa suposição continuar valendo na sua cadeia de monitoramento.

Como esconder dados com o Steghide

O Steghide é a ferramenta para a qual a maioria dos tutoriais aponta, e vale conhecê-la justamente porque aparece muito em desafios de CTF. A versão 0.5.1 é de 2003 e nunca foi atualizada, o que importa menos do que se imagina: os formatos de arquivo que ela ataca também não mudaram.

Instale e embuta uma carga útil:

sudo apt install steghide
steghide embed -cf holiday.jpg -ef secret.txt -p hunter2

A extração é a operação espelhada:

$ steghide extract -sf holiday.jpg -p hunter2
wrote extracted data to "secret.txt".

Dois detalhes do manual do steghide economizam tempo real. Primeiro, o arquivo de cobertura precisa ser JPEG, BMP, WAV ou AU. O Steghide não suporta PNG nem GIF, então quando alguém entrega um PNG sugerindo steghide, já avisou que essa é a ferramenta errada. Segundo, a carga útil é cifrada antes de ser embutida, por padrão com Rijndael e chave de 128 bits em modo de encadeamento de blocos. Ou seja, a senha correta é obrigatória, e uma senha errada produz erro em vez de lixo.

Pergunte o que está embutido sem extrair:

$ steghide info holiday.jpg
"holiday.jpg":
  format: jpeg
  capacity: 3.1 KB
Try to get information about embedded data ? (y/n) y
Enter passphrase:

O Steghide também distribui suas alterações com um algoritmo de emparelhamento vindo da teoria dos grafos, em vez de escrever bits em pixels consecutivos, o que mantém intacta a distribuição de frequência de cores da imagem. Isso derrota testes estatísticos de primeira ordem, e é por isso que detectores LSB genéricos ficam mudos diante de uma saída do steghide: é preciso uma ferramenta feita para o formato.

Como detectar esteganografia

Como detectar esteganografia? Passe o arquivo por uma sequência fixa de verificações, cada uma mirando uma técnica de ocultação: identificar o tipo real do arquivo, ler os metadados, procurar arquivos acrescentados, extrair as strings imprimíveis, testar os planos de bits e, por fim, atacar a senha. A maioria das cargas úteis aparece já nos três primeiros passos.

Esta é a sequência, na ordem que encontra mais rápido:

  1. Confirme o que o arquivo realmente é. file suspicious.png compara os bytes mágicos com a extensão. Um resultado "PNG image data" em algo chamado .jpg já é um achado por si só.
  2. Leia todos os campos de metadados. exiftool -a -u suspicious.png mostra tags duplicadas e desconhecidas além das padrão. Os campos Comment, Artist e Software são onde moram as cargas úteis preguiçosas.
  3. Procure arquivos acrescentados. binwalk suspicious.png varre assinaturas de arquivos em qualquer ponto do fluxo de bytes. O Binwalk 3 é uma reescrita em Rust da antiga ferramenta em Python e é bem mais rápido em arquivos grandes. Acrescente --extract assim que ele indicar um acerto.
  4. Extraia as strings imprimíveis. strings -n 8 suspicious.png | grep -Ei 'flag|base64|BEGIN' pega blocos base64 e marcadores delimitadores. Foi o passo que teria encontrado aquele carregador do XWorm em segundos.
  5. Teste os planos de bits. zsteg -a suspicious.png tenta todas as combinações de canal, ordem de bits e offset em arquivos PNG e BMP. Extraia um acerto específico com zsteg -E '1b,rgb,lsb' suspicious.png > out.bin. A ferramenta também reconhece saídas do OpenStego e do Camouflage.
  6. Ataque a senha. Para arquivos JPEG, BMP, WAV e AU, stegseek suspicious.jpg rockyou.txt quebra senhas do steghide por força bruta.

Esse último passo merece nota própria, porque muda o que é viável. O Stegseek percorre o rockyou.txt inteiro em menos de dois segundos em um notebook comum, um resultado de cerca de 14 milhões de senhas em 1,21 segundo. As ferramentas que ele substituiu levavam horas para fazer o mesmo trabalho. Se você aprendeu esteganografia antes de 2021 e guarda a quebra de senha na memória como último recurso, hoje ela é algo que você dispara enquanto ainda está lendo o enunciado do desafio. A mesma lógica de lista de palavras vale aqui e em qualquer ataque a credenciais, assunto que nosso guia de quebra de hash detalha a fundo.

Na prática, os quatro primeiros passos resolvem a maioria dos arquivos, e os dois seguintes servem para os que sobreviverem. Quando um PNG passa por file, exiftool, binwalk e strings sem um sussurro, esse silêncio já é informação: você provavelmente está diante de codificação no bit menos significativo, ou de nada. Abra o arquivo no Stegsolve e percorra os planos de cor. Cargas úteis LSB verdadeiras aparecem como ruído visível ou formas de bordas duras em um único plano de bits, e você vai reconhecer a diferença já no terceiro ou quarto arquivo.

Um alerta sobre ferramentas de detecção que prometem certeza estatística. O teste do qui-quadrado e a análise RS, métodos por trás de detectores como o StegExpose, funcionam bem contra a inserção LSB sequencial ingênua e mal contra qualquer coisa que distribua as posições com um gerador inicializado por senha. Um relatório estatístico limpo é evidência fraca de arquivo limpo.

Esteganografia em texto e caracteres de largura zero

A esteganografia em texto costuma ser ignorada pelos guias porque parece curiosidade. É, no entanto, a técnica com mais chance de chegar a um usuário real, já que sobrevive intacta ao copiar e colar, aos clientes de e-mail e aos aplicativos de mensagem.

O método é direto. Codifique a carga útil em binário, associe 0 a um espaço de largura zero e 1 a um não juntador de largura zero, e insira a sequência resultante entre dois caracteres visíveis. A mensagem é exibida exatamente como antes. Um segredo de 200 caracteres vira 1.600 caracteres invisíveis encaixados em um post de blog, e nenhum leitor vê coisa alguma.

Detectar é mais fácil do que esconder, uma vez que você sabe o que procurar:

$ python3 -c "print([hex(ord(c)) for c in open('post.txt').read() if ord(c) > 0x2000])"
['0x200b', '0x200c', '0x200b', '0x200c', '0x200c']

Qualquer sequência de U+200B a U+200D em prosa comum é deliberada. Existem usos legítimos, principalmente para quebra de linha em escritas sem espaços, mas eles não aparecem em séries de dezenas dentro de um texto corrido. Cole o texto suspeito em um editor hexadecimal e o padrão fica evidente.

Essa técnica também sustenta a marca d'água invisível usada para rastrear vazamentos de documentos, em que cada destinatário recebe uma cópia com um identificador de largura zero diferente. Mesmo mecanismo, finalidade defensiva. O lab Phantom Text esconde uma flag em caracteres de largura zero dentro de um post de blog de aparência banal, e é o caminho mais rápido para desenvolver o reflexo de identificá-los.

Escolher a ferramenta certa para o arquivo à sua frente

A esteganografia desperdiça mais tempo em CTF do que qualquer outra categoria, quase sempre porque as ferramentas são usadas na ordem errada ou contra formatos que elas nunca suportaram. Esta tabela é a versão curta de tudo o que veio antes.

Tipo de arquivoComece porDepois tente
PNG, BMPzsteg -abinwalk, planos de bits no Stegsolve
JPEGstegseek com rockyouexiftool, binwalk
WAV, MP3Visão de espectrograma do Audacitysteghide, strings
PDF, DOCXbinwalk --extractexiftool, descompactar o contêiner
Texto puroEditor hexadecimal, U+200B a U+200DAnálise de padrões de espaços

A linha do áudio surpreende. Carregue um WAV no Audacity, troque a visualização da faixa para Espectrograma, e mensagens escritas em determinadas faixas de frequência aparecem legíveis, desenhadas na tela. Nenhuma linha de comando envolvida, e leva uns quinze segundos. Vários desafios de CTF conhecidos nunca esconderam nada mais elaborado do que isso.

Limite de tempo que vale respeitar: se a sequência completa não produzir nada em dez minutos, o arquivo provavelmente é um chamariz, ou a carga útil depende de uma chave vinda de outro desafio. Siga em frente e volte depois. Insistir uma hora em uma única imagem é a forma mais comum de perder um CTF.

Perguntas frequentes

Esteganografia é ilegal?

Não. A esteganografia é uma técnica, e esconder dados nos seus próprios arquivos é legal em qualquer lugar. O que cria exposição jurídica é o que você esconde, nos arquivos de quem, e para onde leva isso depois. Ocultar dados para tirá-los de uma organização que não autorizou a transferência é, no mínimo, violação de política interna, e crime em muitos países, com ou sem esteganografia envolvida.

Qual é a diferença entre esteganografia e criptografia?

A criptografia torna a mensagem ilegível, mas visível; a esteganografia a torna invisível, mas legível para quem a encontrar. Um arquivo cifrado avisa ao observador que existe um segredo, enquanto um arquivo esteganografado tenta impedir que a pergunta seja feita. O uso sério combina os dois: cifre a carga útil e depois esconda o texto cifrado.

A IA consegue detectar esteganografia?

Classificadores de aprendizado de máquina de fato superam testes estatísticos clássicos como o qui-quadrado e a análise RS na detecção de LSB, e sistemas de pesquisa alcançam alta precisão em conjuntos de dados construídos com ferramentas de inserção conhecidas. Eles generalizam mal para técnicas com as quais não foram treinados, e nenhuma das duas abordagens sinaliza de forma confiável a inserção adaptativa ao conteúdo. Para o trabalho prático, verificações determinísticas com binwalk, zsteg e stegseek encontram mais cargas úteis reais do que qualquer detector.

A esteganografia sobrevive a uploads em redes sociais?

Em geral, não. Plataformas que recomprimem ou redimensionam imagens destroem cargas úteis no bit menos significativo e removem a maior parte dos metadados, o que faz do LSB um canal de entrega ruim. Dados acrescentados após o marcador IEND ou FFD9 sobrevivem em qualquer serviço que armazene os arquivos byte a byte, e essa diferença explica quais serviços de hospedagem continuam aparecendo em campanhas de malware.

Onde praticar esteganografia legalmente?

Em arquivos feitos para isso. O curso de Esteganografia da HackerDNA cobre metadados, dados acrescentados, LSB, quebra do steghide, áudio, texto e arquivos poliglotas em dez capítulos guiados, com os arquivos de desafio incluídos. Competições de CTF e imagens que você mesmo cria são igualmente seguras. Nunca rode ferramentas de extração em arquivos obtidos sem permissão.

Considerações legais e éticas

Lembrete essencial: analise apenas arquivos que pertencem a você ou para os quais você tem autorização escrita explícita. Extrair dados escondidos das imagens de outra pessoa pode configurar acesso não autorizado sob o Computer Fraud and Abuse Act nos Estados Unidos, o Computer Misuse Act no Reino Unido e leis equivalentes em outros lugares, independentemente de como o arquivo chegou até você.

Duas situações aparecem com frequência suficiente para serem planejadas. Se você encontrar dados escondidos durante um trabalho autorizado, pare e confira as regras de engajamento antes de continuar extraindo. Cargas úteis que contenham dados pessoais, credenciais de terceiros ou material ilegal criam obrigações muito mais simples de tratar antes de terem sido copiadas para a sua estação de trabalho do que depois.

A segunda é do lado defensivo. A esteganografia é um canal real de exfiltração, e a contramedida não é a detecção. É a transformação. Recodificar toda imagem no gateway destrói cargas úteis LSB sem precisar identificá-las, e remover metadados no upload elimina o esconderijo mais fácil. As duas medidas são baratas, as duas são determinísticas, e nenhuma delas depende de um classificador ter acertado.

Seus próximos passos com esteganografia

A esteganografia recompensa o reconhecimento de padrões muito mais do que o conhecimento de ferramentas. A lista de comandos é curta e estável, e assim que file, exiftool, binwalk, strings, zsteg e stegseek estiverem nos seus dedos, a habilidade que resta é olhar um arquivo e saber qual das quatro técnicas de ocultação está diante de você antes de digitar qualquer coisa. Isso vem do volume, não da leitura.

Comece pelo lab Vigenere Stego Hunt, no qual você extrai uma chave de uma imagem e a usa para quebrar uma cifra clássica, porque desafios em camadas são a cara da esteganografia em CTF de verdade. Depois siga para o curso de Esteganografia, que percorre cada técnica deste guia em dez capítulos, com arquivos para desmontar em cada um. Tudo roda no navegador, e o plano gratuito não pede cartão de crédito.

HackerDNA Team

Equipe HackerDNA

Escrito pela equipe HackerDNA - profissionais de cibersegurança que criam labs práticos de hacking e conteúdo educativo para ajudar você a desenvolver habilidades reais em segurança.

Conhecer a Equipe

Pronto para colocar isso em prática?

Pare de ler, comece a hackear. Ganhe experiência prática com mais de 170 labs de cibersegurança reais.

Comece a Hackear Grátis
21.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis