GNU/Linux >> Tutoriales Linux >  >> Linux

Steganography – Ocultar archivos dentro de imágenes en Linux

Esteganografía es un proceso de ocultar un archivo, una imagen, un video, un texto dentro de otro archivo. Como se menciona en Wikipedia, la esteganografía es la combinación de dos palabras griegas, steganos que significa "cubierto, oculto o protegido", y grafeína que significa "escribir". Las fuentes dijeron que este método fue seguido por primera vez por Histiaeus , un antiguo rey griego, allá por el 440 a. Afeitó la cabeza de su servidor más confiable y marcó el mensaje secreto en su cabeza. Después de que el cabello volvió a crecer, envió a ese sirviente a uno de sus vasallos para transmitir el mensaje que tiene información sobre el próximo ataque a Grecia. Ahora, en la era moderna, la esteganografía ha evolucionado, mejorado mucho y se usa ampliamente para enviar y recibir mensajes secretos digitales ocultándolos en otros archivos. Para obtener más detalles sobre la esteganografía, consulte este enlace . Veamos ahora cómo ocultar archivos dentro de imágenes en Linux.

Descargo de responsabilidad:

La esteganografía es un tema muy amplio. Este tutorial solo cubre cómo ocultar archivos dentro de imágenes, que es el concepto central de Steganography. Por favor, no asuma que esto no puede ser roto por ningún experto en seguridad. El método descrito aquí es muy básico, por lo que incluso un profesional de seguridad intermedio puede romperlo fácilmente en un par de horas. Estos pasos descritos a continuación son puramente para fines educativos. No nos hacemos responsables de ningún tipo de mal uso.

Ocultar archivos dentro de imágenes en Linux

Podemos ocultar archivos dentro de imágenes en diferentes métodos. Aquí he dado 5 métodos.

Método 1

Este método no requiere ningún software adicional. Solo un conocimiento básico de la línea de comandos de Linux es suficiente.

Tengo un archivo de imagen llamado image.jpg y un directorio llamado sk . Dentro de este directorio, hay un archivo llamado secret.txt que tiene algún mensaje confidencial. Este es el archivo que vamos a incrustar en el archivo image.jpg. Puede colocar cualquier cantidad de archivos que desee ocultar dentro de este directorio. Luego, voy a comprimir el directorio sk y guárdelo como secret.zip  para hacerlo como un solo archivo. Finalmente, concatenaré el archivo zip (secret.zip) y el archivo de imagen (image.jpg) usando cat comando y guárdelo como ostechnix.jpg .

Para poner las cosas más claras,

  1. imagen.jpg - Un archivo de imagen aleatorio.
  2. sk - El directorio que contiene todos los archivos secretos.
  3. secreto.zip - Archivo de sk directorio.
  4. ostechnix.jpg - El archivo de imagen de salida que contiene tanto secret.zip como image.jpg.

Paso 1:  Coloque el archivo de imagen y el directorio en una carpeta. Los he puesto ambos en Documentos carpeta.

Paso 2: Mueve todos los archivos que quieras ocultar dentro de la carpeta "sk". Luego, comprima esta carpeta y guárdela como "secret.zip" . Para comprimir la carpeta, simplemente haga clic derecho sobre ella y seleccione comprimir .

Paso 3: A continuación, abra la Terminal. Vaya a la ubicación donde almacenó los archivos zip y de imagen (en nuestro caso es Documentos ). Finalmente, concatene el secret.zip y prueba.jpg y guárdelos como ostechnix.jpg usando cat comando.

$ cd Documents
$ cat image.jpg secret.zip > ostechnix.jpg

Eso es todo. Ahora hemos ocultado los archivos confidenciales dentro de ostechnix.jpg . Es el archivo importante. Simplemente elimine todos los demás archivos excepto ostechnix.jpg .

El ostechnix.jpg se verá como un archivo de imagen común y cualquiera puede verlo usando cualquier aplicación de visualización de imágenes. Pero es posible que no sepan que este archivo contiene algún archivo confidencial.

Para ver los archivos ocultos dentro del archivo de imagen ostechnix.jpg , simplemente descomprímalo usando el siguiente comando:

