
Schnelles Steganographie-Brute-Force-Tool, geschrieben in Rust, nützlich für CTFs
stegbrute ist ein schnelles Steganografie-Brute-Force-Tool, geschrieben in Rust
Stegbrute kann nicht ohne steghide ausgeführt werden! Um steghide zu installieren, führe aus:
apt-get install -y steghide
Wenn du keine Debian-Distribution verwendest, kannst du es von der steghide Webseite herunterladen.
stegbrute kann auf verschiedene Weisen installiert werden:
über cargo (Rust-Paketmanager)
Wenn du cargo nicht hast, kannst du es entweder über apt installieren oder indem du Rust lang herunterlädst.
cargo install stegbrute
Dies funktioniert auf jeder Plattform
Wenn du Ubuntu/Kali oder andere Debian-Distributionen hast, kannst du die .deb-Datei installieren, die du im Releases-Bereich findest. Entpacke dann die Datei und führe sie aus:
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
Wenn du Docker nicht installiert hast, folge deren Anleitung
Zuerst musst du das Docker-Image (nur 4.93 MB) aus der Docker-Registry pullen. Du kannst es hier sehen. Wenn du das Image nicht pullen möchtest, kannst du auch das Repository klonen und das Image aus dem Dockerfile erstellen.
docker pull r4yan/stegbrute:latest
Du kannst auch entscheiden, verschiedene Images zu pullen, indem du 'latest' durch eine stegbrute-Version ersetzt, z.B.:
docker pull r4yan/stegbrute:0.1.0
Wenn du das Image nicht pullen möchtest, kannst du das stegbrute Dockerfile herunterladen/kopieren, das sich hier befindet, und dann das Image aus dem Dockerfile erstellen.
Wenn du den Container starten möchtest, musst du zuerst ein Volume erstellen, um deine Dateien mit dem Container zu teilen:
docker volume create --name stegbrute_data
Dann verschiebst oder kopierst du die Dateien, die du für stegbrute verwenden möchtest, in den Volume-Ordner, der sich normalerweise hier befindet: /var/lib/docker/volumes/stegbrute_data/_data, indem du einfach Folgendes ausführst:
cp wordlist.txt /var/lib/docker/volumes/stegbrute_data/_data && cp file.jpg /var/lib/docker/volumes/stegbrute_data/_data
und führe nun stegbrute aus:
docker run -v stegbrute_data:/stegbrute_data -it --rm --name stegbrute r4yan/stegbrute:latest <options>
Ersetze <options> durch die Optionen/Argumente, die du stegbrute geben möchtest.
Wenn du alles erledigt hast, musst du das Image nicht erneut pullen/erstellen, es sei denn, es gibt neue Updates oder Funktionen.
Speichere deine Ergebnisse immer im Volume und nicht im Container, da die Ergebnisse sonst gelöscht werden! Du kannst sie speichern, indem du diese Option hinzufügst: -x /$VOLUME_NAME/results.txt oder --extract-file /$VOLUME_NAME/results.txt
Wenn du dies hinzugefügt und alles korrekt gemacht hast, findest du die Ergebnisse am Ende jedes Angriffs im Ordner /var/lib/docker/volumes/stegbrute_data/_data.
Dies funktioniert auf jeder Plattform
Du kannst auch das bereits kompilierte Programm herunterladen und dann ausführen, Beispiel:
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute && chmod +x stegbrute
mv stegbrute /usr/local/bin/
stegbrute ist sehr einfach zu bedienen und bietet viele Optionen. Du kannst die Programmhilfe mit der Option -h oder --help anzeigen.
============================================================
____ _ ____ _
/ ___|| |_ ___ __ _| __ ) _ __ _ _| |_ ___
\___ \| __/ _ \/ _` | _ \| '__| | | | __/ _ \
___) | || __/ (_| | |_) | | | |_| | || __/
|____/ \__\___|\__, |____/|_| \__,_|\__\___|
|___/
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
zum Beispiel :
Optionen:
-x oder --extract-file mit <Dateiname> speichert die Ergebnisse der extrahierten Daten in die Datei. Wenn keine Datei angegeben wird, speichert stegbrute deine Ergebnisse in der Datei ./stegbrute_results.txt.
-t oder --threads mit <Anzahl_Threads> startet eine Anzahl von Programmen, die die Datei gleichzeitig per Brute-Force angreifen. Eine Erhöhung der Thread-Anzahl bedeutet nicht immer, dass es schneller läuft, es hängt ganz davon ab, wie viele Threads deine Maschine bewältigen kann.
-f oder --file_name mit <Dateiname> gibt die Datei an, die stegbrute angreifen soll. Sie muss eines der unterstützten Formate haben: JPEG, BMP, WAV oder AU.
-w oder --wordlist mit <Wörterliste> gibt die Datei an, aus der stegbrute die Passwörter zeilenweise entnimmt und dann an der zu knackenden Datei ausprobiert. Falls du keine hast, kannst du z.B. installieren.
stegbrute Benchmark mit verschiedenen Wörterlisten unter Verwendung von 3 Threads
| Wörterlisten-Passwörter | Zeit |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |