O que é Esteganografia?
No mundo de hoje, onde são trafegados números exacerbantes de informações a cada segundo em redes internas e externas, se tornou cada vez mais difícil manter essas informações em perfeita segurança e ocultá-las de hackers e de espiões do governo que tendem cada vez mais interceptá-las. Portanto, o uso da criptografia simétrica e assimétrica com algoritmos cada vez mais sofisticados tem ganho um valor inimaginável no mercado, e a esteganografia, que se baseia na técnica de esconder texto e informações criptografadas ou não dentro de imagens, áudios e vídeos tem chamado cada vez mas a atenção de pesquisadores.No quesito imagens digitais, podemos classificá-las em dois meios, sendo eles os vetoriais que são imagens constituídas de definições geométricas em um sistema de coordenadas cartesianas e as Bitmaps, que são definidas por ser uma matriz de pontos de pixels, como as imagens PNG, JPG e GIFS animados ou não.
Nessas imagens bitmaps, as cores são representadas normalmente dentro do padrão RGB, famoso Red, Green e Blue, sistema de cores que usam os padrões vermelhos, verdes e azuis para compor a sua gama de cores.
Cada um dos três tons de cor dentro do padrão RGB é composto por uma pixel, que por sua vez é composto por um inteiro de 8 bits, que por sua vez proporciona 2^24 cores possíveis, cerca de 16 milhões de cores possíveis com 24 bits por píxel descendente do padrão, e algumas extensões como o GIF e PNG permitem transparência em imagens, chamamos isso de camada ALFA do Bitmap, inclusive muito obrigado Rafael Alencar pela explicação.
O principio da esteganografia é pegar alguns desses bits gerados pelo padrão, os menos importantes possíveis e convertê-los em bits do arquivo de texto, de forma que o mapa desses bits seja somente revelado a partir do algoritmos de uma senha. Esse bit é conhecido como LSB (Least Significant Bit), ou o bit menos significante da cadeia, normalmente o primeiro bit da direita com menos valor, que quando é trocado, normalmente só altera o valor de uma unidade, causando o menos de perda possível na imagem original e por ser de menos valor, o torna o mais aconselhável possível na hora de aplicar um algoritmo de esteganografia.
É meio chover no molhado quando digo que a qualidade da imagem deriva de acordo com a quantidade de pixels da mesma, portanto quando acontece o processo de esteganografia, não ocorre a mudança de tamanho do arquivo, porque não foram inseridos bits extras dentro a imagem, apenas trocaram seus valores, como apresentado no artigo a seguir.
Vamos fazer um pequeno lab utilizando uma ferramentinha chamada steghide para esconder alguns dados dentro de uma imagem aleatória. Ela é Open Source e é capaz e introduzir dados dentro de arquivos de imagens de audio.
Site do Projeto: http://steghide.sourceforge.net/
Instalando o Steghide
O Steghide está na maioria dos grandes repositórios da maioria das distribuições, ele pode ser baixado diretamente do site do projeto também.
# sudo apt-get install steghide // Debian Distros
# sudo yum install steghide // Fedora, CentOS/RHEL
Helper --help
root@fidelis:/home/matheus# steghide --help
steghide version 0.5.1
the first argument must be one of the following:
embed, --embed embed data
extract, --extract extract data
info, --info display information about a cover- or stego-file
info <filename> display information about <filename>
encinfo, --encinfo display a list of supported encryption algorithms
version, --version display version information
license, --license display steghide's license
help, --help display this usage information
embedding options:
-ef, --embedfile select file to be embedded
-ef <filename> embed the file <filename>
-cf, --coverfile select cover-file
-cf <filename> embed into the file <filename>
-p, --passphrase specify passphrase
-p <passphrase> use <passphrase> to embed data
-sf, --stegofile select stego file
-sf <filename> write result to <filename> instead of cover-file
-e, --encryption select encryption parameters
-e <a>[<m>]|<m>[<a>] specify an encryption algorithm and/or mode
-e none do not encrypt data before embedding
-z, --compress compress data before embedding (default)
-z <l> using level <l> (1 best speed...9 best compression)
-Z, --dontcompress do not compress data before embedding
-K, --nochecksum do not embed crc32 checksum of embedded data
-N, --dontembedname do not embed the name of the original file
-f, --force overwrite existing files
-q, --quiet suppress information messages
-v, --verbose display detailed information
extracting options:
-sf, --stegofile select stego file
-sf <filename> extract data from <filename>
-p, --passphrase specify passphrase
-p <passphrase> use <passphrase> to extract data
-xf, --extractfile select file name for extracted data
-xf <filename> write the extracted data to <filename>
-f, --force overwrite existing files
-q, --quiet suppress information messages
-v, --verbose display detailed information
options for the info command:
-p, --passphrase specify passphrase
-p <passphrase> use <passphrase> to get info about embedded data
To embed emb.txt in cvr.jpg: steghide embed -cf cvr.jpg -ef emb.txt
To extract embedded data from stg.jpg: steghide extract -sf stg.jpg
Escondendo uma texto dentro de uma imagem JPG
Antes de mais nada, por default a ferramenta não tem suporte para imagens do tipo PNG, portanto você pode utilizar a ferramenta Convert para realizar converter o png em jpg rapidamente. Fizemos um post sobre ela, caso queira saber mais. # convert pic.png pic.jpg
para converter é só passar a imagem como parâmetro -cf 'coverfile' e o texto a ser encriptado no parâmetro -ef 'embedfile'.
# steghide embed -cf pic.jpg -ef texto.txt
Você vai precisar inserir uma senha para encriptar a imagem, no caso a extração correta só poderá acontecer caso você tenha a mesma. Depois disso, será gerada uma nova imagem com o conteúdo sobrescrito dentro dos bits da mesma.Extraindo o arquivo encriptado
Para extrair o arquivo encriptado dentro da imagem que geramos, precisamos utilizar o parâmetro -sf, onde precisaremos informar a senha que utilizamos na criptografia. Mas e aí, como vamos saber se o arquivo que utilizamos abrindo é o mesmo? Antes de extrair podemos consultar o parâmetro info para saber o conteúdo encriptado # steghide --info pic.jpg
Para extrair é simples, como foi dito anteriormente, é só utilizar o extract -sf e informar a senha de criptografia que criamos de antemão para termos acesso a mensagem # steghide extract -sf pic.jpg
Como identificar imagens modificadas?
Como dissemos, não há um aumento muito significativo no tamanho da imagem dependendo a quantidade de bits, porém a assinatura MD5 do arquivo muda por conta da soma das hashs. Você mesmo pode comprovar. Criei um arquivo original.jpg e uma cópia dele chamada modificado.jpg e comparei as duas hashs dos arquivos. Dentro o modificado.jpg eu inseri um texto criptografado e comparei as duas hashes novamente. Note que não são mais as mesmas. Esse é um jeito bem simples de comparar autenticidade de arquivos, porém existem muitos outros softwares e técnicas forense para identificar essas modificações:)