$ unzip ostechnix.jpg

O,

$ unzip -t ostechnix.jpg

Salida de muestra:

Archive:  ostechnix.jpg
warning [ostechnix.jpg]:  712139 extra bytes at beginning or within zipfile
  (attempting to process anyway)
   creating: sk/
  inflating: sk/secret.txt

Descomprimir archivo de imagen

Como puede ver en el resultado anterior, el directorio sk que tiene archivos secretos dentro ha sido extraído. Ahora, vuelve a la carpeta y comprueba el contenido. Verá todos los archivos allí.

Una desventaja de este método es que no podemos agregar ninguna frase de contraseña al archivo de imagen. ¡No hay problema! En los siguientes métodos, podemos agregar una frase de contraseña a los archivos de salida.

Método 2:usar Steghide

Steghide es una utilidad de línea de comandos que nos ayuda a ocultar los datos confidenciales dentro de un archivo de imagen o audio. Admite archivos JPEG, BMP, WAV y AU.

Steghide está disponible en los repositorios predeterminados de muchas distribuciones de Linux.

En Arch Linux y sus variantes, puede instalarlo usando el comando:

$ sudo pacman -S steghide

En Debian, Ubuntu:

$ sudo apt install steghide

Ahora puede ocultar su archivo confidencial dentro de una imagen o audio como se muestra a continuación. Supongo que ha puesto el archivo confidencial que desea cifrar y la imagen o el archivo de audio en la misma carpeta. Si los coloca en una carpeta diferente, debe proporcionar la ruta completa en el siguiente comando.

$ steghide embed -ef secret.txt -cf ostechnix.jpg

Se le pedirá que ingrese una frase de contraseña.

Enter passphrase: 
Re-Enter passphrase: 
embedding "secret.txt" in "ostechnix.jpg"... done

Ocultar archivos en la imagen usando Steghide

En el ejemplo anterior, incrusté un archivo de texto llamado secret.txt en un archivo de imagen llamado ostechnix.jpg . Ahora puede eliminar el archivo secret.txt original. Porque, simplemente incrustamos dentro de un archivo de imagen. Si desea incrustar varios archivos, colóquelos en una carpeta, comprímalos y luego ocúltelos como se describe anteriormente.

Para extraer el archivo secreto de la imagen, simplemente ejecute:

$ steghide extract -sf ostechnix.jpg

Introduzca la frase de contraseña para extraerla:

Enter passphrase: 
wrote extracted data to "secret.txt".

Extrae archivos de la imagen usando steghide

Para obtener más detalles, consulte las páginas man,

$ man steghide

Método 3:usar Outguess

Superar es otra herramienta estegnográfica de línea de comandos para ocultar archivos confidenciales dentro de una imagen. Actualmente, admite los formatos de imagen PPM, PNM y JPEG.

Para instalarlo en Debian, Ubuntu y otros sistemas basados ​​en DEB, ejecute:

$ sudo apt install outguess

Una vez instalado, vaya a la ubicación donde guardó el archivo secreto y la imagen e incruste el archivo secreto en la imagen usando el siguiente comando:

$ outguess -d secret.txt ostechnix.jpg output.jpg

Salida de muestra:

Reading ostechnix.jpg....
JPEG compression quality set to 75
Extracting usable bits: 158203 bits
Correctable message size: 77641 bits, 49.08%
Encoded 'secret.txt': 160 bits, 20 bytes
Finding best embedding...
0: 88(45.8%)[55.0%], bias -17(-0.19), saved: -1, total: 0.06%
1: 90(46.9%)[56.2%], bias -27(-0.30), saved: -1, total: 0.06%
12: 85(44.3%)[53.1%], bias -36(-0.42), saved: 0, total: 0.05%
26: 91(47.4%)[56.9%], bias -45(-0.49), saved: -1, total: 0.06%
174: 87(45.8%)[54.4%], bias -48(-0.55), saved: 0, total: 0.05%
174, 39: Embedding data: 160 in 158203
Bits embedded: 190, changed: 87(45.8%)[54.4%], bias: -48, tot: 158844, skip: 158654
Foiling statistics: corrections: 77, failed: 6, offset: 864.696970 +- 310.577032
Total bits changed: 39 (change 87 + bias -48)
Storing bitmap into data...
Writing output.jpg....

