stegbrute 是一个用 Rust 编写的快速隐写术暴力破解工具
Stegbrute 无法在没有 steghide 的情况下运行!,要安装 steghide,请运行:
apt-get install -y steghide
如果你不是使用 Debian 发行版,你可以从 steghide 网站 下载它
stegbrute 可以通过多种方式安装:
通过 cargo(Rust 包管理器)
如果你没有 cargo,你可以通过 apt 或下载 Rust 语言来安装它
cargo install stegbrute
这适用于每个平台
如果你使用 Ubuntu/Kali 或其他 Debian 发行版,你可以安装位于 releases 部分的 .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> 会将提取数据的结果保存到该文件名中,如果没有指定文件,stegbrute 会将结果保存到 ./stegbrute_results.txt 文件中
-t 或 --threads 配合 <number_of_threads> 会启动相应数量的程序同时暴力破解文件,增加线程数并不总是意味着运行更快,这完全取决于你的机器能处理多少个线程
-f 或 --file-name 配合 <file_name> 指定 stegbrute 要攻击的文件名,必须是以下支持的格式之一:JPEG、BMP、WAV 或 AU
-w 或 --wordlist 配合 <wordlist> 指定密码字典文件,stegbrute 会逐行读取密码并尝试破解目标文件,如果你没有字典,可以安装例如 rockyou.txt
stegbrute 在不同字典上的基准测试(使用 3 个线程)
| 字典密码数 | 时间 |
|---|---|
| 100 | 841.12ms |
| 1000 | 8.57s |
| 10000 | 77.79s |
| 100000 | 775.93s |