QUE SISTEMA ESTAS UTILIZANDO ?? QUE SISTEMA TAS A UTILIZAR PARA ESTE TUTORIAL????
ResponderExcluirDebian 8 Jessie.
ExcluirPara instalar Steghide no Arch Linux, apenas digite: sudo pacman -S steghide
ResponderExcluirOpa, obrigado pela contribuição Elite Linux!!!
ExcluirQue artigo perfeito! Parabéns pelo conteúdo, brother! Hehehe
ResponderExcluirBom dia a todos que estão lendo esta mensagem
ResponderExcluirse você está passando por momentos difíceis ou pobreza
se você tem dívidas e precisa de ajuda urgente para pagá-las
se você precisa de dinheiro para iniciar um negócio ou para qualquer situação importante
Então aconselho você a solicitar o cartão master/ATM já carregado, com este cartão master/ATM você pode fazer saques grátis de até $67.000,00 dólares todas as semanas de 6 meses a 3 anos dependendo dos meses/anos que você precisa. Eu usei esse cartão master/ATM e gosto que você também use e seja feliz. Para obter este cartão master / ATM, entre em contato com o e-mail para respostas imediatas thomasunlimitedhackers@gmail.com
OPIPLJIVO SVJEDOČANSTVO O PLANIRANJU BOŽIĆNOG KREDITA..
ResponderExcluirOvo nije uobičajena objava koju svakodnevno vidite na internetu kada ljudi daju lažna svjedočanstva i lažne informacije o velikoj financijskoj pomoći.. Svjestan sam da su mnogi od vas prevareni i da su lažni agenti iskoristili one koji traže kredite. Neću ovo nazvati normalnim svjedočanstvom, nazvat ću ovo situacijom u kojoj sam živi svjedok kako možete dobiti svoj kredit nakon što ispunite uvjete i odredbe tvrtke. Nije važno imate li dobar kreditni rejting ili odobrenje vlade, sve što vam treba je važeća osobna iskaznica i važeći IBAN broj kako biste mogli podnijeti zahtjev za kredit s kamatnom stopom od 3%. Minimalni iznos je 1000 eura, a maksimalni iznos koji se može posuditi je 100.000.000 eura. Dajem vam 100% jamstvo da možete dobiti svoj kredit putem ove pouzdane i poštene tvrtke, posluju 24 sata online i daju kredite svim građanima Europe i izvan Europe. Poslali su mi dokument koji je provjeren i testiran kao valjan prije nego što sam dobio kredit, stoga pozivam sve kojima je potreban kredit da posjete ili ih kontaktiraju putem
E-pošte: michaelgardloanoffice@gmail.com
WhatsApp za Europu: +385915608706
WhatsApp za SAD: +1 (717) 826-3251
Nakon što ih kontaktirate, obavijestite ih da vam je gospođa Dejana Ivica iz Zagreba dala informacije. Vidjeti znači vjerovati i zahvalit ćete mi kasnije kada dobijete kredit od njih. Dao sam obećanje da ću, nakon što dobijem kredit od njih, objaviti dobru vijest svima online. Ako imate prijatelja ili rodbinu, uključujući kolege, možete im reći o ovoj ponudi i da se događa u ovom BOŽIĆNOM DOBU.