Stegseek 是一款闪电般快速的 steghide 破解工具,可用于从文件中提取隐藏数据。它作为原始 steghide 项目的一个分支构建,因此比其它破解工具快 数千倍,并且可以在 不到 2 秒 内遍历整个 rockyou.txt。
Stegseek 还可用于在无需密码的情况下提取 steghide 元数据,这可用于测试文件是否包含 steghide 数据。
*
rockyou.txt是一个著名的密码列表,包含超过 1400 万个密码。

跳转到性能查看原始数据。
以下说明将引导您完成安装过程。或者,您也可以在 Docker 容器中运行 Stegseek。跳转到Docker获取说明。
在最新的 Ubuntu 和其他基于 Debian 的系统上,您可以使用提供的 .deb 包进行安装:
sudo apt install ./stegseek_0.6-1.deb 安装 .deb 文件在其他系统上,您需要自行构建 Stegseek。更多信息请参见 BUILD.md。
很遗憾,不支持将 Stegseek 构建为原生 Windows 应用程序。相反,您应该使用 WSL 运行 Stegseek。推荐使用 Ubuntu WSL 发行版以获得最佳兼容性。
配置好 WSL 后,即可使用上述 Linux 说明安装 Stegseek。
默认情况下,WSL 将 C:\ 驱动器挂载到 /mnt/c/,您可以轻松访问文件。
Stegseek 最重要的功能是字典破解:
stegseek [stegofile.jpg] [wordlist.txt]
此模式将简单地尝试提供的字典中的所有密码,针对提供的 stego 文件。
Stegseek 还可用于检测和提取来自 steghide 图像的任何未加密(元)数据。这利用了 steghide 中使用的随机数生成器只有 2^32 种可能种子的事实,可以在几分钟内暴力破解。
stegseek --seed [stegofile.jpg]
此命令将告诉您:
如果您(非常)幸运,并且文件是在未启用加密的情况下编码的,此模式甚至将为您恢复编码文件!
下面的演示展示了 X-MAS CTF 2020 的一个挑战。一个标志使用安全随机密码隐藏,但未启用加密。 几分钟内,Stegseek 就能够恢复嵌入的文件,而无需猜测正确的密码。

使用 stegseek --help 获取可用选项的完整列表:
=== StegSeek 帮助 ===
破解 stego 文件:
stegseek [stegofile.jpg] [wordlist.txt]
命令:
--crack 使用字典破解 stego 文件。这是默认模式。
--seed 通过尝试所有嵌入模式来破解 stego 文件。
此模式可用于检测由 steghide 编码的文件。
如果文件是在未加密的情况下编码的,此模式甚至会恢复嵌入的文件。
位置参数:
--crack [stegofile.jpg] [wordlist.txt] [output.txt]
--seed [stegofile.jpg] [output.txt]
关键字参数:
-sf, --stegofile 选择 stego 文件
-wl, --wordlist 选择字典文件
-xf, --extractfile 选择提取数据的文件名
-t, --threads 设置线程数。默认为 CPU 核心数。
-f, --force 覆盖现有文件
-v, --verbose 显示详细信息
-q, --quiet 隐藏性能指标(可提高性能)
-s, --skipdefault 不向字典添加猜测(空密码、文件名等)
-n, --nocolor 禁用输出中的颜色
-c, --continue 找到结果后继续破解。
(一个 stego 文件可能包含多个嵌入文件)
-a, --accessible 简化输出以使其更适合屏幕阅读器
使用 "stegseek --help -v" 包含 steghide 的帮助。
Stegseek 包含 steghide 的几乎所有功能,因此它也可以用于正常地嵌入或提取数据。唯一需要注意的是,命令必须使用 --command 格式。
例如,steghide embed [...] 变为 stegseek --embed [...] 。
stegseek --embed <data> <coverfile> [<stegofile>]stegseek --extract <stegofile> [<output>]您也可以将 Stegseek 作为 Docker 容器运行:
docker run --rm -it -v "$(pwd):/steg" rickdejager/stegseek [stegofile.jpg] [wordlist.txt]
这要求字典和 stego 文件位于当前工作目录中,因为该文件夹已挂载到容器中的 /steg。
这是 Stegseek 真正大放异彩的地方。正如所承诺的,让我们从 "rockyou.txt 只需 2 秒" 这个说法开始。
所有这些数据均在一台配备 Intel i7-7700HQ CPU @ 2.80GHz 和 8 GB RAM 的笔记本电脑上测量。
我选择了 rockyou.txt 中最后一个没有控制字符的密码:"␣␣␣␣␣␣␣1"(7 个空格后跟 '1')。
此密码位于 14344391 行中的第 14344383 行。
> StegSeek 0.6 - https://github.com/RickdeJager/StegSeek
[i] 找到密码短语:" 1"
[i] 原始文件名:"secret.txt"。
[i] 提取到 "7spaces1.jpg.out"。
real 0m1,211s
user 0m9,488s
sys 0m0,084s
就是这样,超过 1400 万个密码在不到 2 秒内完成 😍。
为了测试其他工具的性能,我使用来自 rockyou.txt 的不同密码创建了几个 stego 文件。我使用每个工具的默认设置运行了它们,除了 Stegbrute,我为其增加了线程数以实现公平比较。
[p] = 基于先前结果的预测时间。
为了比较每个工具的速度,让我们查看表格的最后一行(否则 Stegseek 在所有线程启动之前就完成了)。
在这个规模上,Stegseek 比 Stegcracker 快 12 000 倍以上,比 Stegbrute 快 7000 倍以上。
2021-04-18
改进:
--continue 标志以搜索多个隐藏文件。--accessible 标志以使 CLI 更适合屏幕阅读器。--crack 和 --seed 现在会返回适当的退出代码,以便于脚本编写。2020-12-28
改进:
--seed 的高误报率。2020-12-01
改进:
rockyou.txt。2020-12-23
修复了一个罕见的错误,该错误导致 stegseek 在某些情况下无法找到密码。
2020-11-08
改进:
--crack 添加了 -xf 参数,用于指定提取文件的位置。rockyou.txt。2020-11-05
改进:
rockyou.txt。2020-11-04
初始版本,特性:
rockyou.txt。| 密码 | 行号 | Stegseek v0.6 | Stegcracker 2.0.9 | Stegbrute v0.1.1 (-t 8) |
|---|
| "cassandra" | 1 000 | 0.05s | 3.1s | 0.7s |
| "kupal" | 10 000 | 0.05s | 14.4s | 7.1s |
| "sagar" | 100 000 | 0.09s | 2m23.0s | 1m21.9s |
| "budakid1" | 1 000 000 | 0.73s | [p] 23m50.0s | 13m45.7s |
| "␣␣␣␣␣␣␣1" | 14 344 383 | 1.21s | [p] 5h41m52.5s | [p] 3h17m38.0s |