- A+
Stegseek介绍
Stegseek是迄今为止全世界最快的Steghide破解器,该工具每秒能够处理数百万的密码。虽然Stegseek是一款轻量级工具,但丝毫不影响其功能性的强大。该工具作为原始Steghide项目的一个分支而构建,它的速度比其他破解器快上千倍。在该工具的帮助下,广大研究人员可以轻松从使用了Steghide隐写&加密的文件中提取出隐藏的数据。
除此之外,Stegseek还可以用来提取Steghide的元数据,我们可以利用这些信息来判断一个文件中是否包含了Steghide数据。
值得一提的是,仅需两秒钟,该工具就可以跑完rockyou.txt字典。而众所周知,rockyou.txt是一个包含了超过1400万个密码的强大字典文件。
关于Steghide
Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变。而且,你的秘密文件已经隐藏在了原始图片或音频文件之中了。这是一个命令行软件,因此你需要通过命令来实现将秘密文件嵌入至图片或音频文件之中。除此之外,你还需要使用其他的命令来提取你隐藏在图片或音频中的秘密文件。
工具安装
广大研究人员可以按照下列方式完成Stegseek的安装,或者直接在一个Docker容器中运行Stegseek。
Linux
在Ubuntu或其他基于Debian的系统上,我们可以使用项目代码库提供的.deb包来进行安装。
首先,访问该项目的【Releases页面】下载最新版本的工具文件。然后运行下列命令安装.deb文件:
sudo apt install ./stegseek_0.5-1.deb
在其他系统上,你可能还需要自己构建Stegseek代码,具体请参考这篇【文档】。
Windows
遗憾的是,现在还不支持将Stegseek构建为本机Windows应用程序。不过,我们可以使用WSL来运行Stegseek。为了获得最佳兼容性,建议使用Ubuntu WSL发行版。
配置好WSL之后,我们就可以使用上面的Linux指令安装Stegseek了。
默认配置系啊,WLS会加载C:\ drive at /mnt/c/,我们可以在这里访问自己的本地文件。
使用Stegseek
破解
Stegseek最重要的功能就是使用字典来进行暴力破解:
stegseek [stegofile.jpg] [wordlist.txt]
该模式将会尝试已提供字典中的所有密码来对stegofile进行爆破。
检测和无密码提取元数据
Stegseek还可以从steghide图片中检测和提取任何位加密的元数据。因为steghide中使用的随机数生成器只有2^32个可能的种子,这些种子可以在几分钟内被爆破。
stegseek --seed [stegofile.jpg]
上述命令将告诉我们:
此文件是否实际包含steghide内容。
文件包含多少隐藏内容。
内容是如何加密的。
如果足够幸运的话,目标文件只使用了编码,而没有使用加密,那么该模式甚至还可以帮我们对文件进行解码。
下面的演示样例是X-MAS CTF2020中的一项挑战任务,这里使用安全随机密码隐藏Flag,但未启用加密。几分钟内,Stegseek就可以恢复嵌入的文件,而无需猜测正确的密码:
可选参数
使用命令“stegseek --help”即可查看该工具支持的所有选项列表:
StegSeek version 0.5 === StegSeek Help === To crack a stegofile: stegseek [stegofile.jpg] [wordlist.txt] Commands: --crack Crack a stego file using a wordlist. This is the default mode. --seed Crack a stego file by attempting all embedding patterns. This mode can be used to detect a file encoded by steghide. In case the file was encoded without encryption, this mode will even recover the embedded file. Positional arguments: --crack [stegofile.jpg] [wordlist.txt] [output.txt] --seed [stegofile.jpg] [output.txt] Keyword arguments: -sf, --stegofile select stego file -wl, --wordlist select the wordlist file -xf, --extractfile select file name for extracted data -t, --threads set the number of threads. Defaults to the number of cores. -f, --force overwrite existing files -v, --verbose display detailed information -q, --quiet hide performance metrics (can improve performance) -s, --skipdefault don't add guesses to the wordlist (empty password, filename, ...) Use "stegseek --help -v" to include steghide's help.
Docker使用
我们还能够以Docker镜像的形式来运行StegSeek:
docker run --rm -it -v "$(pwd):/steg" rickdejager/stegseek [stegofile.jpg] [wordlist.txt]
跟其他工具的性能对比
password |
Line |
Stegseek v0.5 |
Stegcracker 2.0.9 |
Stegbrute v0.1.1 (-t 8) |
"cassandra" |
1 000 |
0.04s |
3.1s |
0.7s |
"kupal" |
10 000 |
0.04s |
14.4s |
7.1s |
"sagar" |
100 000 |
0.04s |
2m23.0s |
1m21.9s |
"budakid1" |
1 000 000 |
0.06s |
23m50.0s |
13m45.7s |
"␣␣␣␣␣␣␣1" |
14 344 383 |
1.65s |
5h41m52.5s |
3h17m38.0s |
工具运行演示:实时随机rockyou.txt密码
项目地址
Stegseek:【GitHub传送门】