5 das Melhores Ferramentas de Esteganografia no Linux

Uma fotografia de uma mulher trabalhando nervosamente em frente a um laptop.

A esteganografia é a arte e o processo de colocar um tipo de informação dentro de outra na tentativa de ocultá-la. Isso é frequentemente feito em situações onde um indivíduo deseja preservar informações secretas dentro de objetos comuns.

Este guia mostra cinco das melhores ferramentas de esteganografia atualmente disponíveis no Linux. Ele também mostra como você pode esconder sua primeira mensagem usando essas utilidades.

Tabela de Conteúdos

  • O que é Esteganografia e Por que Você Deve Usá-la
    1. Steghide
    1. Stegoshare
    1. Wavsteg
    1. Snow
    1. Steganoroute
  • Perguntas Frequentes

O que é Esteganografia e Por que Você Deve Usá-la

A esteganografia não é uma nova inovação. Desde os tempos dos antigos gregos, historiadores escreveram sobre como culturas usaram esteganografia para esconder informações à vista. Para isso, um relato famoso foi a história de Heródoto sobre Histíaeus, onde ele tatuou uma mensagem curta no couro cabeludo nu de um servo.

Desde então, os avanços na tecnologia permitiram que indivíduos usassem esteganografia dentro de objetos digitais. Por exemplo, agora é possível inserir um livro inteiro dentro de uma simples fotografia JPEG.

Uma janela mostrando uma imagem que contém uma mensagem oculta.

Uma das maiores vantagens de usar ferramentas esteganográficas é que elas são simples e fáceis de usar. Na maioria dos casos, esses programas são apenas utilitários de linha de comando simples que pegam sua mensagem e um arquivo fictício.

Uma janela de terminal mostrando as opções do steghide.

Outra vantagem das ferramentas esteganográficas é que você pode obtê-las gratuitamente. A maioria dos desenvolvedores atualmente licencia suas utilidades como Software Livre e de Código Aberto (FOSS). Você só precisa ter um computador e uma conexão com a Internet para começar com a esteganografia.

Bom saber: O FOSS também envolve incontáveis programas além da esteganografia. Aprenda como você pode instalar uma distribuição FOSS com Linux-libre.

1. Steghide

Steghide é uma das ferramentas de esteganografia mais populares hoje em dia. É um programa simples de linha de comando que codifica texto dentro de imagens. O steghide funciona criando uma lista aleatória de bits dentro do seu arquivo fictício e insere seus dados secretos entre esses bits.

Essa abordagem significa que seus dados se misturarão perfeitamente com seu arquivo fictício. Além disso, o steghide também inclui sólidos algoritmos de compressão e criptografia por padrão. Isso garante dificuldade em extrair suas informações, mesmo que um agente malicioso saiba que seu arquivo contém dados secretos.

Você pode instalar o steghide no Ubuntu e no Debian executando o seguinte comando:

sudo apt install steghide

Execute este comando para criar seu primeiro arquivo esteganográfico:

steghide embed -ef ./meus-dados-secretos.txt -cf ./minha-imagem-comum.jpg -sf ./imagem-steg.jpg

Uma janela de terminal mostrando o steghide em ação.

Prós

  • Rápido e fácil de usar
  • Usa somas de verificação para verificar a integridade dos dados

Contras

  • A saída é perceptivelmente maior que a original
  • Modifica pequenos bits do arquivo fictício original

Dica: se você prefere ter mais confidencialidade, aprenda como criptografar arquivos usando Tomb no Linux.

2. Stegoshare

Stegoshare é uma ferramenta esteganográfica gráfica que fornece aos usuários uma interface intuitiva para ocultar dados dentro de arquivos de imagem. Ao contrário do steghide, o stegoshare se destaca ao permitir que você codifique grandes binários dentro de vários arquivos.

Uma janela mostrando a interface básica do stegoshare.

Outra vantagem chave do stegoshare em relação a outras ferramentas é que ele é altamente portátil. Você pode distribuir o programa para outros usuários, independentemente do sistema operacional que eles usam. Por exemplo, você pode codificar no Linux e ainda decodificá-lo no Windows.

  1. Para usar o stegoshare, primeiro instale suas dependências:
sudo apt install wget openjdk-8-jdk openjdk-8-jre

Uma janela de terminal mostrando o processo de instalação da dependência para o stegoshare.

  1. Baixe os binários do stegoshare do site do desenvolvedor:
wget http://downloads.sourceforge.net/stegoshare/StegoShare.jar
  1. Execute o programa e clique em “Navegar.”

Uma janela mostrando o botão de navegação para o stegoshare.

  1. Selecione a pasta da sua imagem fictícia.

Uma janela mostrando o seletor de arquivos para o stegoshare.

  1. Clique no botão “Selecionar” abaixo de “Navegar.”

Uma janela mostrando o botão de seleção no stegoshare.

  1. Selecione o arquivo que deseja ocultar.

Uma janela mostrando o seletor de dados para o stegoshare.

  1. Clique no botão “Ocultar” para codificar seus dados secretos no seu arquivo fictício.

Uma janela mostrando o botão de ocultar no stegoshare.

Prós

  • Simples e fácil de usar
  • Funciona em qualquer plataforma que execute Java

Contras

  • Produz arquivos grandes
  • Ferramentas de análise de imagem podem detectar o algoritmo do stegoshare

Bom saber: descubra como redimensionar e otimizar sua imagem a partir do Terminal do Linux.

3. Wavsteg

Além de incorporar informações dentro de imagens, você também pode esconder suas informações usando arquivos de áudio. Wavsteg é uma ferramenta simples, mas eficaz, que permite misturar dados secretos entre os bits de um arquivo de áudio digital.

Uma captura de tela da comparação entre um arquivo de áudio limpo e um preenchido com dados.

Wavsteg lê um arquivo de áudio inteiro e procura por seus “Bits Menos Significativos.” Estas são as partes de um arquivo que não deletam nem modificam os dados dentro dele. Um arquivo de áudio que contém dados secretos não terá nenhuma diferença audível em relação a um arquivo “limpo”.

  1. Instale suas dependências:
sudo apt install python3 python3-pip  
PATH=$PATH:/home/$USER/.local/bin/
  1. Instale o programa usando o pip:
pip install stego-lsb

Uma janela de terminal mostrando o processo de instalação do wavsteg.

  1. Uma vez instalado, você pode começar a codificar dados dentro de seus arquivos de áudio com o seguinte comando:
stegolsb wavsteg -h -i minha-musica-comum.wav -s meus-dados-secretos.txt -o audio-steg.wav

Uma janela de terminal mostrando a codificação para o wavsteg.

Prós

  • Leve e simples de usar
  • Nenhuma diferença audível entre outros arquivos de áudio

Contras

  • Funciona apenas com arquivos de texto
  • Pode produzir arquivos grandes

4. Snow

Snow é uma ferramenta leve que usa espaços em branco e tabulações para ocultar informações dentro de arquivos de texto. Ao contrário de outras ferramentas esteganográficas, o snow não depende de formatos binários para codificar dados secretos. Isso pode ser incrivelmente útil em casos onde não é possível compartilhar grandes arquivos binários.

Uma janela de terminal mostrando a página do manual para snow.

Como o snow depende apenas de texto simples, ainda é possível comprimir e criptografar seus arquivos, assim como um arquivo binário. O snow pode produzir arquivos extremamente pequenos que podem se misturar com outros dados de texto.

  1. Instale o snow com o seguinte comando:
sudo apt install stegsnow
  1. Use o seguinte comando para ocultar a frase “MakeTechEasier” dentro do arquivo “hello.txt.”
