
Outil de brute force de stéganographie rapide écrit en Rust utile pour les CTF.
stegbrute est un outil de force brute rapide pour la stéganographie écrit en Rust
Stegbrute ne peut pas fonctionner sans steghide ! Pour installer steghide, exécutez :
apt-get install -y steghide
Si vous n'êtes pas sur une distribution Debian, vous pouvez le télécharger depuis le site web de steghide
stegbrute peut être installé de différentes manières :
via cargo (le gestionnaire de paquets Rust)
si vous n'avez pas cargo, vous pouvez l'installer via apt ou en téléchargeant Rust lang
cargo install stegbrute
cela fonctionnera sur toutes les plateformes
Si vous avez Ubuntu/Kali ou une autre distribution Debian, vous pouvez installer le fichier .deb que vous trouverez dans la section releases, puis décompressez le fichier et exécutez-le
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 vous n'avez pas Docker installé, vous pouvez suivre leur guide
Tout d'abord, vous devez tirer l'image Docker (seulement 4.93 Mo) depuis le registre Docker. Vous pouvez la voir ici. Si vous ne voulez pas tirer l'image, vous pouvez aussi cloner le dépôt et construire l'image à partir du Dockerfile.
docker pull r4yan/stegbrute:latest
Vous pouvez aussi décider de tirer différentes images en remplaçant 'latest' par une version de stegbrute, ex.
docker pull r4yan/stegbrute:0.1.0
Si vous ne voulez pas tirer l'image, vous pouvez télécharger/copier le Dockerfile de stegbrute disponible ici puis construire l'image à partir du Dockerfile.
Ensuite, si vous voulez lancer le conteneur, vous devez d'abord créer un volume pour partager vos fichiers avec le conteneur.
docker volume create --name stegbrute_data
déplacez ou copiez ensuite les fichiers que vous souhaitez utiliser pour stegbrute dans le dossier du volume, qui se trouve généralement ici /var/lib/docker/volumes/stegbrute_data/_data en faisant simplement
cp wordlist.txt /var/lib/docker/volumes/stegbrute_data/_data && cp file.jpg /var/lib/docker/volumes/stegbrute_data/_data
et maintenant exécutez stegbrute
docker run -v stegbrute_data:/stegbrute_data -it --rm --name stegbrute r4yan/stegbrute:latest <options>
remplacez <options> par les options/arguments que vous souhaitez donner à stegbrute,
une fois que vous avez tout fait, vous n'avez pas besoin de tirer/construire à nouveau l'image, sauf s'il y a de nouvelles mises à jour ou fonctionnalités.
Sauvegardez toujours vos résultats à l'intérieur du volume et non dans le conteneur, car ils seront supprimés ! Vous pouvez les sauvegarder en ajoutant cette option -x /$VOLUME_NAME/results.txt ou --extract-file /$VOLUME_NAME/results.txt
Si vous avez ajouté cela et fait tout correctement, à la fin de chaque attaque, vous trouverez les résultats dans le dossier /var/lib/docker/volumes/stegbrute_data/_data
cela fonctionnera sur toutes les plateformes
vous pouvez aussi télécharger le programme déjà compilé et l'exécuter, exemple :
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute && chmod +x stegbrute
mv stegbrute /usr/local/bin/
stegbrute est très simple à utiliser et vous offre de nombreuses options. Vous pouvez afficher l'aide du programme avec l'option -h ou --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
par exemple :
Options :
-x ou --extract-file avec <nom_fichier> enregistrera les résultats des données extraites dans le fichier nommé. Si aucun fichier n'est spécifié, stegbrute enregistrera vos résultats dans le fichier ./stegbrute_results.txt
-t ou --threads avec <nombre_threads> lancera un certain nombre de programmes brutforçant le fichier simultanément. Augmenter le nombre de threads ne signifie pas toujours que cela ira plus vite, tout dépend du nombre de threads que votre machine peut gérer.
-f ou --file_name avec <nom_fichier> le nom du fichier que stegbrute va attaquer. Doit être l'un des formats supportés : JPEG, BMP, WAV ou AU
-w ou --wordlist avec <wordlist> le fichier dans lequel stegbrute va prendre les mots de passe ligne par ligne et les essayer sur le fichier que vous voulez cracker. Si vous n'en avez pas, vous pouvez installer par exemple
Benchmark de stegbrute sur différentes listes de mots de passe utilisant 3 threads
| Mots de passe de la liste | Temps |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |