Las mejores herramientas forenses para ocultar secretos, contraseñas y recuperar archivos

La esteganografía es un término común que se usa para ocultar o cifrar cualquier información personal o cualquier otra cosa que no desee compartir; es el arte de ocultar datos personales. Hoy en día, la mayoría de las empresas utilizan estas técnicas para ocultar contenido confidencial dentro de una imagen, por ejemplo. Hay varias formas de ocultar un contenido personal como texto simple, archivos .mp3, .wav y muchos otros formatos que son compatibles con este método. Esta práctica es antigua pero sigue siendo útil, aunque hay algunas lagunas en esta técnica. Hoy en día hay muchas herramientas y software disponible para descifrar datos encriptados de imágenes y también la esteganografía es popular en los kits de explotación. Le mostraremos algunas de las herramientas que se utilizan para cifrar y descifrar datos de imágenes.

Cómo funciona la esteganografía

Todas las imágenes que vemos electrónicamente, como en dispositivos móviles, televisores y computadoras, están compuestas por píxeles (que son el componente más pequeño de una imagen). En cada imagen los píxeles se producen con tres o cuatro colores: rojo, verde, azul y blanco. El modelo RGB es común para pantallas de video y otros componentes de video que se usan para mirar una imagen en la pantalla electrónica. Estos modelos RGB se agregan juntos para crear una matriz de color. Estos colores son conocidos como complemento principal cuando se mezclan en cantidades iguales.

Como se muestra arriba, el RGB forma diferentes colores en la pantalla. En códigos binarios forma diferentes colores en la esteganografía. Cuando las imágenes se combinan en la esteganografía, el RGB cambia sus colores como se muestra a continuación:

Como se muestra arriba, cuando se combinan dos imágenes se forma una nueva imagen. En la esteganografía, la mayoría de los bits se cambian, ya que muestra un efecto visual muy pequeño en la imagen.

Como puede ver, cuando la imagen 2 se está ocultando, está ocultando datos en ella a medida que la esteganografía cambia más a la derecha en la imagen:

Como se muestra arriba, la parte más a la izquierda es una imagen simple. Pero lo más correcto es una imagen que esconde otra imagen. Si observa con cuidado, la segunda imagen en la figura anterior contiene datos encriptados. El código de Python que se muestra a continuación muestra cómo se oculta la imagen en otra imagen.

