Laboratorio de esteganografia. Hacking Etico.

 

Laboratorio de esteganografia. Hacking Etico.

  1. Introducción.

La esteganografía es una técnica utilizada para ocultar información dentro de otros archivos aparentemente inofensivos, como imágenes, audios o videos, con el objetivo de mantener el mensaje secreto sin levantar sospechas. A diferencia del cifrado, que protege el contenido pero no oculta su existencia, la esteganografía busca disimular la presencia misma de la información. En el ámbito de la informática forense y los delitos informáticos, esta técnica puede ser empleada tanto con fines legítimos de protección de datos como con fines ilícitos, como la ocultación de malware o la exfiltración de información. En la presente actividad se desarrollará un laboratorio práctico utilizando Kali Linux para ocultar un script en una imagen, analizar su funcionamiento y comprender su relevancia en las investigaciones digitales.

  1. Entorno de laboratorio.

El laboratorio fue desarrollado en un entorno controlado utilizando una máquina virtual con Kali Linux como sistema operativo, instalada sobre VirtualBox. Se asignaron 4 GB de memoria RAM, 2 núcleos de procesador y 40 GB de almacenamiento, configurando la red en modo NAT para permitir el acceso a Internet durante la instalación de herramientas.

  Este entorno permite realizar pruebas de esteganografía de manera segura, sin afectar otros sistemas, garantizando condiciones adecuadas para la instalación de utilidades como steghide y la ejecución de scripts en Python, siguiendo buenas prácticas de análisis en informática forense.

  1. Procedimiento técnico.

El procedimiento inició con la descarga e instalación de Kali Linux en una máquina virtual previamente configurada. Una vez iniciado el sistema, se actualizó el repositorio de paquetes mediante el comando:


┌──(kali㉿kali)-[~]

└─$ sudo apt update                                                       

Get:1 http://kali.download/kali kali-rolling InRelease [34.0 kB]

Get:2 http://kali.download/kali kali-rolling/main amd64 Packages [20.6 MB]

Get:3 http://kali.download/kali kali-rolling/main amd64 Contents (deb) [52.1 MB]                                                                                                                                                           

Get:4 http://kali.download/kali kali-rolling/contrib amd64 Packages [118 kB]                                                                                                                                                               

Get:5 http://kali.download/kali kali-rolling/contrib amd64 Contents (deb) [272 kB]                                                                                                                                                         

Get:6 http://kali.download/kali kali-rolling/non-free amd64 Packages [188 kB]                                                                                                                                                              

Get:7 http://kali.download/kali kali-rolling/non-free amd64 Contents (deb) [890 kB]                                                                                                                                                        

Fetched 74.2 MB in 39s (1,909 kB/s)                                                                                                                                                                                                        

2218 packages can be upgraded. Run 'apt list --upgradable' to see them.                                                                                                                                                                                                                                          


para garantizar que las herramientas estuvieran en su versión más reciente.


Posteriormente, se creó un archivo de script en Python denominado secreto.py, el cual contenía un mensaje simple que serviría como información a ocultar dentro de la imagen.


──(kali㉿kali)-[~]

└─$ vi secreto.py


# secreto.py

print("Mensaje oculto: Informática Forense 2026")


Seguidamente, se descargó una imagen en formato JPG (Mona Lisa) desde una fuente pública.


└─$ wget https://upload.wikimedia.org/wikipedia/commons/6/6a/Mona_Lisa.jpg


--2026-02-11 15:49:41--  https://upload.wikimedia.org/wikipedia/commons/6/6a/Mona_Lisa.jpg

Resolving upload.wikimedia.org (upload.wikimedia.org)... 208.80.153.240, 2620:0:860:ed1a::2:b

Connecting to upload.wikimedia.org (upload.wikimedia.org)|208.80.153.240|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 3506068 (3.3M) [image/jpeg]

Saving to: ‘Mona_Lisa.jpg’


Mona_Lisa.jpg                100%[==============================================>]   3.34M  3.41MB/s    in 1.0s    


2026-02-11 15:49:48 (3.41 MB/s) - ‘Mona_Lisa.jpg’ saved [3506068/3506068]                                                                                                                  



y se instaló la herramienta de esteganografía steghide utilizando el comando sudo apt install steghide. 


┌──(kali㉿kali)-[~]

└─$ sudo apt install steghide                                             


The following packages were automatically installed and are no longer required:

  icu-devtools  libicu-dev  libpython3.12-dev  python3.12  python3.12-dev  python3.12-minimal  python3.12-venv

Use 'sudo apt autoremove' to remove them.


Installing:

  steghide

                                                                                                                                                                                                                                            

Installing dependencies:

  libmcrypt4  libmhash2

                                                                                                                                                                                                                                            

Suggested packages:

  libmcrypt-dev  mcrypt


Summary:

  Upgrading: 0, Installing: 3, Removing: 0, Not Upgrading: 2218

  Download size: 309 kB

  Space needed: 916 kB / 61.4 GB available


Continue? [Y/n] y

Get:2 http://us.mirror.ionos.com/linux/distributions/kali/kali kali-rolling/main amd64 libmhash2 amd64 0.9.9.9-11 [93.2 kB]

