Esteganografia
Conceitos Básicos Sobre Imagens
Uma imagem é composta de X linhas e Y colunas;
O ponto das coordenadas
[a, b]
com 0⩽a <X e 0⩽b <Y, é chamado de Pixel;Pixel
representa o menor elemento endereçável de uma imagem;Cada Pixel é associado a uma cor, geralmente composta em 3 cores principais (vermelho, verde e azul), que chamamos de RGB (Red, Green e Blue). As intensidades dessas cores, podem variar de
0
a255
, sendo oBranco
representado por255,2555,255
e oPreto
por0,0,0
.Cada Pìxel, ocupa
3 bytes
de memória, 1 para cada componente principal (daí o valor máximo de 255)Um
byte
consiste em8 bits
, representando um número binário, como1010 0101
. O valor mais alto que um byte pode receber é1111 1111
, que equivale a255
em decimal
Magic Numbers
Os Magic Numbers
(Números Mágicos) são os 8 primeiros bytes do arquivos (como um cabeçalho), que define o tipo do arquivo.
O Magic Number de um arquivo ELF
é 0x7F 0x45 0x4C 0x46
, que pode ser convertido no Python com o seguinte comando:
Para gerar um arquivo GIF, podemos utilizar o comando:
Chunk (Arquivos PNG)
São esses alguns chunks críticos:
IHDR
= Image Header. Este é o primeiro pedaço
PLTE
= Palette Table. Este é um pedaço opcional
IDAT
= Chunk de dados da imagem. As informações de pixels está contida aqui
IEND
= Trailer. Marca o final do fluxo de dados PNG
DICA: Um método comum de ocultar flags, é colocar mensagens após o bloco IEND
. Os dados adicionados após este bloco não mudarão nada além do tamanho do arquivo
Podemos criar um arquivo com o cabeçalho PNG utilizando o comando:
LSB
Hexdump
Strings
Pegando todas as strings de uma imagem
PARÂMETRO
DESCRIÇÃO
-n
Quantidade mínima de caracteres por linha
-t
Posição da string retornada
Encodando strings
Exiftool
Também podemos uma thumb diferente da imagem que vimos quando abrimos em seu tamanho real. Então pdoe ser útil fazer da imagem thumb, uma imagem maior.
StegSolve
Ferramenta GUI desenvolvida em JAVA com diversos recurso para esteganografia em imagens
BinWalk
Removendo arquivos ocultos incorporados em um arquivo (trabalha com outros tipos de arquivo). Assim que extração for concluída, será criado um diretório chamado _<filename>
.
PngCheck
Procura por partes quebradas opcionais/corretas. Isso é útil se a imagem parecer corrompida
PARÂMETRO
DESCRIÇÃO
-v
Verbose
t / 7
Para exibir pedaços de textos
p
Exibe conteúdo de mais pedaços adicionais
f
Força a continuação mesmo após retornar alguns erros
Steghide
zbarimg
Realiza scan e decode de código de barras e QR Code.
Stegbrute
steg_brute
Change_Pallet.py
Gerando várias imagens alterando sua paleta de cores
Zsteg
Extraindo dados ocultos (utilize somente em imagens PNG e BMP)
OBS: Para instalar, basta baixar e executar o comando sudo gem install zsteg
.
Steganography
Exploração de Planos de Cores e Bits
As imagens podem ser ocultadas dentro dos planos de cores/bits. Na seção de sites (no fim da desta página) temos o site georgeom
, que nos permites alterar os Bits/Cores
Sites
Last updated