Aquí, la salida.jpg file es el que tiene nuestro archivo de datos confidenciales. mantenlo a salvo y borra todo lo demás.

También puede agregar una frase de contraseña al archivo de salida como se muestra a continuación.

$ outguess -k "my secret key" -d secret.txt ostechnix.jpg output.jpg

Reemplace "mi clave secreta" con su propia frase de contraseña.

Para extraer el archivo, simplemente haga:

$ outguess -r output.jpg secret.txt

Salida de muestra:

Reading output.jpg....
Extracting usable bits: 158203 bits
Steg retrieve: seed: 174, len: 20

Si ha utilizado una frase de contraseña, utilice este comando en su lugar:

$ outguess -k "my secret key" -r output.jpg secret.txt

Para obtener más detalles, consulte las páginas man.

$ man outguess

Hemos visto tres utilidades de línea de comandos para ocultar archivos dentro de imágenes o audio. Si no le gusta la línea de comandos, aquí tiene dos herramientas esteganográficas gráficas.

Método 4:uso de Stegosuite

Estegosuite es una herramienta esteganográfica gráfica para ocultar archivos dentro de imágenes. Es una herramienta de esteganografía gratuita y de código abierto escrita en Java . Utiliza AES método de cifrado para incrustar datos. Admite formatos de imagen BMP, GIF y JPG.

Para instalarlo en Debian, Ubuntu y otros sistemas basados ​​en DEB, ejecute:

$ sudo apt install stegosuite

Una vez instalado, inicie Stegosuite desde Dash o Menu.

Interfaz de Stegosuite

Haga clic en Archivo -> Abrir en la barra de menú y elija una imagen que desee usar para ocultar los archivos. Luego ingrese el mensaje en la primera columna. Haga clic con el botón derecho en la segunda columna y elija "Agregar archivo...". Finalmente ingrese la frase de contraseña en la tercera columna.

Agregar archivos en stegosuite

Finalmente, haga clic en Incrustar en la parte inferior de la interfaz de Stegosuite.

Incrustar archivos usando stegosuite

Ahora se creará un nuevo archivo de imagen con el nombre "filename_embed" en la misma carpeta donde ha elegido la imagen. Por ejemplo, si ha seleccionado la imagen llamada "image.jpg" de la carpeta Documentos, se creará un nuevo archivo de imagen con el nombre "image_embed.jpg" en la misma carpeta Documentos.

Para extraer los archivos secretos de la imagen, simplemente ábralo nuevamente en la interfaz de Stegosuite, ingrese la frase de contraseña y haga clic en Extraer botón.

Extrae archivos usando stegosuite

Todos los archivos se extraerán en la misma carpeta.

Para obtener más detalles, consulte el sitio web de Stegosuite .

Método 5 - usando Steg

Paso es una herramienta esteganográfica gráfica simple, multiplataforma y escrita en C++ lenguaje de programación. Es un software portátil, así que simplemente descárguelo, llévelo a cualquier lugar y comience a usarlo de inmediato, independientemente del sistema operativo que use. Steg admite formatos de imagen JPEG, JPG, TIFF, PNG y BMP. Utiliza técnicas de esteganografía y criptografía para ocultar datos dentro de imágenes comprimidas o sin comprimir.

Uso

Haga clic en este enlace para descargar la aplicación Steg. Está disponible para arquitecturas de 32 y 64 bits.

O simplemente use el siguiente comando para descargarlo dependiendo de la arquitectura que use.

Para 64 bits:

$ wget https://googledrive.com/host/0B-_yxJMDtRxyUExLZzZ3S2VDbjQ/steg-v1.0.0.2-linux64.tgz

Para 32 bits:

$ wget https://googledrive.com/host/0B-_yxJMDtRxyRDNGNk1YcXR0UTg/steg-v1.0.0.2-linux32.tgz

Después de descargarlo, extráigalo usando el comando:

$ tar -xvzf steg-v1.0.0.2-linux64.tgz

Ir al directorio de Steg:

