7 herramientas de esteganografía para enviar mensajes secretos usado por gobierno

La privacidad en línea es vital actualmente, pues todos los usuarios quieren ocultar su información sensible en Internet, además se requiere cifrado seguro al trabajar con archivos importantes. Un mensaje o archivo puede ser cifrado de forma manual o automática, pero se requiere de ciertas habilidades de hacking para descifrar dichos archivos. Acorde a expertos en hacking ético, usando la esteganografía, un hacker puede ocultar un mensaje de texto en un archivo de audio, imagen, o cualquier otro tipo de archivo. 

La esteganografía tiene diferentes técnicas de cifrado de archivos o mensajes, como mencionan los expertos en hacking ético del Instituto Internacional de Seguridad Cibernética (IICS); es posible usar la esteganografía de diferentes formas, como:

  • Esteganografía pura: no requiere ningún intercambio de clave stego
  • Esteganografía de clave secreta: aquí se intercambia la clave stego/secreta antes de establecer comunicación. La clave secreta toma el mensaje encubierto y lo cifra con el mensaje secreto. Sólo los remitentes y destinatarios saben cómo abrir archivos cifrados
  • Esteganografía de clave pública: el remitente utilizará la clave pública durante el proceso de encriptación y solo la clave privada que esté relacionada con la clave pública puede descifrar el mensaje secreto

Tipos de esteganografía

  • Esteganografía de imagen: para ocultar mensajes secretos en una imagen. Esta técnica se usa ampliamente para ocultar mensajes secretos dentro del bit menos significativo (LSB), que se explica a continuación. Se requiere usar una imagen lossless, de lo contrario el mensaje se perderá
  • Esteganografía de audio: es posible ocultar un mensaje secreto en un archivo de audio. Puede cifrar archivos de 16 bits que tienen 216 niveles de sonido. Los niveles de diferencia de sonido no pueden ser detectados por el oído humano
  • Esteganografía de video: brinda más posibilidades para grandes datos porque tiene una combinación de imagen y sonido. La mayor ventaja de la esteganografía de video es que puede contener una gran cantidad de datos
  • Esteganografía de texto: la esteganografía de texto se puede utilizar en la compresión de datos, ya que encripta los mensajes secretos en una representación

Mecanismos de esteganografía

Bit menos significativo (LSB): también se denomina ‘bits de orden inferior’. Es un bit al extremo derecho de una cadena. El dígito derecho se considera como el dígito más bajo de una cadena, mientras que el dígito más a la izquierda se considera como el bit más significativo. Cuando los datos se transmiten correctamente, la mayoría de los bits se transmiten primero, seguidos de otros bits

Según lo explicado por el experto en hacking ético del Instituto Internacional de Seguridad Cibernética, cada píxel está compuesto de color rojo, verde y azul, cada color rojo, verde y azul se denota con 8 bits para almacenar la información de color. A partir de este bit 8 podemos usar un LSB para almacenar nuestros datos y tendrá un efecto menor en la foto que no puede ser vista por una persona normal. Así que cada píxel tiene 3 LSB que podremos usar para almacenar el mensaje secreto.

Lista de herramientas para usar LSB

  1. Stego
  2. LSB-steganography
  3. jsteg
  4. OpenStego
  5. deepsoud
  6. Stegno
  7. mp3stego

Funcionamiento de las herramientas

Stego

  • Para las pruebas estamos utilizando Kali Linux 2019.1 amd64
  • Escriba sudo apt-get update y escriba sudo apt-get install python3
  • Luego escriba sudo apt-get install python3-pip
  • Escriba git clone https://github.com/ragibson/Steganography.git
root@kali:~/Downloads# git clone https://github.com/ragibson/Steganography.git
Cloning into 'Steganography'…
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), done.
  • Escriba python3 setup.py install
root@kali:~/Downloads/Steganography# python3 setup.py install
running install
running bdist_egg
running egg_info
creating stego_lsb.egg-info
writing stego_lsb.egg-info/PKG-INFO
writing dependency_links to stego_lsb.egg-info/dependency_links.txt
writing entry points to stego_lsb.egg-info/entry_points.txt
writing requirements to stego_lsb.egg-info/requires.txt
writing top-level names to stego_lsb.egg-info/top_level.txt
writing manifest file 'stego_lsb.egg-info/SOURCES.txt'
reading manifest file 'stego_lsb.egg-info/SOURCES.txt'
writing manifest file 'stego_lsb.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
  • Escriba cd Steganography/stego_lsb && type ls
root@kali:~/Downloads# cd Steganography/stego_lsb
root@kali:~/Downloads/Steganography# ls
bit_manipulation.py cli.py init.py LSBSteg.py StegDetect.py WavSteg.py
  • Escriba stegolsb wavsteg –help
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb wavsteg --help
Usage: stegolsb wavsteg [OPTIONS]
Hides or recovers data in and from a sound file
Options:
-h, --hide To hide data in a sound file
-r, --recover To recover data from a sound file
-i, --input TEXT Path to a .wav file
-s, --secret TEXT Path to a file to hide in the sound file
-o, --output TEXT Path to an output file
-n, --lsb-count INTEGER How many LSBs to use [default: 2]
-b, --bytes INTEGER How many bytes to recover from the sound file
  • Para las pruebas, hemos creado un archivo de texto para esconderlo dentro del archivo .wav

Enlazar el archivo de texto al audio

  • Escriba stegolsb wavsteg -h -i sample01.wav -s /root/Downloads/Steganography/stego_lsb/iicybersecurity.txt -o /root/Downloads/Steganography/sound.wav-
  • -h se utiliza para ocultar el archivo dentro del archivo de texto. sample01.wav (1.02 MB) es un archivo de sonido utilizado.
  • -s da la ruta de un archivo en el archivo de sonido
  • -o da ruta de acceso del archivo de salida. sound.wav es otro archivo que se creará después de unir el archivo de texto dentro del archivo wav.
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb wavsteg -h -i sample01.wav -s /root/Downloads/Steganography/stego_lsb/iicybersecurity.txt -o /root/Downloads/Steganography/sound.wav
Using 2 LSBs, we can hide 134118 bytes
Files read in 0.00s
21 bytes hidden in 0.00s
Output wav written in 0.00s
  • La consulta anterior ha enlazado el archivo iicybersecurity.txt con sample01.wav y crea un nuevo archivo sound.wav. El archivo de texto consta de 21 bytes de datos que se unen al archivo en un mínimo de segundos de tiempo.
  • Por defecto se utilizan 2 LSB. Puedes ver cuántos LSBs usar

Recuperar datos de un archivo .wav

La consulta anterior ha enlazado el archivo iicybersecurity.txt con sample01.wav y crea un nuevo archivo sound.wav. El archivo de texto consta de 21 bytes de datos que se unen al archivo en un mínimo de segundos de tiempo.

Por defecto se utilizan 2 LSB. Puedes ver cuántos LSBs usar.

  • Escriba stegolsb wavsteg -r -i /root/Downloads/Steganography/stego_lsb/sample04.wav -o /root/Downloads/Steganography/sample.txt -n 2 -b 25
  • -r es recuperar del archivo de sonido
  • -o se usa para dar la ubicación del archivo de salida donde se guardará el archivo oculto
  • -n se utiliza para asignar LSB
  • -b se utiliza para asignar bytes. Aquí le hemos dado 25 porque en algunos casos, los investigadores no son conscientes de cuánta memoria de datos está oculta
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb wavsteg -r -i /root/Downloads/Steganography/stego_lsb/sample04.wav -o /root/Downloads/Steganography/sample.txt -n 2 -b 25
Files read in 0.00s
Recovered 25 bytes in 0.00s
Written output file in 0.00s
  • La consulta anterior ha descifrado el archivo de texto del sonido. Al cifrar los archivos, también verificamos que no se rompió ningún sonido durante el proceso de enlace y la memoria también fue la misma
  • Después de descifrar el archivo, encontramos que el archivo se descifró correctamente pero se imprimieron algunos otros caracteres
root@kali:~/Downloads/Steganography# cat output.txt
hello iicybersecurity;▒uC ▒b▒▒'i▒▒`▒o㔛▒▒▒▒~▒
  • Arriba está el archivo de salida que fue enlazado con un sonido .wav

Enlazar archivos ZIP a una imagen

  • En esta funcionalidad vamos a ocultar el archivo Zip en una imagen. Escriba stegolsb steglsb –help
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb steglsb --help
Usage: stegolsb steglsb [OPTIONS]
Hides or recovers data in and from an image
Options:
-h, --hide To hide data in an image file
-r, --recover To recover data from an image file
-a, --analyze Print how much data can be hidden within an image [default: False]
-i, --input TEXT Path to an bitmap (.bmp or .png) image
-s, --secret TEXT Path to a file to hide in the image
-o, --output TEXT Path to an output file
-n, --lsb-count INTEGER How many LSBs to use [default: 2]
-c, --compression INTEGER RANGE
1 (best speed) to 9 (smallest file size) [default: 1]
--help Show this message and exit.
  • Escriba stegolsb steglsb -h -i 02.png -s iicybersecurity.rar -n 2 -o /root/Downloads/Steganography/output.png
  • -h se utiliza para ocultar datos en el archivo de imagen. Aquí el tamaño de la imagen es de 5,33 KB
  • -s se utiliza para asignar la ruta al archivo para ocultar en la imagen
  • -n se utiliza para asignar LSB
  • -o se utiliza para asignar la ruta a un archivo de salida
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb steglsb -h -i 02.png -s iicybersecurity.rar -n 2 -o /root/Downloads/Steganography/output.png
Files read in 0.02s
104 bytes hidden in 0.00s
Image overwritten in 0.04s
  • La consulta anterior ha enlazado el archivo Zip con una imagen. Después de enlazar el archivo Zip con una imagen, encontramos que el tamaño de la imagen ha aumentado
  • La salida anterior muestra que el archivo Zip está enlazado a 104 bytes en 0.04s y se sobrescribió. Y después de vincular los archivos, encontramos que el tamaño de la imagen aumenta hasta 58.6 KB. Esta información se utiliza en el curso de forense digital del Instituto Internacional de Seguridad Cibernética
  • Después de ocultar el archivo Zip en la imagen, la captura de pantalla anterior muestra que el tamaño de la imagen aumenta después de ocultar el archivo Zip

Recuperar el archivo Zip de la imagen

  • Escriba stegolsb steglsb -r -i /root/Downloads/Steganography/output.png -o /root/Downloads/Steganography/output.zip -n 2
  • -r es recuperar desde archivo de imagen
  • -o se usa para dar la ubicación del archivo de salida donde se guardará el archivo oculto
  • -n se utiliza para asignar LSB
  • -b se utiliza para asignar bytes
root@kali:~/Downloads/Steganography/stego_lsb# stegolsb steglsb -r -i /root/Downloads/Steganography/output.png -o /root/Downloads/Steganography/output.zip -n 2
Files read in 0.02s
104 bytes recovered in 0.00s
Output file written in 0.00s
  • Después de recuperar los datos, el archivo zip se ha extraído de la imagen. Cuando descomprimimos output.zip, encontramos que el archivo era perfecto y el archivo funcionaba correctamente
  • Para más información, abrimos output.zip en otra prueba de SO (Windows 7 64 Bit), el archivo funcionaba correctamente
  • El archivo de arriba funcionaba correctamente, también el archivo descomprimido y el archivo de texto se abrieron, se encontraron todos los datos

LSB-steganography

Ocultar texto en imágenes

Muchas veces, se produce una situación en la que se desea enviar mensajes importantes a alguien, un hacker utiliza estas técnicas para comunicarse con otros (este es uno de los temas más importante del curso de hacking ético ofrecido por el IICS). Le mostraremos otra herramienta que se utiliza para ocultar archivos de texto en imágenes. LSB-steganographyocultará el archivo de texto en la imagen utilizando el enfoque LSB.

  • Para las pruebas estamos utilizando Kali Linux 2019.1 amd64. Abra el terminal y escriba git clone https://github.com/RobinDavid/LSB-Steganography.git
root@kali:~/Downloads# git clone https://github.com/RobinDavid/LSB-Steganography.git
Cloning into 'LSB-Steganography'…
remote: Enumerating objects: 65, done.
remote: Total 65 (delta 0), reused 0 (delta 0), pack-reused 65
Unpacking objects: 100% (65/65), done.
root@kali:~/Downloads# cd LSB-Steganography/
  • Escriba cd LSB-Steganography y escriba pip install -r requirements.txt
root@kali:~/Downloads# cd LSB-Steganography/
root@kali:~/Downloads/LSB-Steganography# pip install -r requirements.txt
Collecting opencv-python (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/77/30/36c3f0644fa9f42d92f079b972e990a5874c1fc2b2c0e9656eb88bb8d6dc/opencv_python-4.1.0.25-cp27-cp27mu-manylinux1_x86_64.whl (26.6MB)
100% |████████████████████████████████| 26.6MB 28kB/s
Collecting docopt (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 3)) (1.15.4)
Successfully installed docopt-0.6.2 opencv-python-4.1.0.25
  • Escriba python LSB-Steg.py –help
root@kali:~/Downloads/LSB-Steganography# python LSBSteg.py --help
LSBSteg.py

Usage:
LSBSteg.py encode -i
-o -f
LSBSteg.py decode -i
-o
Options:
-h, --help Show this help
--version Show the version
-f,--file= File to hide
-i,--in=
Input image (carrier)
-o,--out= Output image (or extracted file)
  • Escriba python LSBSteg.py encode -i test.jpg -o output.jpg -f confidencial.txt
  • -i se utiliza para el archivo de entrada
  • -o se utiliza para el archivo de salida
  • -f se utiliza para ocultar cualquier archivo. Aquí estamos utilizando el archivo de texto
root@kali:~/Downloads/LSB-Steganography# python LSBSteg.py encode -i test.jpg -o output.jpg -f hidden.txt
root@kali:~/Downloads/LSB-Steganography#
  • Después de ejecutar la consulta anterior, se formará una nueva imagen con la misma imagen que se usa en la entrada como se muestra a continuación:
  • Ahora puede enviar la imagen que contiene texto confidencial

Decodificando el texto desde la imagen

  • Escriba python LSBSteg.py decode -i output.png -o confidential.txt
  • -i se usa para ingresar el nombre del archivo codificado con extensión
  • -o se usa para ingresar archivos ocultos con extensión
root@kali:~/Downloads/LSB-Steganography# python LSBSteg.py decode -i output.png -o confidential.txt
root@kali:~/Downloads/LSB-Steganography#
  • Después de ejecutar la de consulta anterior el archivo de texto se ha decodificado de la imagen
  • Escriba cat confidential.txt
root@kali:~/Downloads/LSB-Steganography# cat confidential.txt
hello iicybersecurity
root@kali:~/Downloads/LSB-Steganography#
  • El archivo de texto ha sido decodificado y es legible

Otras formas de codificar empleando el enfoque LSB

Jsteg

Jsteg es un tipo de herramienta que puede ocultar datos de texto dentro de un archivo jpeg. Esto funciona copiando cada bit de los datos en el bit menos significativo de la imagen.

Instalación

  • Abra el terminal y escriba wget -O /usr/bin/jsteg https://github.com/lukechampine/jsteg/releases/download/v0.1.0/jsteg-linux-amd64
  • Luego dé los permisos escribiendo  chmod +x /usr/bin/jsteg
  • Ahora escriba wget -O /usr/bin/slink https://github.com/lukechampine/jsteg/releases/download/v0.2.0/slink-linux-amd64
  • Para otorgar permisos escriba chmod +x /usr/bin/slink
root@kali:~# wget -O /usr/bin/jsteg https://github.com/lukechampine/jsteg/releas                                                                                                             es/download/v0.1.0/jsteg-linux-amd64
 --2019-05-17 04:24:15--  https://github.com/lukechampine/jsteg/releases/download                                                                                                             /v0.1.0/jsteg-linux-amd64
 Resolving github.com (github.com)… 192.30.253.112
 Connecting to github.com (github.com)|192.30.253.112|:443… connected.
 HTTP request sent, awaiting response… 302 Found
 Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/102983                                                                                                             532/c8d17a4c-9a4d-11e7-9121-6ab0667e9f29?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-                                                                                                             Credential=AKIAIWNJYAX4CSVEH53A%2F20190517%2Fus-east-1%2Fs3%2Faws4_request&X-Amz                                                                                                             -Date=20190517T082418Z&X-Amz-Expires=300&X-Amz-Signature=b9bfc48f4a114eed3fdcee9                                                                                                             0406656ae4d3cb74e115ff8f803f51ae7c9e1ec4b&X-Amz-SignedHeaders=host&actor_id=0&re                                                                                                             sponse-content-disposition=attachment%3B%20filename%3Djsteg-linux-amd64&response                                                                                                             -content-type=application%2Foctet-stream [following]
 --2019-05-17 04:24:17--  https://github-production-release-asset-2e65be.s3.amazo                                                                                                             naws.com/102983532/c8d17a4c-9a4d-11e7-9121-6ab0667e9f29?X-Amz-Algorithm=AWS4-HMA                                                                                                             C-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190517%2Fus-east-1%2Fs3%2Faws                                                                                                             tion-release-asset-2e65be.s3.amazonaws.com)… 52.216.8.203
 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-pr                                                                                                             oduction-release-asset-2e65be.s3.amazonaws.com)|52.216.8.203|:443… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: 2230578 (2.1M) [application/octet-stream]
 Saving to: ‘/usr/bin/jsteg’
 /usr/bin/jsteg      100%[===================>]   2.13M  1.07MB/s    in 2.0s
 2019-05-17 04:24:21 (1.07 MB/s) - ‘/usr/bin/jsteg’ saved [2230578/2230578]
 root@kali:~# chmod +x /usr/bin/jsteg
 root@kali:~# wget -O /usr/bin/slink https://github.com/lukechampine/jsteg/releas                                                                                                             es/download/v0.2.0/slink-linux-amd64
 --2019-05-17 04:24:32--  https://github.com/lukechampine/jsteg/releases/download                                                                                                             /v0.2.0/slink-linux-amd64
 Resolving github.com (github.com)… 192.30.253.112
-----------------------------------SNIP------------------------------------
 Connecting to github.com (github.com)|192.30.253.112|:443… connected.
 HTTP request sent, awaiting response… 302 Found
 Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/102983                                                                                                             532/83a4d348-a0dc-11e7-94b9-de79771603db?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-                                                                                                             Credential=AKIAIWNJYAX4CSVEH53A%2F20190517%2Fus-east-1%2Fs3%2Faws4_request&X-Amz                                                                                                             -Date=20190517T082433Z&X-Amz-Expires=300&X-Amz-Signature=58cc24619b55209869ef880                                                                                                             6ab332dbe48d24067df6b4fb2072f7e7a6305125a&X-Amz-SignedHeaders=host&actor_id=0&re                                                                                                             sponse-content-disposition=attachment%3B%20filename%3Dslink-linux-amd64&response                                                                                                             -content-type=application%2Foctet-stream [following]
 --2019-05-17 04:24:33--  https://github-production-release-asset-2e65be.s3.amazo                                                                                                             naws.com/102983532/83a4d348-a0dc-11e7-94b9-de79771603db?X-Amz-                                            tion-release-asset-2e65be.s3.amazonaws.com)… 52.216.20.24
 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-pr                                                                                                             oduction-release-asset-2e65be.s3.amazonaws.com)|52.216.20.24|:443… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: 2522891 (2.4M) [application/octet-stream]
 Saving to: ‘/usr/bin/slink’
 /usr/bin/slink      100%[===================>]   2.41M  1.12MB/s    in 2.1s
 2019-05-17 04:24:36 (1.12 MB/s) - ‘/usr/bin/slink’ saved [2522891/2522891]
 root@kali:~# chmod +x /usr/bin/slink

Uso

  • Después de que jsteg se instale abra el terminal y escriba jsteg
root@kali:~# jsteg
 Usage:
     jsteg hide in.jpg [FILE] [out.jpg]
       Hide FILE (or stdin) in in.jpg, writing the result to out.jpg (or stdout)
     jsteg reveal in.jpg [FILE]
       Write the hidden contents of in.jpg to FILE (or stdout)
  • Aquí estamos usando una imagen en formato jpg y un archivo text.txt con algo de texto para ocultar en las imágenes

Cómo ocultar el texto

  • La herramienta actualmente es compatible con dos formatos de imagen: jpeg y png. Hemos probado ambos formatos
  • Aquí estamos probando en formato JPEG de imagen. JPEG (también conocido como JPG), todos los tipos de archivos que terminan en .jpg
  • Para ocultar el archivo de texto detrás de la imagen, abra el terminal y escriba jsteg hide pointer-computer-icon-B5mDxM2-600.jpg text.txt abc.jpg
  • El comando hide se usa para ocultar el texto detrás de la imagen
  • pointer-computer-icon-B5mDxM2-600.jpg es la imagen utilizada
  • text.txt es el archivo de texto que desea ocultar detrás de la imagen
  • puedes usar cualquier nombre del archivo, como abc.jpg. Esto debería estar en jpg porque se guarda como una imagen
  • Puede verificar si el archivo está creado o no tecleando Is
root@kali:~/jsteg# jsteg hide pointer-computer-icon-B5mDxM2-600.jpg text.txt abc.jpg
root@kali:~/jsteg# ls
 abc.jpg     huffman.go                             reader.go  text.txt
 cmd         jsteg_test.go                          README.md  writer.go
 fdct.go     LICENSE                                scan.go
 go_LICENSE  pointer-computer-icon-B5mDxM2-600.jpg  testdata
  • Ahora ocultamos el texto con éxito detrás de la imagen

Recuperar el archivo codificado (abc.jpg)

  • El comando Reveal se usa para revelar el texto de la imagen
  • Ingrese el nombre de la imagen de la que desea decodificar el archivo de texto oculto
  • Ingrese el nombre del archivo que desea recuperar. Hemos mencionado output.txt
  • Escriba jsteg reveal abc.jpg output.txt
root@kali:~/jsteg# jsteg reveal abc.jpg output.txt 
root@kali:~/jsteg# ls
 abc.jpg     huffman.go     pointer-computer-icon-B5mDxM2-600.jpg  testdata
 cmd         jsteg_test.go  reader.go                              text.txt
 fdct.go     LICENSE        README.md                              writer.go
 go_LICENSE  output.txt     scan.go
  • Para leer el archivo de texto escriba nano y el nombre del archivo. Escriba cat output.txt
root@kali:~/jsteg# cat output.txt
 abcd 
root@kali:~/jsteg# jsteg
  • Como puede ver, jsteg ha codificado y decodificado el archivo correctamente en formato jpeg.
  • Aquí estamos probando en imágenes en formato PNG. PNG, tipos de archivos que terminan en .png
root@kali:~/jsteg# jsteg hide range.png text.txt cool.png
  • El comando hide se usa para ocultar el texto detrás de la imagen .png utilizada
  • text.txt es el archivo de texto que se desea ocultar detrás de la imagen
  • cool.png puedes usar cualquier nombre del archivo. Esto debería estar en jpg porque se guarda como una imagen

Recuperar el archivo codificado (cool.png)

  • Escriba jsteg reveal cool.png output2.txt
  • El comando Reveal se usa para revelar el texto de la imagen.
  • Ingrese el nombre de la imagen del que desea descodificar el archivo de texto oculto.
  • Ingrese el nombre del archivo que desea recuperar. Hemos mencionado output.txt
  • Escriba jsteg reveal cool.png output2.txt
root@kali:~/jsteg# jsteg reveal cool.png  output2.txt
  • Escriba cat output2.txt para ver los datos codificados
root@kali:~/jsteg# cat output2.txt
hello iicybersecurity 
root@kali:~/jsteg#
  • Como puede ver, jsteg ha codificado y decodificado el archivo correctamente en formato .png

Investigadores han seguido el enfoque LSB y desarrollado nuevas herramientas para sistema operativo Windows que mostraremos a continuación.

Opnestego

Openstego es una herramienta de esteganografía que puede ocultar nuestros datos dentro de un archivos encubiertos (por ejemplo, imágenes) y también ayuda a crear archivos de marca de agua con una firma invisible. Puede usarse para impedir que se realicen copias no autorizadas del archivo. Con openstego también podemos establecer contraseñas en las imágenes que ocultan datos.

  • Para las pruebas estamos utilizando Windows 7 Professional 2017 SP1.
  • Antes de continuar, Java debe estar instalado y mostrar configurado para usar openstego
  • Descargue openstego: https://github.com/syvaidya/openstego/releases/download/openstego-0.7.3/Setup-OpenStego-0.7.3.exe
  • Después de descargar el archivo de instalación, ejecute el archivo
  • Después de instalar con éxito, inicie openstego. Vaya a la ruta donde se instaló la herramienta: Disco local (C :)> Archivos de programa (x86)/ OpenStego
  • Vaya a la carpeta lib – Computadora / Escritorio local (C) / Archivos de programa (x86) / OpenStego
  • Haga clic en OpenStego.jar

Codificar los datos

  • Estamos creando archivo de texto para codificar con imagen. OpenStego ofrece diferentes formatos para codificar archivos de texto con varios formatos de imagen. Estaremos usando un archivo de texto abcd.txt
  • El archivo para encubrir debe ser una imagen de apariencia inofensiva, dentro de la cual se almacenará el archivo de mensaje
  • Asegúrese de que sea más grande que el archivo de texto. Aquí estamos utilizando jpegsystem-home.jpg como archivo para encubrir
  • Ahora seleccione el archivo stego de salida, vaya a la carpeta donde desea almacenar el archivo stego de salida. Por ejemplo, Desktop, ingrese cualquier nombre para el archivo, por ejemplo. abcd.txt
  • Ahora haga clic en Abrir una vez más. Aquí estamos tomando home.bmp como nombre
  • Elija la configuración de cifrado, aquí puede elegir cifrar su archivo con una contraseña. Estamos cifrando el archivo con contraseña para mostrar cómo funciona OpenStego
  • Puede codificar el archivo abcd.txt sin utilizar ningún método de cifrado. Haga clic en Contraseña y luego en Confirmar contraseña, haga clic en Ocultar datos
  • Su archivo abcd.txt se ocultará dentro de la imagen. Openstego creará otro archivo como home.bmp

Decodificar los datos

  • Para extraer el archivo, haga clic en el botón al lado de “Ocultar datos” y busque el archivo creado por OpenStego (home.bmp). A continuación, vaya al botón de entrada del archivo Stego. Seleccione el archivo que desea extraer (home.bmp)
  • Luego vaya a Carpeta de salida, seleccione la ubicación donde desea extraer el archivo (abcd.txt)
  • Si establece la contraseña, asegúrese de escribir, ya que hemos establecido la contraseña
  • Haga clic en el botón Extraer datos. OpenStego GUI es una herramienta bastante fácil de usar para ocultar y extraer datos usando imágenes de dos formatos comunes (PNG y JPG)

Deepsound

Analizaremos otra herramienta de esteganografía, este es un convertidor de audio que puede ocultar información en un archivo de diversos formatos. Esta herramienta forma parte del temario del curso de hacking ético del Instituto Internacional de Seguridad Cibernética.

Deepsound también permite extraer los archivos ocultos desde las pistas de audio, además de que admite el cifrado con Advanced Encryption Standard, mejorando la protección de la información.

Instalación

  • Antes de descargar la herramienta, asegúrese de haber instalado Microsoft .Net Framework 4.0. Luego descargue Deepsound desde: https://jpinsoft.net/deepsound/download.aspx
  • Después de la instalación inicie el programa
  • Después de la instalación comience Deepsound
  • Los ejecutables de Windows son fáciles de instalar. Simplemente haga clic en Siguiente. Para instalar Deepsound no necesita configuraciones adicionales
  • Haga clic en Open Carries para seleccionar el archivo de audio. Para las pruebas hemos utilizado el archivo mp3
  • Para esto estamos utilizando el archivo iicybersecurity.mp3
  • Ahora vamos a enlazar/codificar los archivos confidenciales. Haga clic en la opción ‘encode secret files’
  • A continuación tiene dos opciones:
    • Formato de salida. Puede seleccionar el formato de salida, es decir, en qué formato desea el archivo de salida .wav, .flac, .ape
    • La segunda opción es cifrar o establecer la contraseña en el archivo secreto
  • Haga clic en el botón ‘encode secret files’. Ahora ha ocultado con éxito sus datos detrás del archivo mp3

Decodificar los archivos

  • El archivo codificado se añadirá automáticamente
  • Luego haga clic en ‘Extract secret files’. Y nuestros datos se decodifican con éxito a la ruta dada

Stegano

Stegano es una herramienta de esteganografía. Esta herramienta se utiliza para ocultar el mensaje de texto en el archivo de imagen png y esta herramienta también revela el mensaje oculto en el archivo de imagen. Esta herramienta funciona bajo el enfoque LSB.

Requerimientos e instalación

  • Abra el terminal. Escriba sudo apt-get update
  • Ahora escriba sudo apt-get install python3
  • A continuación, escriba pip instalar pipenv
  • Ahora escriba pipenv install Stegano para instalar Stegano
root@kali:~# pipenv install Stegano
Creating a virtualenv for this project…
Using /usr/bin/python3 (3.7.3) to create virtualenv…
⠋Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /root/.local/share/virtualenvs/root-BuDEOXnJ/bin/python3
Also creating executable in /root/.local/share/virtualenvs/root-BuDEOXnJ/bin/python
Installing setuptools, pip, wheel…
done.

============SNIP==============

Adding Stegano to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (6bfca4)!
Installing dependencies from Pipfile.lock (6bfca4)…
▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:03
To activate this project's virtualenv, run the following:
$ pipenv shell
  • Esto instalará stegano en el entorno virtual de python
  • Ahora escriba pipenv shell, para ir al shell del entorno virtual
root@kali:~# pipenv shell
Spawning environment shell (/bin/bash). Use 'exit' to leave.
root@kali:~# . /root/.local/share/virtualenvs/root-BuDEOXnJ/bin/activate
(root-BuDEOXnJ) root@kali:~#

Uso de Stegano

Stegano trabaja en dos modos, stegano-lsb y stegano-lsb-set., cuyos detalles están descritos abajo.

Cómo esconder texto en una imagen

  • Escriba stegano-lsb hide -i image.png -m ” computer password – abc#123″ -e UTF-32LE -o wall.png
  • Aquí la opción -i se usa para tomar image.png como imagen de input
  • La opción -m se usa para ingresar el mensaje de texto que es la contraseña abc # 123
  • La opción -e se usa para establecer la codificación del mensaje que es UTF-32LE
  • La opción -o se usa para generar un archivo de imagen con un mensaje secreto con el nombre de archivo wall.png

La imagen de la izquierda es la imagen de entrada y la imagen de la derecha es la imagen de salida que contiene el mensaje oculto. El ojo humano normal no puede ver las diferencias entre ambas imágenes. El único cambio que se puede encontrar es en el tamaño de la imagen, que puede ser fácilmente identificado por los expertos en forense digital.

