hacktricks/stego/stego-tricks.md

15 KiB

Trucos de Esteganografía

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. Pruébalo gratis hoy.

{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}


Extrayendo datos de todos los archivos

Binwalk

Binwalk es una herramienta para buscar archivos binarios, como imágenes y archivos de audio, en busca de archivos y datos ocultos incrustados.
Se puede instalar con apt, y el código fuente se puede encontrar en Github.
Comandos útiles:
binwalk archivo : Muestra los datos incrustados en el archivo dado
binwalk -e archivo : Muestra y extrae los datos del archivo dado
binwalk --dd ".*" archivo : Muestra y extrae los datos del archivo dado

Foremost

Foremost es un programa que recupera archivos basándose en sus encabezados, pies de página y estructuras de datos internas. Lo encuentro especialmente útil cuando se trata de imágenes png. Puedes seleccionar los archivos que Foremost extraerá cambiando el archivo de configuración en /etc/foremost.conf.
Se puede instalar con apt, y el código fuente se puede encontrar en Github.
Comandos útiles:
foremost -i archivo : extrae datos del archivo dado.

Exiftool

A veces, cosas importantes están ocultas en los metadatos de una imagen o archivo; exiftool puede ser muy útil para ver los metadatos del archivo.
Puedes obtenerlo aquí
Comandos útiles:
exiftool archivo : muestra los metadatos del archivo dado

Exiv2

Una herramienta similar a exiftool.
Se puede instalar con apt, y el código fuente se puede encontrar en Github.
Sitio web oficial
Comandos útiles:
exiv2 archivo : muestra los metadatos del archivo dado

File

Verifica qué tipo de archivo tienes

Strings

Extrae cadenas de texto del archivo.
Comandos útiles:
strings -n 6 archivo: Extrae las cadenas con una longitud mínima de 6
strings -n 6 archivo | head -n 20: Extrae las primeras 20 cadenas con una longitud mínima de 6
strings -n 6 archivo | tail -n 20: Extrae las últimas 20 cadenas con una longitud mínima de 6
strings -e s -n 6 archivo: Extrae cadenas de 7 bits
strings -e S -n 6 archivo: Extrae cadenas de 8 bits
strings -e l -n 6 archivo: Extrae cadenas de 16 bits (poco endian)
strings -e b -n 6 archivo: Extrae cadenas de 16 bits (big endian)
strings -e L -n 6 archivo: Extrae cadenas de 32 bits (poco endian)
strings -e B -n 6 archivo: Extrae cadenas de 32 bits (big endian)

cmp - Comparación

Si tienes alguna imagen/audio/video modificado, verifica si puedes encontrar la versión original exacta en internet, luego compara ambos archivos con:

cmp original.jpg stego.jpg -b -l

Extrayendo datos ocultos en texto

Datos ocultos en espacios

Si encuentras que una línea de texto es más grande de lo que debería ser, entonces es posible que se incluya alguna información oculta dentro de los espacios utilizando caracteres invisibles.󐁈󐁥󐁬󐁬󐁯󐀠󐁴󐁨
Para extraer los datos, puedes utilizar: https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder


Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Extrayendo datos de imágenes

identify

Herramienta GraphicMagick para verificar qué tipo de imagen es un archivo. También verifica si la imagen está corrupta.

./magick identify -verbose stego.jpg

Si la imagen está dañada, es posible que puedas restaurarla simplemente agregando un comentario de metadatos (si está muy dañada, esto no funcionará):

./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg

Steghide [JPEG, BMP, WAV, AU]

Steghide es un programa de esteganografía que oculta datos en varios tipos de archivos de imagen y audio. Admite los siguientes formatos de archivo: JPEG, BMP, WAV y AU. También es útil para extraer datos incrustados y encriptados de otros archivos.
Se puede instalar con apt, y el código fuente se puede encontrar en Github.
Comandos útiles:
steghide info archivo : muestra información sobre si un archivo tiene datos incrustados o no.
steghide extract -sf archivo [--passphrase contraseña] : extrae datos incrustados de un archivo [usando una contraseña]

También se puede extraer contenido de steghide utilizando la web: https://futureboy.us/stegano/decinput.html

Bruteforcing Steghide: stegcracker stegcracker <archivo> [<lista de palabras>]

