Esteganografia – Esconder zip numa imagem
Hoje, é dia de falar esteganografia. Para quem não sabe a esteganografia é uma técnica para esconder conteúdo dentro de outro conteúdo.
Antigamente, a técnica era utilizada em quadros, cartas, etc. Textos eram escondidos em imagens para que o conteúdo original não pudesse ser identificado por ninguém.
Esteganografia (do grego “escrita escondida”) é o estudo e uso das técnicas para ocultar a existência de uma mensagem dentro de outra, uma forma de segurança por obscurantismo. Esteganografia é o ramo particular da criptologia que consiste em fazer com que uma forma escrita seja camuflada em outra a fim de mascarar o seu verdadeiro sentido. É importante frisar a diferença entre criptografia e esteganografia. Enquanto a primeira oculta o significado da mensagem, a segunda oculta a existência da mensagem.
Para testarmos a técnica vamos utilizar uma imagem qualquer. Neste exemplo, vou utilizar uma imagem do Mickey Mouse, com o nome: “mickeymouse.jpg”, que podem ver a seguir:
Esta é uma imagem normal, sem qualquer conteúdo escondido. Agora, para escondermos um ficheiro zip dentro da imagem, vamos fazer o seguinte:
1 – Criar um ficheiro .txt e escrever qualquer coisa nele. No meu caso, crio um ficheiro com o nome hidden.txt e dentro coloco: “https://danieljesus.pt/2019/03/24/esteganografia-esconder-zip-numa-imagem/”. Agora, tenho 2 ficheiros na pasta: “mickeymouse.jpg” e “hidden.txt”:
2 – Pela linha de comandos, vamos comprimir o ficheiro “hidden.txt” e vamos chamar-lhe “steganographyp340.zip”:
- $ zip steganographyp340.zip hidden.txt
3 – Agora, que temos o nosso hidden.txt “zippado”, com o nome “steganographyp340.zip”, pegamos na imagem “mickeymouse.jpg” e fazemos um merge dos ficheiros e chamamos-lhe “stegano_out.png”. Vamos então, pela linha de comandos, executar:
- $ cat ./mickeymouse.jpg ./steganographyp340.zip > stegano_out.png
Neste momento, temos o nosso ficheiro escondido na imagem stegano_out.png, que como podem ver no print anterior, o PC detecta como imagem normal…
Agora, para conseguirem ver o conteúdo escondido da imagem, basta fazer o processo inverso, ou seja, tão simples como descomprimir a imagem.
- $ unzip ./stegano_out.png
O resultado será algo assim:
Claro que, se o sítio para onde vão fazer o upload recriar a imagem no upload, o ficheiro zip perde-se no processo, no entanto, vários lugares não fazem o processo de recriação da imagem, mantendo assim o hidden.zip dentro do mesmo.
Para testarem o processo, basta guardar a imagem acima e fazer o “unzip”.
| |
Full Stack Developer | Security Researcher |