在Linux上实现将文件隐藏到图像中

导读 Steganography(隐写术)是一个宽泛的话题。这个教程只涉及如何将文件掩藏到图像文件中,这也是Steganography的核心。不要认为安全专家不能破解这个方法。

这里描述的方法是非常简单的,因此即使是一个中级的安全专家也可以在几小时内将其破解掉。这里描述的内容只是出于教学目的,我们不对所有的滥用行为负责。

方法一

这个方法不需要任何额外的软件。只需拥有基本的Linux命令行知识即可。
我有一个图像文件image.jpg以及一个目录sk。在目录中,有一个叫做secret.txt的文件,其包含有加密信息,也是我们将要嵌入到image.jpg中的文件。你可以将任何数量的文件放到sk目录中。然后我将会把sk目录压缩为一个secret.zip文件以使得其成为一个文件。最终,我将使用cat命令将secret.zip文件与图像文件(image.jpg)复合在一起并保存为ostechnix.jpg文件。
更清晰的描述是:
image.jpg-任意一个图像文件
sk-包含有所有秘密文件的文件夹
secret.zip-sk目录的一个压缩档
ostechnix.jpg-输出的包含secret.zip和image.jpg两个文件的文件
步骤 1:将图像和文件夹放在同一个目录中。我将它们都放在了Documents目录中。
步骤 2:将所有你想隐藏的文件放在"sk"文件夹中。然后将该文件压缩得到"secret.zip"文件。
在Linux上实现将文件隐藏到图像中
步骤 3:下面打开终端。前往你保存压缩文件和图像文件的目录(这里就是Documents)。最后使用cat命令将secret.ziptest.jpg文件保存为一个文件ostechnix.jpg

$ cd Documents$ cat image.jpg secret.zip > ostechnix.jpg

在Linux上实现将文件隐藏到图像中
对就是那样。现在我们已经将秘密文件隐藏到了ostechnix.jpg之中。它是唯一的重要的文件,其它的文件都可以删除掉了。
ostechnix.jpg文件将会看起来就像一个普通文件一样,任何人都可以私用一个照片查看器来查看它。但是,他们不大可能知道这个文件藏有重要的东西。
要查看隐藏在ostechnix.jpg文件中的隐藏文件,只需要使用下面的命令将其解压即可:

$ unzip ostechnix.jpg

或者,

$ unzip -t ostechnix.jpg

输出示例:

Archive: ostechnix.jpgwarning [ostechnix.jpg]: 712139 extra bytes at beginning or within zipfile(attempting to process anyway)creating: sk/inflating: sk/secret.txt

在Linux上实现将文件隐藏到图像中
解压图像文件
如你在上面的输出中所见,sk目录现在又重新出现了,它包含有之前放入的隐藏文件。现在,回到文件夹中查看一下内容是否与变化吧。你将发现文件都还在那里没有丢失。
这个方法的一个坏处就是我们想图像文件传递密码。不用担心!下面的方法中,我们可以将一个口令添加到输出的文件中。

方法二: 使用Steghide

Stephide是一个能够帮助我们将数据隐藏到一个图像或者音频文件的命令行工具。它支持JPEG,BMP,WAV和AU文件。
Stephide在许多Linux发行版的默认仓库中均可获取。
在Arch Linux及其衍生系统上,你可以使用下面的命令安装它:

$ sudo pacman -S steghide

在Debian和Ubuntu上:

$ sudo apt install steghide

现在,你可以向下面这样将重要文件隐藏到一个图像或者音频文件中。我假设你将所有的需要隐藏的文件都放在了同一个目录中。如果你将它们放在不同的文件夹中,你需要在下面的命令中给出完整路径。

$ steghide embed -ef secret.txt -cf ostechnix.jpg

你会被提示输入一个口令:

Enter passphrase:Re-Enter passphrase:embedding "secret.txt" in "ostechnix.jpg"... done

在Linux上实现将文件隐藏到图像中
使用stephide将文件隐藏到图像中
在上面的例子中,我将一个叫做secret.txt的文件嵌入到了一个叫做ostechnix.jpg的文件中。你现在可以删除原始的secert.txt文件。因为,我们已将将其嵌入到了图像文件中了。如果你想嵌入多个文件,将它们都放在一个文件夹中并压缩,然后重复上面描述的掩藏操作。
要从图像中提取隐藏文件,只需要运行:

$ steghide extract -sf ostechnix.jpg

输入密码口令来提取文件:

Enter passphrase:wrote extracted data to "secret.txt".

在Linux上实现将文件隐藏到图像中
使用stephide从图像中提取隐藏文件
欲知到更多信息,参见manpage,

$ man steghide

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/120711.html

(0)
上一篇 2021年8月28日
下一篇 2021年8月28日

相关推荐

发表回复

登录后才能评论