Extraer el mensaje oculto

Estamos obteniendo la contraseña de la computadora – abc#123 como output; este es el mensaje secreto oculto en el wall.png.

Cómo esconder un archivo en una imagen

  • Estamos escondiendo una imagen secreta dentro de otra imagen
  • Escriba stegano-lsb hide -i image.png -f file.jpeg -o wall1.png
  • Aquí la opción -i se usa para tomar image.png como imagen de entrada
  • -f se utiliza para ocultar el archivo de imagen secreta
  • -o opción de salida del archivo wall1.png con el mensaje secreto
(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb hide -i image.png -m " computer password - abc#123" -e UTF-32LE -o wall.png 

La imagen de la izquierda es file.jpeg, o sea, la imagen que se oculta dentro de la imagen y la imagen de la izquierda es output.jpeg (de donde se extrae la imagen). Ambas imágenes son idénticas, no parece haber diferencia entre ellas.

Revelar el mensaje de la imagen

(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb reveal -i wall.png -e UTF-32LE
computer password - abc#123

Obtendremos el mensaje oculto en wallpaper.png.

Esconder el texto en la imagen

  • Estamos escondiendo un archivo de imagen secreto dentro de una imagen
  • Escriba stegano-lsb hide -i image.png -f file.jpeg -o wall1.png
    Aquí la opción -i se usa para tomar image.png como imagen de entrada
  • -f se utiliza para ocultar el archivo de imagen secreta archivo.jpeg
  • -o opción de salida del archivo wall1.png con el mensaje secreto.
(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb hide -i image.png -f file.jpeg -o wall1.png

Extraer el archivo oculto

  • Escriba stegano-lsb reveal -i wall1.png -o output.jpeg
  • Aquí estamos usando la opción -i para ingresar wall1.png
  • La opción -o se usa para generar el archivo de imagen output.jpeg que está oculto en wall1.png
(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb reveal -i wall1.png -o output.jpeg

STEGANO-LSB-SET

Stegano-lsb-set es el otro modo de emplear Stegano. Este modo también almacena un mensaje secreto con el enfoque LSB, pero este modo almacena los datos de acuerdo con la secuencia de funciones que se utiliza. Por lo tanto, revelar datos se vuelve imposible si no sabe qué función se usó para ocultar la información.

Lista de funciones de Stegano-LSB-SET

(root-BuDEOXnJ) root@kali:~# stegano-lsb-set list-generators
 Generator id:
     ackermann
 Desciption:
     Ackermann number.
Generator id:
     ackermann_naive
 Desciption:
     Ackermann number.
Generator id:
     carmichael
 Desciption:
     Composite numbers n such that a^(n-1) == 1 (mod n) for every a coprime
     to n.
     https://oeis.org/A002997
Generator id:
     composite
========= SNIP =============

Por ejemplo, usamos un número de triángulos cuya función es f(x) = n (n+1) ½

This image has an empty alt attribute; its file name is FUNCTION-1.png

Entonces, mediante el cálculo anterior, podemos decir que el primer bit de los datos secretos se almacena en el primer LSB de la imagen. El segundo almacén de bits en el tercer LSB, el tercer almacén de bits en el sexto LSB y así sucesivamente.

Del cálculo anterior podemos decir que stegano-lsb-set almacena la menor cantidad de datos en comparación con stegano-lsb. Lo anterior se explica y muestra el curso de hacking ético del IICS.

Cómo esconder los datos en la imagen usando el modo Stegano-LSB-SET (función triangular)

  • Escriba stegano-lsb-set hide -i image.png -s 5 -m ‘hi everyone’ -g triangular_numbers -o result.png
  • La opción -i se usa para tomar image.png como un archivo de imagen de entrada.
  • La opción -s se usa para cambiar LSB a 5 y almacenar bit de datos secretos.
  • La opción -m se usa para enviar el mensaje secreto que es “texto de ejemplo”.
  • La opción-g selecciona la función que se utiliza para almacenar los datos y se utiliza la función triangular_numbers
  • La opción -o se usa para generar un archivo de imagen con el mensaje secreto y con el nombre de archivo result.png

NOTA: en el MODO stegano-lsb-set DEBE USAR LA OPCIÓN –g

(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb-set hide -i image.png -s 5 -m 'sample text' -g triangular_numbers -o result.png

Cómo extraer los datos ocultos de la imagen

Para revelar los datos secretos del archivo de imagen debe saber qué función se utiliza para almacenar los datos, de otra forma no podrá extraer los datos del archivo de imagen.

  • Escriba stegano-lsb-set reveal -i result.png -s 5 -g triangular_numbers
  • -i se utiliza para usar el archivo de entrada result.png del que se extraerán los datos
  • La opción -s se usa para cambiar LSB a 5
  • La opción -g selecciona la función que se utiliza para almacenar los datos y se utiliza la función triangular_numbers
(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb-set reveal -i result.png -s 5 -g triangular_numbers -o result.png
sample text

Aquí obtenemos un texto de muestra como resultado, que es el mensaje secreto oculto en result.png.

Otras formas para ocultar y revelar datos

Función LOG_GEN

Ocultar los datos

  • Escriba stegano-lsb-set hide -i wall.png -m “iicybersecurity” -g log_gen -o result.png
  • Aquí estamos usando la función log_gen y otra sintaxis es la misma
(root-BuDEOXnJ) root@kali:~/Documents# stegano-lsb-set hide -i wall.png -m "iicybersecurity" -g log_gen -o result.png

Extraer los datos

  • Escriba stegano-lsb-set reveal -i result.png -g log_gen
  • -i se utiliza para usar el archivo de entrada result.png del que se extraerán los datos
  • La opción -g selecciona la función que se utiliza para almacenar los datos y se utiliza la función log_gen
(root-BuDEOXnJ) root@kali:~/Documents# stegano-lsb-set reveal -i result.png -g log_gen
iicybersecurity

Función de Identidad

Ocultar los datos

  • Escriba stegano-lsb-set hide -i wall.png -m “iicybersecurity” -g identity -o result.png
  • Aquí estamos usando la función de identidad y otra sintaxis es la misma
(root-BuDEOXnJ) root@kali:~/Documents# stegano-lsb-set hide -i wall.png -m "iicybersecurity" -g identity -o result1.png

Revelar los datos

  • Escriba stegano-lsb-set reveal -i result1.png -g identity
  • -i se utiliza para usar el archivo de entrada result1.png del que se extraerán los datos
  • La opción -g selecciona la función que se utiliza para almacenar los datos y se utiliza la función de identidad
(root-BuDEOXnJ) root@kali:~/Documents# stegano-lsb-set reveal -i result1.png -g log_gen
iicybersecurity

Aquí obtenemos iicybersecurity como resultado, que es el mensaje secreto en result1.png.

Entonces, al probar diferentes funciones podemos concluir que el resultado de que la sintaxis es la misma para todas las funciones y la diferencia está en el proceso de back-end de almacenamiento de datos.

Trabajo práctico con esteganografía

Enviamos un mensaje secreto oculto en una imagen a nuestro amigo mediante el servicio de correo electrónico. Estamos usando stegano para ocultar el mensaje.

  • Abra el terminal y escriba pipenv shell
  • Ahora escriba stegano-lsb hide -i image.png -m “reencuénteme a las 10 pm” -f wallpaper.png
(root-BuDEOXnJ) root@kali:~/Desktop# stegano-lsb hide -i image.png -m "meet me at 10 pm" -f wallpaper.png

Aquí estamos usando image.png como archivo de entrada y ocultando el mensaje meet me at 10 pm y obteniendo el archivo de salida con el nombre de wallpaper.png.

  • Ahora envíe el wallpaper.png como archivo adjunto a la ID de correo electrónico de un amigo.
  • El receptor descargará wallpaper.png desde su ID de correo electrónico
  • Después abrirá el terminal y escribirá pipenv shell
  • Finalmente, el receptor escribirá stegano-lsb reveal -i wallpaper.png
(root-BuDEOXnJ) root@kali:~/Downlods# stegano-lsb reveal -i wallpaper.png
 meet me at 10 pm

El receptor del correo encontrará el mensaje meet me at 10 pm.

Código de paridad para la esteganografía de audio

El código de paridad es una técnica utilizada en la esteganografía de audio. El método de codificación de paridad divide una señal de audio en muestras y codifica cada bit del mensaje secreto en el bit de paridad de la muestra. Si el bit de paridad de una muestra seleccionada no coincide con el bit secreto a codificar, invierte el LSB de una de las muestras en la región.

Trabajando en la codificación de paridad

A continuación se muestra la investigación realizada por los especialistas en hacking ético del IICS.

Codificar archivos

  • Lea el archivo de audio (archivo para encubrir)
  • Divida la cubierta de audio en muestras de 16 bits
  • Lea el mensaje secreto
  • Compruebe el bit de paridad de cada muestra
  • Si la paridad de la muestra es par y el mensaje secreto que se va a incrustar es 0, no haga cambios en el LSB
  • Si la paridad de la muestra es par y el mensaje secreto que debe incrustarse es 1, cambie el LSB
  • Si la paridad de la muestra es impar y el mensaje secreto que se incrustará es 0, cambie el LSB
  • Si la paridad de la muestra es impar y el mensaje secreto que se va a incrustar es 1, no hay cambios en el LSB
  • Luego extraiga el archivo de audio

Decodificar archivos

  • Lea el archivo de audio
  • Divida el archivo de audio en muestras de 16 bits
  • Lea el bit de paridad de cada muestra
  • Si el bit de paridad es 1, tome 1 como bit de mensaje secreto
  • Si el bit de paridad es 0, tome 0 como bit de mensaje secreto
  • Después de recoger todos los bits de mensajes secretos, se envía el mensaje secreto

La siguiente tabla muestra el trabajo a realizar.

La tabla de arriba muestra la codificación del bit de paridad. Aquí el archivo de audio se divide en muestras de 16 bits. El codificador de mensajes secretos divide el archivo de audio en muchos archivos de muestra, pero en esta tabla mostramos el número de archivo de muestra entre 52 y 56 solo para mostrar el funcionamiento del codificador.

  • En la muestra no. 52 donde el bit de paridad es 0 y el bit secreto es 1, por lo que se cambia el LSB del bit de muestra
  • En la muestra no. 53 donde el bit de paridad es 1 y el bit secreto es 1, por lo que no se cambia el LSB del bit de muestra
  • En la muestra no. 54 donde el bit de paridad es 1 y el bit secreto es 0, por lo que se cambia el LSB del bit de muestra
  • En la muestra no. 55 donde el bit de paridad es 0 y el bit secreto es 0, por lo que no se cambia el LSB del bit de muestra
  • En la muestra no. 56 donde el bit de paridad es 0 y el bit secreto es 1, por lo que se cambia el LSB del bit de muestra

El trabajo de la esteganografía de audio de codificación de paridad impar es bastante similar a la codificación de paridad par. Solo que la diferencia está en la paridad impar, el número de 1 en el bloque debe ser impar en lugar de par.

MP3Stego

MP3Stego es una herramienta de esteganografía de audio basada en Windows. Esta herramienta se utiliza para ocultar el archivo de texto en el archivo MP3. MP3stego oculta la información durante la compresión del archivo mp3.

Descargar MP3Stego: https://www.petitcolas.net/fabien/software/MP3Stego_1_1_19.zip

Uso de MP3Stego

  • Extraer el archivo MP3stego descargado
  • Abrir cmd
  • Ir al directorio donde ha extraído MP3stego por

cd Downloads\MP3Stego_1_1_19\MP3Stego>

C:\Users\iicybersecurity> cd Downloads\MP3Stego_1_1_19\MP3Stego>
  • Escriba Encode.exe -E hidden_text.txt -P acb123 svega.wav
  • Aquí estamos usando la aplicación Enode.exe para ocultar el texto
  • La opción -E se utiliza para seleccionar el archivo de texto hidden_text.txt que se va a ocultar
  • La opción -P se usa para establecer la contraseña que es acb123
  • Luego svega.wav es un archivo de entrada en el que el mensaje de texto ocultará y emitirá el archivo audio.mp3 con el mensaje oculto
This image has an empty alt attribute; its file name is 7kXVqe_OcjJyPd0L-jdjtK5kNOqJ5uP2TjNDCOlK6U-BIFF7PlZZeU-xg08aWny8nDWrpY1sgZYw6KxtDEB9xBXfWxd64kBelGTBvOPJN321V-MGpCpUnuQlTqJheYgvtHgD0jaW

Esta es la imagen del archivo hidden_text que se va a ocultar.

C:\Users\iicybersecurity\Downloads\MP3Stego_1_1_19\MP3Stego>Encode.exe -E hidden_text.txt -P acb123 svega.wav audio.mp3
MP3StegoEncoder 1.1.19
See README file for copyright info
Microsoft RIFF, WAVE audio, PCM, mono 44100Hz 16bit, Length:  0: 0:20
MPEG-I layer III, mono  Psychoacoustic Model: AT&T
Bitrate=128 kbps  De-emphasis: none CRC: off
Encoding "svega.wav" to "audio.mp3"
Hiding "hidden_text.txt"

Frame    791 of 791 Finished in  0: 0: 0

Recuperar el mensaje oculto

  • Escriba Decode.exe -X -P acb123 audio.mp3
  • Aquí estamos utilizando Decode.exe para decodificar el mensaje secreto del archivo audio.mp3
  • La opción -X se usa para extraer el texto oculto de los datos
  • La opción P se usa para ingresar la contraseña que se usó para la compresión
C:\Users\iicybersecurity\Downloads\MP3Stego_1_1_19\MP3Stego>Decode.exe -X -P acb123 audio.mp3
MP3StegoEncoder 1.1.19
See README file for copyright info
Input file = 'audio.mp3'  output file = 'audio.mp3.pcm'
Will attempt to extract hidden information. Output: audio.mp3.txt
the bit stream file audio.mp3 is a BINARY file
HDR: s=FFF, id=1, l=3, ep=off, br=9, sf=0, pd=1, pr=0, m=3, js=0, c=0, o=0, e=0
alg.=MPEG-1, layer=III, tot bitrate=128, sfrq=44.1
mode=single-ch, sblim=32, jsbd=32, ch=1
[Frame  791]Avg slots/frame = 417.434; b/smp = 2.90; br = 127.839 kbps
Decoding of "audio.mp3" is finished
The decoded PCM output file name is "audio.mp3.pcm"
  • Aquí obtenemos dos archivos como salida audio.mp3.pcm y audio.mp3.txt
  • El archivo audio.mp3.txt contiene el texto que estaba oculto en el archivo audio.mp3
  • audio.mp3.pcm es la versión para descomprimir de audio.mp3
This image has an empty alt attribute; its file name is 4G7GNTxzmIBGq1GWewaxYGiQ3nvumJTdD0loHaVX3D9PvXm461EwOrafzoY6UJ0vwWe7XSrZ6Z9-XHUDlclDMg37_klAowej0oV2ccJe8Yt_y2ubyQFIF_LmXWJRvNSLLCOctlbR
  • Esta es la imagen del archivo de texto extraído audio.mp3.txt que es el mismo que el archivo de texto de entrada

Otros mecanismos de esteganografía

Bit de paridad

El bit de paridad es una técnica que divide las señales de audio en áreas separadas de regiones y codifica cada bit del mensaje secreto en el bit de paridad de la región de muestra.

Codificación de fase

En la codificación de fase, el sonido real se divide en segmentos más pequeños cuyo tamaño es igual al mensaje que se va a codificar. En otras palabras, podría ser una canción o cualquier grabación. En lugar de modificar los valores de fase completa, se modifican las frecuencias seleccionadas.

Funcionamiento de codificación de fase

  • Las señales de sonido en codificación de fase se dividen en segmentos más pequeños cuya longitud es igual al tamaño del mensaje de codificación
  • Aplique la transformada de Fourier discreta en cada segmento para crear fases de matriz y magnitudes de transformadas de Fourier. Y calcular las diferencias de fase entre segmentos adyacentes
  • Ocultar el mensaje secreto en el primer segmento de un archivo de audio usando la fase de la ecuación 2
  • Las nuevas señales de sonido se reconstruyen utilizando un DFT inverso y luego conectan los segmentos de sonido juntos

Spread spectrum

Spread spectrum se utiliza para transmitir señales de radio al crear una ruta de cifrado utilizando un algoritmo de propagación. Esta técnica se practica mediante la transmisión de señales para completar el espectro de frecuencias.

Funcionamiento de spread spectrum

  • Spread spectrum utiliza un algoritmo de propagación para difundir la señal de radio basada en el código de pseudo ruido. Las señales de radio están ocultas en el piso de ruido de la banda de radio. (El piso de ruido es la medición de la acumulación de señales a partir de la suma de todas las fuentes de ruido y señales no deseadas dentro de la medición del sistema)
  • En el lado del receptor, en el proceso de correlación, las señales deben ser diseminadas. Esto dificulta que se vean señales no deseadas
  • Se vuelve difícil detectar el resultado final y transfiere el ancho de banda. El método anterior hace que sea difícil de interceptar o bloquear el ancho de banda, por eso esta tecnología es utilizada con fines militares

Echo hidding

  • Echo Hidding (ocultación del eco) es una técnoca de esteganografía que se basa en el eco de un sonido. Los datos se pueden ocultar en un archivo de audio utilizando los tres parámetros del eco: amplitud inicial, desplazamiento y velocidad de retraso
  • La amplitud inicial determina la amplitud de audio de la cubierta. El ajuste proporciona la distancia entre el eco y la señal de la cubierta. Si el tamaño del desplazamiento entre el eco y el archivo de la cubierta se reduce a la extensión, los oídos humanos no pueden diferenciar entre dos señales y no pueden escuchar el eco
  • Si usamos dos tiempos de retardo diferentes entre ecos, ambos por debajo del nivel perceptivo del oído humano, podemos codificar un 0 o 1 binario para este tiempo de retardo. La tasa de decaimiento y la amplitud inicial también se pueden ajustar por debajo del umbral audible del oído humano, para garantizar que la información no genere ningún ruido
  • Un 0 binario está representado por un cierto retraso x y un 1 binario está representado por un cierto retraso y. Con este retardo x y el valor de retardo y podemos codificar y decodificar el mensaje en un archivo de audio
  • Para codificar más de un bit, la señal original se divide en bloques, cada bloque puede hacerse eco para codificar el bit deseado. La codificación final se puede hacer simplemente ensamblando los bloques nuevamente en un archivo de audio

Todas estas técnicas fueron probadas por especialistas en hacking ético del Instituto Internacional de Seguridad Cibernética (IICS).