关于Stegseek
Stegseek是一款针对Steghide的隐藏数据提取工具,该工具可以对经过Steghide工具处理过的内容进行分析,并从目标文件中提取出隐藏数据。
该工具一开始作为Steghide项目的分支进行开发,因此该工具的运行速度非常快,要比其他破解工具快好几千倍,并且能够在不到两秒的时间里运行完整个rockyou.txt(rockyou.txt是一个包含了1400万个密码的著名字典)。
除此之外,Stegseek还可以在不需要密码的情况下提取出Steghide元数据,并将其用于测试目标文件是否包含Steghide数据。
与其他工具的对比
以下测试均使用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 |
测试结果表明,Stegseek要比Stegcracker快12000倍,比Stegbrute快7000倍。
工具安装
广大研究人员可以按照下列方法在不同操作系统上安装和使用Stegseek。除此之外,我们还可以在一个Docker容器中运行Stegseek。
发布版本安装
Linux
在Ubuntu或其他基于Debian的操作系统上,我们可以使用项目提供的.deb包来安装Stegseek。
访问该项目的【Releases页面】下载最新版本的Stegseek代码。
然后使用下列命令安装.deb文件即可:
sudo apt install ./stegseek_0.6-1.deb
Windows
目前该项目还不支持将Stegseek构建为Windows原生应用程序,但我们可以使用WSL在Windows操作系统上运行和使用Stegseek。
配置好WSL之后,我们可以直接按照Linux的安装方式来安装Stegseek。
默认配置下,WLS会将C:\加载至/mnt/c/,我们可以通过该路径来访问自己的文件。
Docker使用
以Docker容器运行Stegseek:
docker run --rm -it -v "$(pwd):/steg" rickdejager/stegseek [stegofile.jpg] [wordlist.txt]
工具使用
数据破解
Stegseek最关键的功能就是基于字典的密码破解,参考命令如下:
stegseek [stegofile.jpg] [wordlist.txt]
检测和数据提取(CVE-2021-27211)
Stegseek还可以用来从Steghide图片中检测和提取任意未加密的(元)数据:
stegseek --seed [stegofile.jpg]
工具参数选项
我们可以使用stegseek --help获取该工具支持的全部参数选项:
=== StegSeek Help === To crack a stegofile: stegseek [stegofile.jpg] [wordlist.txt] Commands: --crack 使用一个字典破解一个stego文件 --seed 通过尝试所有嵌入模式破解一个stego文件,该模式可以检测一个文件是否使用steghide进行编码 Positional arguments: --crack [stegofile.jpg] [wordlist.txt] [output.txt] --seed [stegofile.jpg] [output.txt] Keyword arguments: -sf, --stegofile 选择一个stego文件 -wl, --wordlist 选择一个字典文件 -xf, --extractfile 选择提取数据的文件名 -t, --threads 设置线程数量,默认为CPU核心数 -f, --force 覆盖现有文件 -v, --verbose 显示Verbose详细信息 -q, --quiet 隐藏性能计量(提升性能) -s, --skipdefault 不添加额外的密码猜测 -n, --nocolor 禁用颜色高亮输出 -c, --continue 找到一个结果之后继续破解 -a, --accessible 提升输出输出结果的可读性 Use "stegseek --help -v" to include steghide's help.
工具使用演示
许可证协议
本项目的开发与发布遵循GPL-2.0开源许可协议。
项目地址
Stegseek:【GitHub传送门】