#encoding 
steg = LSBSteg(cv2.imread("image_1.png")
new_im = steg.encode_image(cv2.imread("image_2.jpg")) cv2.imwrite("Desert.png", new_im)

#decoding
steg = LSBSteg("new_image.png")
orig_im = steg.decode_image()
cv.SaveImage("Desert.png", orig_im)

Como se muestra arriba en el código, la imagen 1 está oculta en la imagen 2. Lo anterior es el código común que se usa para ocultar imágenes en la imagen. Ahora veremos el código txt que muestra cómo txt se oculta en la imagen. El código anterior utiliza unos parámetros simples para ocultar las imágenes.

#encoding 
steg = LSBSteg(cv2.imread("my_image.png"))
img_encoded = steg.encode_text("sensitive_data") cv2.imwrite("Desert.png", img_encoded)

#decoding

im = cv2.imread("Desert.png")
steg = LSBSteg(im)
print("Text value:",steg.decode_text())

Lo anterior es que el código básico muestra cómo se oculta el texto dentro de una imagen. El código anterior consiste en un método codificado que se usa para ocultar archivos de texto. Ahora le mostraremos algunas de las herramientas que se utilizan para ocultar datos dentro de una imagen.

Stegohide – Ocultar información en una imagen

Stegohide es un programa simple que se usa para ocultar datos dentro de una imagen. Según expertos en seguridad en redes del Instituto Internacional de Seguridad Cibernética,las frecuencias de color no se modifican en este programa, ya que solo esconde datos mínimos. La versión actual, Stegohide 0.5.1., puede encriptar la información. Cuando un usuario oculta el archivo de texto dentro de este programa, le pide que ponga una frase de contraseña. La frase de contraseña es la clave que se utiliza para cifrar y descifrar la información confidencial.

  • La herramienta está disponible tanto en Linux como en Windows, pero la hemos probado en el sistema operativo Windows, descargada desde: https://sourceforge.net/projects/steghide/files/steghide/0.5.1/steghide-0.5.1-win32.zip/download?use_mirror=excellmedia&download=
  • Después de descargar un archivo rar, descomprima el archivo rar y abra el archivo stegohide.exe en cmd
  • Para eso vaya al menú de inicio, escriba cmd. Después, haga clic derecho en cdm y abra dm como administrador
  • Después de abrir como administrador, vaya a la ubicación donde la herramienta fue descomprimida. Escriba dir
  • Luego escriba stegohide.exe
  • Puede elegir cualquier imagen para cifrar los datos. Hemos elegido la imagen por defecto de Windows para la demostración
  • Escriba stegohide embed -cf Desert.jpg -ef “secret info.txt”
  • -cf se utiliza para el archivo de portada
  • -ef se utiliza para cifrar datos confidenciales.
  • Escriba passphrase como su contraseña. Escriba 123456 para cifrar
  • Después de ejecutar la consulta anterior, los datos ahora están encriptados. Ahora puede borrar el archivo original
  • Ahora para descifrar teclee steghide extract -sf Desert.jpg
  • Después de ejecutar los datos serán descifrados en su forma original. La información anterior se puede utilizar en otras actividades de hacking, como el envío de un mensaje cifrado o para incrustar malware
  • Escriba steghide –info Desert1.jpg
  • Escriba y
  • Escriba passphrase como su contraseña
  • Escriba 123456 para cifrar
  • En la imagen anterior, el primer comando se usa para verificar la información básica del archivo y si los datos están encriptados en esa imagen
  • Los detalles de los datos cifrados también se pueden ver escribiendo una frase de contraseña
  • Escriba steghide –encinfo para ver todos los algoritmos
  • La consulta anterior muestra los algoritmos que se utilizan para cifrar datos. El conocimiento de los algoritmos de cualquier programa de encriptación puede carecer de seguridad, ya que se pueden crear fácilmente descifradores adicionales
  • Los comandos anteriores que se utilizan para cifrar datos utilizan el cifrado rijndael-256 para ocultar archivos de texto
  • Escriba steghide embed -cf Desert.jpg -f -ef “secret info.txt”
  • -cf se utiliza para el archivo de portada
  • -ef se utiliza para cifrar datos confidenciales.
  • -f sobrescribirá el archivo.
  • Escriba passphrase como su contraseña.
  • Escriba 123456 para cifrar
  • Después de ejecutar el mismo archivo se sobrescribirá si se realiza algún cambio en el archivo de texto oculto
  • Escriba steghide -N -cf Desert.jpg -ef “secret info.txt”
  • -N no incrustará el nombre del archivo original
  • -cf se utiliza para el archivo de portada
  • -ef se utiliza para cifrar datos confidenciales
  • La herramienta anterior se utiliza para cifrar los datos sin tomar el nombre del archivo oculto. Asegúrese de cifrar los datos mediante este comando
  • Como si intentara descifrar los datos, no se descifrarían, ya que requiere un nombre de archivo incrustado al descifrarlos

Foremost – Recuperación de archivos

Foremost es otra utilidad que recupera archivos borrados en un sistema Linux. La recuperación de datos es el proceso en el que se recuperan los datos eliminados o dañados. Foremost es una sencilla utilidad preinstalada en muchos sistemas. Ya se ha realizado una configuración inicial en Kali Linux para el uso de ante todo.

  • Escriba git clone https://github.com/korczis/foremost.git
  • Luego escriba make
  • Escriba make install
  • Y si eres Kali Linux 2018.4. Simplemente escriba foremost –
root@kali:/home/iicybersecurity/Downloads/foremost# foremost -h
foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus.
$ foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t ] [-s ] [-k ]
[-b ] [-c ] [-o
] [-i <file]
-V - display copyright information and exit
-t - specify file type. (-t jpeg,pdf …)
-d - turn on indirect block detection (for UNIX file-systems)
-i - specify input file (default is stdin)
-a - Write all headers, perform no error detection (corrupted files)
-w - Only write the audit file, do not write any detected files to the disk
-o - set output directory (defaults to output)
-c - set configuration file to use (defaults to foremost.conf)
-q - enables quick mode. Search are performed on 512 byte boundaries.
-Q - enables quiet mode. Suppress output messages.
-v - verbose mode. Logs all messages to screen
  • Aquí tenemos un ejemplo de prueba de archivo pdf ya sea que recupere el archivo o no
root@kali:/home/iicybersecurity# ls
core Desktop Documents Downloads Music output Pictures Public sample.pdf Templates Videos
  • Teclee cat sample.pdf
root@kali:/home/iicybersecurity# cat sample.pdf
%PDF-1.3
%▒▒▒▒
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>
endobj
2 0 obj
<<
/Type /Outlines
/Count 0
>
endobj
3 0 obj
<<
/Type /Pages
/Count 2
/Kids [ 4 0 R 6 0 R ]
>
endobj
4 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>
/ProcSet 8 0 R
>
/MediaBox [0 0 612.0000 792.0000]
/Contents 5 0 R
>
endobj
5 0 obj
<< /Length 1074 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( A Simple PDF File ) Tj
  • Escriba rm sample.pdf
root@kali:/home/iicybersecurity# ls
core Desktop Documents Downloads Music output Pictures Public sample.pdf Templates Videos
root@kali:/home/iicybersecurity# rm sample.pdf
root@kali:/home/iicybersecurity# ls
root@kali:/home/iicybersecurity# ls
core Desktop Documents Downloads Music output Pictures Public Templates Videos
  • Escriba foremost -i sample.pdf -T pdf
  • -i se utiliza para especificar el nombre del archivo de entrada
  • -T se usa para ingresar la extensión de archivo deseada. Esta opción es obligatoria si el directorio no está vacío desde donde se elimina el archivo
root@kali:/home/iicybersecurity# foremost -i sample.pdf -T pdf
Processing: stdin
root@kali:/home/iicybersecurity#
  • Después de ejecutar la consulta anterior, lleva tiempo recuperar el archivo
  • Escriba foremost -i sample.pdf -T pdf -o / home / iicybersecurity
root@kali:/home/iicybersecurity# foremost -i sample.pdf -T pdf -o /home/iicybersecurity  
Processing: stdin
root@kali:/home/iicybersecurity#
  • Una vez completada la recuperación, vaya al directorio de salida
  • Teclee cd output
root@kali:/home/iicybersecurity# ls
core Desktop Documents Downloads Music output output_Thu_Jan_31_06_08_40_2019 Pictures Public Templates Videos
root@kali:/home/iicybersecurity# cd output
  • Escriba ls
  • Escriba cat audit.txt
root@kali:/home/iicybersecurity/output# ls
audit.txt pdf
root@kali:/home/iicybersecurity/output# cat audit.txt
Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File
Foremost started at Thu Jan 31 06:08:13 2019
Invocation: foremost -i sample.pdf
Output directory: /home/iicybersecurity/output
Configuration file: /usr/local/etc/foremost.conf
File: sample.pdf
Start: Thu Jan 31 06:08:14 2019
Length: 2 KB (3028 bytes)
Num Name (bs=512) Size File Offset Comment
0: 00000000.pdf 2 KB 0
Finish: Thu Jan 31 06:08:14 2019
1 FILES EXTRACTED
pdf:= 1
Foremost finished at Thu Jan 31 06:08:14 2019
  • El archivo de auditoría anterior muestra los detalles del archivo en el que la hora y la fecha en que se recuperó el archivo
  • Como se muestra arriba, el PDF se ha recuperado con un nombre de archivo diferente, pero el contenido de los archivos es el mismo
  • Para abrir archivos escriba cd pdf
  • Escriba cat 00000000.pdf
root@kali:/home/iicybersecurity/output/pdf# cat 00000000.pdf
%PDF-1.3
%▒▒▒▒
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>
endobj
2 0 obj
<<
/Type /Outlines
/Count 0
>
endobj
3 0 obj
<<
/Type /Pages
/Count 2
/Kids [ 4 0 R 6 0 R ]
>
endobj
4 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>
/ProcSet 8 0 R
>
/MediaBox [0 0 612.0000 792.0000]
/Contents 5 0 R
>
endobj
5 0 obj
<< /Length 1074 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( A Simple PDF File ) Tj
  • Como puede ver, los datos del archivo son exactamente los mismos que antes, antes de eliminarlos