COVIL HACKER

, ! .


» COVIL HACKER » Criptografia » Steganographer Ocultar arquivos ou dados em arquivos de imagem


Steganographer Ocultar arquivos ou dados em arquivos de imagem

1 2 2

1

https://forumupload.ru/uploads/001b/c9/09/2/t247204.webp

Este módulo ocultará arquivos dentro de imagens (atualmente PNG) e exportará a imagem modificada para o disco
. O tamanho máximo do arquivo que pode ser oculto dentro de uma imagem depende da dimensão da imagem.

max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes
'100k words.txt' está oculto em 'original_image.png' nomeado como 'image_with_100k words.png'. Vá e check -out se você puder identificar a diferença entre essas duas imagens. Você pode usar este módulo para extrair '100k words.txt' do 'image_with_100k words.png'

Exemplo
de imagem original

https://forumupload.ru/uploads/001b/c9/09/2/t895552.png

Imagem Modificada

https://forumupload.ru/uploads/001b/c9/09/2/t740298.png

Esta imagem tem 100 mil palavras escondidas dentro dela!

Como funciona?

É baseado em um princípio simples de que, se alterarmos o LSB (Least Significant Bits) de cada pixel, a alteração não será significativa e não será percebida pelos olhos.
Então, este módulo pega 2 bits de dados do arquivo a ser oculto e substitui os últimos 2 bits de um pixel por esses 2 bits e, em seguida, passa para o próximo pixel. A mudança máxima no pixel pode ser de 4 unidades e a faixa de valores em uma imagem PNG se (0,255), portanto essa alteração não será significativa.
Em uma imagem PNG, cada pixel possui 3 canais vermelhos, verdes e azuis. (Algumas imagens PNG têm 1 ou 4 canais, mas esse programa as converterá em 3 canais) Um pixel típico em uma imagem PNG se parece:

a_pixel = (17,32,11)     # (RED, GREEN, BLUE)
Assim, podemos economizar 3 vezes 2 bits em um pixel, ou seja, 6 bits por pixel. Isso nos leva ao limite superior do tamanho do arquivo, que pode ser ocultado em uma imagem:

max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes
Vamos entender tomando um exemplo. Os dados a ocultar são:

binary_data = 0b100111
Vamos pegar os dois primeiros bits e substituí-los pelo canal RED do nosso 'a_pixel'.

a_pixel = (0b10001, 0b100000, 0b1011)   # binary representation of a_pixel values
# Let's change a_pixel's RED Channel
# 0b10001 -> 0b10010  ( First 2 bits are 10 )
a_pixel = (0b10010, 0b100000, 0b1011)  # modified pixel
Vamos novamente pegar 2 bits de binary_data e substituir os últimos 2 bits do Canal VERDE por eles.

a_pixel = (0b10010, 0b100000, 0b1011)
# Let's change a_pixel's GREEN Channel
# 0b100000 -> 0b100001  ( The 2 bits are 01 )
a_pixel = (0b10010, 0b100001, 0b1011)  # modified pixel
Vamos fazer isso mais uma vez com o BLUE Channel e terminaremos.

a_pixel = (0b10010, 0b100001, 0b1011)
# Let's change a_pixel's BLUE Channel
# 0b1011 -> 0b1011  ( The 2 bits are 11 ) ; Notice that the value wasn't changed this time
a_pixel = (0b10010, 0b100001, 0b1011)  # pixel wasn't modified this time
Então, escondemos nossa mensagem de 6 bits em um pixel, vamos ver as mudanças no pixel

a_pixel             = (0b10001, 0b100000, 0b1011) = (17, 32, 11)
a_pixel_with_data   = (0b10010, 0b100001, 0b1011) = (18, 33, 11)
Como podemos ver, a mudança nem é perceptível no nível do pixel. O Módulo faz isso repetidamente até que todos os nossos dados sejam salvos na imagem.

https://forumupload.ru/uploads/001b/c9/09/2/t744557.jpg

NOTA: O ruído na foto é aumentado e se usarmos qualquer software de edição de fotos e compararmos com a imagem original, essa imagem terá muito mais ruído do que a imagem original.
Solução para este problema: Nunca carregue/compartilhe a imagem original na Internet

Todos

Adicionar suporte para imagens JPEG
Adicionar criptografia opção
Adicionar detecção automática do nome do arquivo a ser extraído

donwload https://github.com/priyansh-anand/steganographer

0

2


» COVIL HACKER » Criptografia » Steganographer Ocultar arquivos ou dados em arquivos de imagem


|