Zsteg [PNG, BMP]

zsteg es una herramienta que puede detectar datos ocultos en archivos png y bmp.
Para instalarlo: gem install zsteg. El código fuente también se puede encontrar en Github
Comandos útiles:
zsteg -a archivo : Ejecuta todos los métodos de detección en el archivo dado
zsteg -E archivo : Extrae datos con la carga útil dada (ejemplo: zsteg -E b4,bgr,msb,xy nombre.png)

stegoVeritas JPG, PNG, GIF, TIFF, BMP

Capaz de una amplia variedad de trucos simples y avanzados, esta herramienta puede verificar los metadatos de los archivos, crear imágenes transformadas, forzar LSB y más. Consulta stegoveritas.py -h para conocer todas sus capacidades. Ejecuta stegoveritas.py stego.jpg para ejecutar todas las comprobaciones.

Stegsolve

A veces hay un mensaje o un texto oculto en la propia imagen que, para verlo, debe tener aplicados filtros de color o cambiar algunos niveles de color. Aunque se puede hacer eso con algo como GIMP o Photoshop, Stegsolve lo hace más fácil. Es una pequeña herramienta de Java que aplica muchos filtros de color útiles en imágenes; en los desafíos de CTF, Stegsolve a menudo es un verdadero ahorro de tiempo.
Puedes obtenerlo desde Github
Para usarlo, simplemente abre la imagen y haz clic en los botones < >.

FFT

Para encontrar contenido oculto utilizando Fast Fourier T:

Stegpy [PNG, BMP, GIF, WebP, WAV]

Un programa para codificar información en archivos de imagen y audio a través de esteganografía. Puede almacenar los datos como texto sin formato o encriptados.
Encuéntralo en Github.

Pngcheck

Obtén detalles sobre un archivo PNG (¡o incluso descubre que en realidad es algo más!).
apt-get install pngcheck: Instala la herramienta
pngcheck stego.png : Obtiene información sobre el PNG

Otras herramientas de imagen que vale la pena mencionar

Extracción de datos de audios

Steghide [JPEG, BMP, WAV, AU]

Stegpy [PNG, BMP, GIF, WebP, WAV]

ffmpeg

ffmpeg se puede utilizar para verificar la integridad de los archivos de audio, informando varios detalles sobre el archivo, así como cualquier error que encuentre.
ffmpeg -v info -i stego.mp3 -f null -

Wavsteg [WAV]

WavSteg es una herramienta en Python3 que puede ocultar datos, utilizando el bit menos significativo, en archivos wav. También puede buscar y extraer datos de archivos wav.
Puedes obtenerlo desde Github
Comandos útiles:
python3 WavSteg.py -r -b 1 -s archivo_de_sonido -o archivo_de_salida : Extrae a un archivo de salida (tomando solo 1 bit menos significativo)
python3 WavSteg.py -r -b 2 -s archivo_de_sonido -o archivo_de_salida : Extrae a un archivo de salida (tomando solo 2 bits menos significativos)

Deepsound

Oculta y verifica información encriptada con AES-265 en archivos de sonido. Descárgalo desde la página oficial.
Para buscar información oculta, simplemente ejecuta el programa y abre el archivo de sonido. Si DeepSound encuentra datos ocultos, deberás proporcionar la contraseña para desbloquearlos.

Sonic visualizer

Sonic visualizer es una herramienta para ver y analizar el contenido de archivos de audio. Puede ser muy útil cuando te enfrentas a desafíos de esteganografía de audio; puedes revelar formas ocultas en archivos de audio que muchas otras herramientas no detectarán.
Si estás atascado, siempre verifica el espectrograma del audio. Sitio web oficial

Tono DTMF - Tonos de marcación

Otros trucos

Longitud binaria SQRT - Código QR

Si recibes datos binarios con una longitud SQRT de un número entero, podría ser algún tipo de código QR:

import math
math.sqrt(2500) #50

Para convertir los "1"s y "0"s binarios en una imagen adecuada: https://www.dcode.fr/binary-image
Para leer un código QR: https://online-barcode-reader.inliteresearch.com/

Braille

https://www.branah.com/braille-translator

Referencias

Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos de amenazas proactivas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. Pruébalo gratis hoy.

{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