stegsnow -C -m"MakeTechEasier" -p uma_senha_secreta hello.txt steg-hello.txt

Uma janela de terminal mostrando o snow em funcionamento.

Prós

  • Produz arquivos pequenos
  • Texto de saída pode ser usado em qualquer programa que aceite texto simples

Contras

  • O espaço para dados pode ser extremamente limitado
  • O algoritmo de criptografia é relativamente desatualizado

Dica: prefere ainda mais privacidade? Troque para estes serviços de e-mail seguros.

5. Steganoroute

A esteganografia digital tradicionalmente oculta informações dentro de um arquivo. No entanto, também é possível usar esteganografia sem usar arquivos fictícios.

Steganoroute é uma ferramenta inovadora de rede que permite ocultar informações usando TCP. O programa cria pacotes ICMP falsos que contêm a mensagem que você deseja enviar. Um host pode então ouvir o servidor para seus pacotes falsos e decodificar suas informações usando uma ferramenta de análise de rede.

  1. Instale as dependências do steganoroute:
sudo apt install git mtr python3 python-scapy
  1. Clone o código-fonte do programa do seu repositório:
git clone https://github.com/stratosphereips/steganoroute.git
  1. Transmita suas mensagens do steganoroute executando o seguinte comando:
cd ./steganoroute  
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP  
sudo python3 ./steganoroute.py -i lo -m"MakeTechEasier" -l

Uma janela de terminal mostrando o steganoroute transmitindo uma mensagem.

  1. Teste se o programa está transmitindo corretamente usando a ferramenta de análise mtr:
mtr -t seu.ip.local.lan

Uma vez em execução, você também precisa pressionar D para imprimir a mensagem.

Uma janela de terminal mostrando a mensagem transmitida para o steganoroute.

Prós

  • Não depende da criação de arquivos fictícios
  • Só precisa transmitir para compartilhar mensagens

Contras

  • Depende da falsificação de pacotes ICMP
  • Agentes maliciosos podem interceptar os pacotes e reconstruir sua mensagem

Dica: A rede pode parecer assustadora para um usuário novato. Aprenda como os pacotes DNS viajam na rede usando dig.

Perguntas Frequentes

A esteganografia mudará como meu arquivo se comporta?

Não. Por padrão, ferramentas esteganográficas visam reter o máximo de dados originais possível. Você pode compartilhar seu arquivo com outros e eles ainda poderão usar e acessar o arquivo original.

Eu enviei uma imagem esteganográfica. Por que ela perdeu sua mensagem?

Isso provavelmente se deve a um problema com seu provedor de hospedagem de imagens. A maioria dos sites de compartilhamento de imagens tende a comprimir as imagens assim que chegam aos seus servidores. Isso é um problema para ferramentas de esteganografia, pois elas dependem da estrutura de dados exata do arquivo de imagem original.

Certifique-se de que seu provedor de hospedagem de imagem não está comprimindo nenhuma imagem que você envie através de seu servidor.

Existem desvantagens em esconder dados usando esteganografia?

Depende. Na maior parte, ferramentas como o steghide dependem de esconder dados dentro de arquivos digitais comuns. Embora a esteganografia não mude como um arquivo se comporta, ela ainda deixará uma impressão perceptível em um arquivo digital. Isso pode ser um problema se um agente malicioso estiver ciente de que você está usando esteganografia.

Por que meu destinatário do steganoroute não está recebendo meus pacotes ICMP?

Isso provavelmente se deve ao servidor do steganoroute enviar seus pacotes ICMP pela interface errada. Para corrigir isso, encontre a interface de rede desejada usando ip addr.

Então, adicione a opção -i, seguida pela sua interface de rede. Por exemplo, o seguinte executa o steganoroute através da minha porta Ethernet: sudo ./steganoroute.py -i enp3s0 -m "MakeTechEasier" -l.

Créditos da imagem: Unsplash. Todas as alterações e capturas de tela por Ramces Red.