隐写术是将机密信息隐藏在另一个文件中的过程。 其目的是以一种看起来不可疑的方式隐藏机密信息的存在。 此外,直接查看文件的人可能无法看到实际信息。 将隐写术与加密相结合增加了额外的保护层,因为它不仅隐藏了数据的存在,而且使其更加安全。
在这篇文章中,我们将介绍如何使用隐写术在 Ubuntu 中隐藏图像中的文件。 我们将介绍四种不同的方法:
- 使用 Steghide 实用程序(命令行)
- 使用 Outguess 实用程序(命令行)
- 使用 Cat 实用程序(命令行)
- 使用 Stegosuite 实用程序 (GUI)
笔记:我们已经解释了 Ubuntu 20.04 LTS 上的程序(也适用于 Debian 操作系统)。 您将需要 sudo 在系统上安装实用程序的权限。
使用 Steghide 实用程序(命令行)
Steghide 是一个命令行实用程序,可让您隐藏到图像或音频文件中的文件。 它可以隐藏 JPEG、WAV、AU 和 BMP 格式的数据。
您可以使用以下命令安装 Steghide 实用程序:
$ sudo apt install steghide
安装 Steghide 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。
要使用 Steghide 隐藏图像文件中的文件,语法如下:
$ steghide embed -ef <file-to-hide > -cf <image.jpg>
在哪里 -ef 用于指定文件 需要嵌入和 –参考 用于指定封面文件 你想隐藏它。
例如,下面的命令将隐藏 测试文件.txt 在一个 花.jpg 图像文件。
$ steghide embed -ef testfile.txt -cf flower.jpg
它会要求您输入密码,然后确认。 此密码稍后将用于提取图像中嵌入的文件。 如果您不想使用密码保护它,只需点击 Enter 两次。
现在我们的文件隐藏在图像中,我们可以删除原始文件。
$ sudo rm testfile.txt
访问隐藏文件
要访问隐藏在图像中的文件,您需要从图像中提取它。 语法如下:
$ steghide extract -sf <image>
在哪里 -sf 用于指定包含嵌入数据的图像名称。
例如,下面的命令将提取嵌入图像的原始文件 花.jpg.
$ steghide extract -sf flower.jpg
提供文件的密码,之后将提取原始文件。
使用 Outguess 实用程序(命令行)
Outguess 是另一个用于将文件嵌入图像中的命令行实用程序。 它使您可以将信息隐藏在封面媒体的冗余位中。 它可以隐藏 PPM、PNM 和 JPEG 文件中的数据。
您可以使用以下命令安装 Steghide 实用程序:
$ sudo apt install outguess
安装 Outguess 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。
使用 Outguess 隐藏图像文件中的文件,语法如下
$ outguess -k <“password”> -d <file-to-hide> <image> <image-out>
在哪里 “密码” 是用于加密和隐藏的密码 在一个里面 。 这 是包含嵌入数据的结果图像的结果文件。
例如,下面的命令将嵌入 测试文件.txt 进入 花.jpg 带密码 abc123 并将结果存储在 花开.jpg.
$ outguess -k “abc123” -d testfile.txt flower.jpg flower-out.jpg
现在您可以删除原始文本文件:
$ sudo rm testfile.txt
访问隐藏文件
要访问隐藏在图像中的文件,您需要从图像中提取它。 语法如下:
$ outguess -k “password” -r <image-out> <filename>
您可以为
例如,下面的命令将提取嵌入图像的原始文件 花开.jpg.
$ outguess -k “abc123” -r flower-out.jpg testfile.txt
使用 Cat 命令(命令行)
你会很清楚 Linux Cat 命令具有三个主要功能:创建文件、查看文件内容和连接文件。 使用 Cat 命令连接功能,我们可以实现隐写术。
对于此方法,您将需要一个 zip 文件(包含需要隐藏的文件)和一个图像文件(您要在其中隐藏文件)。 请按照分步程序执行此操作:
1.创建一个目录并添加所有要隐藏在图像中的文件。 例如,我们想隐藏一个名为的文件目录 我的文件,所以我们使用以下命令创建了它:
$ sudo mkdir myfiles
然后在新创建的目录中,复制要隐藏的文件。
2. 现在,使用以下命令压缩此目录:
$ sudo zip -r myfiles.zip myfiles
在哪里 我的文件.zip 是压缩文件名。
3. 现在,将您的图像文件放在放置压缩文件的同一目录中,在我们的例子中是主目录。 然后将压缩文件和图像文件连接起来,并将其保存在一个新的图像文件中,如下所示:
$ cat myfiles.zip image.jpg > flower.jpg
在哪里 我的文件.zip 是压缩文件, 图像.jpg 是我们要用作封面文件的图像文件,并且 花.jpg 是实际隐藏文件的输出文件。
4. 现在您已经隐藏了图像中的文件,您可以安全地删除文件目录和压缩文件。 您可以使用 R M 命令如下:
$ sudo rm -r myfiles
$ sudo rm myfiles.zip
访问隐藏文件
要访问隐藏在图像中的文件,您需要解压缩该图像文件。 为此,首先确保您位于包含输出图像文件的同一目录中 花.jpg 包含隐藏数据。 然后运行以下命令解压缩隐藏文件:
$ unzip flower.jpg
使用 Stegosuite 实用程序(图形)
Stegosuite 是另一个图形隐写术实用程序,可让您在图像中嵌入文件。 它使用 AES 加密嵌入的数据。 它可以隐藏 BMP、GIF、JPG 和 PNG 格式的数据。
您可以使用以下命令安装 Stegosuite 实用程序:
$ sudo apt install stegosuite
当提示确认时,按 是.
安装 Stegosuite 后,您就可以在图像中隐藏或嵌入文件了。 您将需要要隐藏的文件和要隐藏的图像(也称为封面文件)。
要启动 Stegosuite 实用程序,请按键盘上的超级键并输入 Stegosuite。 在搜索结果中,单击 Stegosuite 图标以启动它。
现在为了将文件隐藏在图像中,请按照以下步骤操作:
1. 在 Stegosuite 实用程序中,转到 文件 > 打开 从顶部菜单栏中。
2. 将出现一个文件浏览器。 选择要隐藏文件的封面图像,然后单击 打开。 在我们的例子中,它是 花.jpg
完成后,您将在 Stegosuite 窗口的右侧看到加载的图像。
3. 现在,您需要上传要隐藏在图像中的文件。 为此,请右键单击下方的区域 嵌入文件 部分并选择 添加文件 选项。
从文件浏览器浏览所需文件,然后单击 打开. 在我们的例子中,它是 测试文件.txt。
4. 为您的文件设置密码。 当您必须从图像中提取文件时,稍后将使用它。 然后点击 嵌入 按钮将文件嵌入到图像中。
它将创建一个以格式命名的新文件 imagename_embed.延期. 例如,如果您的图像名称是 花.jpg,那么新的输出文件将被创建,名称为 花嵌入.jpg.
现在我们的文件已经嵌入到图片中了,我们可以去掉原来的机密文件(测试文件.txt)。 我们只需要保留输出图像文件(花嵌入.jpg)。
访问隐藏文件
要访问隐藏在图像中的文件,您需要从嵌入的图像中提取它。 1. 启动 Stegosuite 实用程序并转到 文件 > 打开.
2. 然后加载我们示例中的输出图像文件 花嵌入.jpg.
2. Enter 文件的密码,然后单击 提炼 提取隐藏在图像中的原始文件。
现在您的原始文件将被提取。
删除/卸载
如果您想从系统中删除隐写术实用程序; 您可以通过使用 apt remove 命令后跟实用程序名称轻松完成此操作。 例如,要删除 Steghide 实用程序,命令将是:
$ sudo apt remove steghide
在这篇文章中,我们介绍了如何通过四种不同的方法(包括命令行和图形方法)将文件隐藏在图像中。 所有方法都易于使用,不需要任何特殊的专业知识。 如需更多帮助,请通过键入 man 后跟实用程序名称来访问这些实用程序的手册页。