Get:3 http://mirror.us.cdn-perfprod.com/kali kali-rolling/main amd64 steghide amd64 0.5.1-15 [144 kB]                 

Get:1 http://http.kali.org/kali kali-rolling/main amd64 libmcrypt4 amd64 2.5.8-8+b1 [72.1 kB]             

Fetched 309 kB in 21s (14.5 kB/s)                                       

Selecting previously unselected package libmcrypt4:amd64.

(Reading database ... 404197 files and directories currently installed.)

Preparing to unpack .../libmcrypt4_2.5.8-8+b1_amd64.deb ...

Unpacking libmcrypt4:amd64 (2.5.8-8+b1) ...

Selecting previously unselected package libmhash2:amd64.

Preparing to unpack .../libmhash2_0.9.9.9-11_amd64.deb ...

Unpacking libmhash2:amd64 (0.9.9.9-11) ...

Selecting previously unselected package steghide.

Preparing to unpack .../steghide_0.5.1-15_amd64.deb ...

Unpacking steghide (0.5.1-15) ...

Setting up libmhash2:amd64 (0.9.9.9-11) ...

Setting up libmcrypt4:amd64 (2.5.8-8+b1) ...

Setting up steghide (0.5.1-15) ...

Processing triggers for libc-bin (2.40-3) ...

Processing triggers for man-db (2.13.0-1) ...

Processing triggers for kali-menu (2024.4.0) ...                                                                                                                                                                                                                                        


Con la herramienta instalada, se procedió a ocultar el archivo secreto.py dentro de la imagen mediante el comando steghide embed -cf Mona_Lisa.jpg -ef secreto.py,

estableciendo una contraseña para proteger la extracción del contenido oculto.


┌──(kali㉿kali)-[~]

└─$ steghide embed -cf Mona_Lisa.jpg -ef secreto.py


Enter passphrase: 

Re-Enter passphrase: 

embedding "secreto.py" in "Mona_Lisa.jpg"... done

Resultado:

Se modifica la imagen, pero visualmente se ve igual.


Finalmente, para verificar el proceso, se ejecutó el comando steghide extract -sf Mona_Lisa.jpg, ingresando la contraseña previamente definida. 


┌──(kali㉿kali)-[~]

└─$ steghide extract -sf Mona_Lisa.jpg


Enter passphrase: 

the file "secreto.py" does already exist. overwrite ? (y/n) y

wrote extracted data to "secreto.py".


El sistema permitió recuperar el archivo oculto, el cual fue ejecutado para comprobar que el mensaje original se mantenía íntegro. Este procedimiento permitió demostrar el funcionamiento práctico de la esteganografía y su relevancia en el análisis forense digital.

  1. Conclusión.

La práctica permitió comprobar de manera técnica cómo la esteganografía puede utilizarse para ocultar información dentro de archivos aparentemente inofensivos, como imágenes digitales, sin alterar perceptiblemente su apariencia visual. A través del uso de Kali Linux y la herramienta steghide, se demostró que es posible incrustar y posteriormente recuperar un archivo oculto mediante el uso de una contraseña, validando la integridad del contenido extraído.


Asimismo, la actividad evidenció la importancia de esta técnica en el ámbito de la informática forense, ya que la esteganografía puede ser empleada tanto con fines legítimos de protección de información como con fines ilícitos, como la ocultación de malware o la exfiltración de datos. Por ello, los analistas forenses deben conocer estas técnicas para poder identificar posibles mecanismos de ocultamiento durante una investigación digital.


Finalmente, el laboratorio reforzó la importancia de trabajar en entornos controlados y documentar cada procedimiento técnico realizado, aplicando principios fundamentales como la preservación de evidencia y la verificación de resultados, competencias esenciales en el ejercicio profesional de la seguridad informática y el análisis forense digital.

  1. Herramientas alternativas.


Steghide


Herramienta clásica de esteganografía que permite ocultar y extraer archivos dentro de imágenes (JPG, BMP) y audio (WAV). Soporta cifrado y protección con contraseña. Es ampliamente utilizada en laboratorios forenses y entornos académicos.


https://steghide.sourceforge.net/


Binwalk


Herramienta especializada en el análisis y extracción de datos ocultos dentro de archivos binarios, firmware e imágenes. Muy utilizada en análisis forense y seguridad ofensiva para detectar contenido incrustado.


https://github.com/ReFirmLabs/binwalk


Zsteg


Herramienta enfocada en detectar esteganografía en imágenes PNG y BMP mediante análisis de bits menos significativos (LSB). Muy utilizada en retos de seguridad y análisis técnico profundo.


https://github.com/zed-0xff/zsteg


ExifTool


Herramienta avanzada para analizar y modificar metadatos (EXIF, IPTC, XMP) en imágenes y otros archivos. Es fundamental en investigaciones forenses para detectar alteraciones o inconsistencias.


https://exiftool.org/


Comentarios

Entradas populares de este blog

Implementación del Modelo AAA

¿Qué es la Auditoría de Sistemas Informáticos?

CURRICULUM VITAE (ESP)