$ cd steg-v1.0.0.2-linux64/

Y escriba el siguiente comando para ejecutarlo.

$ ./steg.sh

Haga clic en para aceptar el acuerdo de licencia.

Haga clic en Aceptar para continuar.

Así es como se ve la interfaz predeterminada de la aplicación Steg.

Ahora, ocultemos algunos datos dentro de una imagen.

Para hacer eso, vaya a Archivo -> Abrir imagen genérica o Abrir imagen JPEG . Asegúrate de haber elegido una imagen de gran tamaño para almacenar más datos dentro de él. Cuanto más grande elija la imagen, más podrá guardar dentro de la imagen.

Después de abrir la imagen, la imagen original y la imagen modificada (imagen de salida) se mostrarán en los paneles izquierdo y derecho respectivamente. Además, muestra el tamaño disponible para almacenar datos dentro de la imagen en la esquina inferior derecha.

Ocultar archivos dentro de imágenes en Linux usando Steg

Ahora, ve a Ocultar -> Ocultar datos de la barra de menú superior. Seleccione el archivo que desea ocultar. Asegúrese de que el archivo que seleccionó sea más pequeño que el espacio disponible en la imagen modificada. Después de agregar los datos, verá un cuadro de diálogo de confirmación que dice:Datos ocultos con éxito .

Aquí viene la parte importante. Puede elegir diferentes modos de encriptación.

  • Automático: Los datos se cifrarán, pero no hay una frase de contraseña o se requerirán claves para extraer los datos.
  • Simétrico: Debe proporcionar una Frase de contraseña para cifrar los datos, y el destinatario necesitará la misma Frase de contraseña para extraerla.
  • Asimétrica sin firmar: cuando desea ocultar datos (usted es el remitente), solo se requiere la clave pública del receptor. Cuando desee extraer datos (usted es el receptor), solo se requiere su clave privada.
  • Signo asimétrico: cuando desea ocultar datos (usted es el remitente), se requieren la clave pública del receptor y su clave privada. Cuando desea extraer datos (usted es el receptor), solo se requiere su clave privada, pero se solicita la clave pública del remitente. Si no proporciona la clave pública del remitente, al final del proceso de extracción, se le advertirá que la identidad del remitente no está verificada. Si proporciona la clave pública del remitente, se le informará si se realizó correctamente la verificación de la firma.

Puede elegir cualquier método criptográfico de su elección.

Para elegir un método criptográfico específico, vaya a Editar -> Configuración  desde la barra de menú. El método de criptografía predeterminado es auto . Además, puede incrustar algunos mensajes en el archivo si lo desea.

Una vez que todo esté bien, haga clic en Guardar en la barra de herramientas y guárdelo en la ubicación que prefiera.

¡Listo! Los datos de la imagen están encriptados dentro de la imagen. Esta imagen se verá como una imagen normal. Puede verlo usando cualquier aplicación de visualización de imágenes.

Para extraer los datos ocultos, simplemente abra la imagen cifrada en la aplicación Steg. Para hacerlo, ve a Extraer -> Extraer datos desde la barra de menú.

Seleccione la ubicación donde desea guardar sus datos. ¡Listo!

Eso es todo. Ahora podrá ver los datos.

Como puede ver, esto es extremadamente fácil de seguir y no requiere ninguna habilidad especial. Solo abre una imagen, oculta algunos datos confidenciales y pásalos.

Para obtener más detalles sobre Steg, consulte el sitio web oficial .


Linux
  1. Copiar archivos en la terminal de Linux

  2. Mover archivos en la terminal de Linux

  3. Mover archivos en Linux sin mv

  4. Linux cambia el nombre de los archivos a mayúsculas

  5. ¿Por qué Windows no reconoce los archivos dentro de las particiones de Linux?

Comando ls en Linux para listar archivos

Cómo cambiar el nombre de un archivo (s) en Linux

Cómo ocultar archivos dentro de imágenes en Ubuntu usando Steganography

Cómo ocultar archivos confidenciales en imágenes en Debian usando Steganography

Cómo ocultar archivos confidenciales en imágenes en Ubuntu usando Steganography

Cómo comprimir un archivo en Linux