
Rápida herramienta de fuerza bruta de esteganografía escrita en Rust útil para CTF's
stegbrute es una herramienta rápida de fuerza bruta de esteganografía escrita en Rust
Stegbrute no puede funcionar sin steghide!, para instalar steghide ejecute :
apt-get install -y steghide
si no estás en una distribución Debian puedes descargarlo desde el sitio web de steghide
stegbrute se puede instalar de diferentes maneras:
a través de cargo (el gestor de paquetes de Rust)
si no tienes cargo puedes instalarlo desde apt o descargando el lenguaje Rust
cargo install stegbrute
esto funcionará en cualquier plataforma
si tienes Ubuntu/Kali u otras distribuciones Debian puedes instalar el archivo .deb que encuentras en la sección de lanzamientos, luego descomprime el archivo y ejecútalo
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute_0.1.1_amd64.deb &&
dpkg --install stegbrute_0.1.1_amd64.deb
si no tienes Docker instalado puedes seguir su guía
primero tienes que descargar la imagen de docker (solo 4.93 MB) del registro de docker, puedes verla aquí, si no quieres descargar la imagen también puedes clonar el repositorio y luego construir la imagen a partir del Dockerfile
docker pull r4yan/stegbrute:latest
también puedes decidir descargar diferentes imágenes reemplazando 'latest' con una versión de stegbrute, ej.
docker pull r4yan/stegbrute:0.1.0
si no quieres descargar la imagen puedes descargar/copiar el Dockerfile de stegbrute que se encuentra aquí y luego construir la imagen a partir del Dockerfile
luego, si quieres iniciar el contenedor, primero tienes que crear un volumen para compartir tus archivos con el contenedor
docker volume create --name stegbrute_data
luego mueve o copia los archivos que quieras usar para stegbrute dentro de la carpeta del volumen que normalmente está aquí /var/lib/docker/volumes/stegbrute_data/_data simplemente haciendo
cp wordlist.txt /var/lib/docker/volumes/stegbrute_data/_data && cp file.jpg /var/lib/docker/volumes/stegbrute_data/_data
y ahora ejecuta stegbrute
docker run -v stegbrute_data:/stegbrute_data -it --rm --name stegbrute r4yan/stegbrute:latest <options>
reemplaza <options> con las opciones/argumentos que quieras darle a stegbrute,
una vez que hayas hecho todo, no tienes que descargar/construir la imagen de nuevo a menos que haya nuevas actualizaciones o características
Guarda siempre tus resultados dentro del volumen y no en el contenedor porque luego los resultados se borrarán! puedes guardarlos añadiendo esta opción -x /$VOLUME_NAME/results.txt o --extract-file /$VOLUME_NAME/results.txt
si agregaste esto e hiciste todo correctamente, al final de cada ataque encontrarías los resultados dentro de la carpeta /var/lib/docker/volumes/stegbrute_data/_data
esto funcionará en cualquier plataforma
también puedes descargar el programa ya compilado y luego ejecutarlo, ejemplo:
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute && chmod +x stegbrute
mv stegbrute /usr/local/bin/
stegbrute es muy simple de usar y te ofrece muchas opciones, puedes ver la ayuda del programa con la opción -h o --help
============================================================
____ _ ____ _
/ ___|| |_ ___ __ _| __ ) _ __ _ _| |_ ___
\___ \| __/ _ \/ _` | _ \| '__| | | | __/ _ \
___) | || __/ (_| | |_) | | | |_| | || __/
|____/ \__\___|\__, |____/|_| \__,_|\__\___|
|___/
StegBrute v0.1.1 - By R4yan
https://github.com/R4yGM/StegBrute
StegBrute 0.1.1
R4yan <[email protected]>
Steganography bruteforce tool
USAGE:
stegbrute [FLAGS] [OPTIONS] --file-name <file-name> --wordlist <wordlist>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
-v, --verbose shows every try the program does
OPTIONS:
-x, --extract-file <extract-file> the file name path where you want to write the results [default:
stegbrute_results.txt]
-f, --file-name <file-name> the file name path you want to crack
-t, --threads <threads> number of threads to bruteforce the file [default: 3]
-w, --wordlist <wordlist> path of the wordlist
por ejemplo :
Opciones :
-x o --extract-file con <nombre_archivo> guardará los resultados de los datos extraídos en el nombre_archivo, si no se especifica ningún archivo stegbrute guardará tus resultados dentro del archivo ./stegbrute_results.txt
-t o --threads con <número_de_hilos> lanzará una cantidad de programas forzando el archivo simultáneamente, incrementar el número de hilos no siempre significa que esto se ejecutará más rápido, todo depende de cuántos hilos pueda manejar tu máquina
-f o --file_name con <nombre_archivo> el nombre del archivo que stegbrute va a atacar, debe ser uno de estos formatos compatibles : JPEG, BMP, WAV o AU
-w o --wordlist con <lista_palabras> el archivo de donde stegbrute va a tomar las contraseñas línea por línea y luego empezar a probarlas en el archivo que quieres descifrar, si no tienes una puedes instalar por ejemplo rockyou.txt
prueba de rendimiento de stegbrute en diferentes listas de palabras usando 3 hilos
| Contraseñas de la lista | Tiempo |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |