
Rustで書かれた高速なステガノグラフィブルートフォースツール。CTFに便利。
stegbrute は Rust で書かれた高速なステガノグラフィブルートフォースツールです
Stegbrute は steghide なしでは動作しません! steghide をインストールするには以下を実行してください:
apt-get install -y steghide
Debian ディストリビューションを使用していない場合は、steghide の ウェブサイト からダウンロードできます。
stegbrute は複数の方法でインストールできます:
cargo(Rust パッケージマネージャー)経由
cargo がない場合は、apt からインストールするか、Rust lang をダウンロードしてインストールできます
cargo install stegbrute
これはすべてのプラットフォームで動作します
Ubuntu/Kali やその他の Debian ディストリビューションを使用している場合は、リリース セクションにある .deb ファイルをインストールし、解凍して実行できます
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
Docker がインストールされていない場合は、ガイド に従ってください
まず、Docker レジストリから Docker イメージ(わずか 4.93 MB)をプルします。詳細は こちら を参照してください。イメージをプルしたくない場合は、リポジトリをクローンして Dockerfile からイメージをビルドすることもできます
docker pull r4yan/stegbrute:latest
'latest' を stegbrute のバージョンに置き換えることで、異なるイメージをプルすることもできます。例:
docker pull r4yan/stegbrute:0.1.0
イメージをプルしたくない場合は、こちら にある stegbrute の Dockerfile をダウンロード/コピーし、Dockerfile からイメージをビルドできます
次にコンテナを起動するには、まずコンテナとファイルを共有するためのボリュームを作成する必要があります
docker volume create --name stegbrute_data
その後、stegbrute で使用するファイルを通常 /var/lib/docker/volumes/stegbrute_data/_data にあるボリュームフォルダに移動またはコピーします。以下のように実行します
cp wordlist.txt /var/lib/docker/volumes/stegbrute_data/_data && cp file.jpg /var/lib/docker/volumes/stegbrute_data/_data
そして stegbrute を実行します
docker run -v stegbrute_data:/stegbrute_data -it --rm --name stegbrute r4yan/stegbrute:latest <options>
<options> を stegbrute に渡したいオプション/引数に置き換えてください。
一度すべてを終えたら、新しいアップデートや機能がない限り、イメージを再度プル/ビルドする必要はありません
結果は必ずボリューム内に保存してください。コンテナ内に保存すると削除されます! 結果を保存するには、-x /$VOLUME_NAME/results.txt または --extract-file /$VOLUME_NAME/results.txt オプションを追加してください
これを追加し、すべて正しく行った場合、各攻撃の終了時に結果が /var/lib/docker/volumes/stegbrute_data/_data フォルダ内に保存されます
これはすべてのプラットフォームで動作します
すでにコンパイルされたプログラムをダウンロードして実行することもできます。例:
wget https://github.com/R4yGM/stegbrute/releases/download/0.1.1/stegbrute && chmod +x stegbrute
mv stegbrute /usr/local/bin/
stegbrute は非常にシンプルで、多くのオプションを提供します。プログラムのヘルプは -h または --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
例:
オプション:
-x または --extract-file を <file_name> と共に使用すると、抽出したデータの結果を file_name に保存します。ファイルが指定されない場合、stegbrute は結果を ./stegbrute_results.txt ファイルに保存します
-t または --threads を <number_of_threads> と共に使用すると、ファイルを同時にブルートフォースするプログラムの数を指定します。スレッド数を増やすと必ずしも高速になるわけではなく、お使いのマシンが処理できるスレッド数に依存します
-f または --file_name を <file_name> と共に使用すると、stegbrute が攻撃するファイル名を指定します。サポートされている形式は JPEG、BMP、WAV、AU のいずれかです
-w または --wordlist を <wordlist> と共に使用すると、stegbrute がパスワードを1行ずつ読み取り、対象ファイルに対して試行するファイルを指定します。ワードリストがない場合は、例えば rockyou.txt をインストールできます
stegbrute の異なるワードリストでのベンチマーク(スレッド数3)
| ワードリストのパスワード数 | 時間 |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |