如何使用隐写术在 Debian 上隐藏映像中的机密文件
有时我们必须隐藏我们的数据以防止第三方访问系统。然而,实现这一目标的一种方法是通过加密。但今天我们要讨论另一种方法,即隐写术,它可以隐藏秘密数据的存在,以保持通信的私密性。
在隐写术中,机密数据被嵌入到伪装文件中,这样除了发送者和接收者之外,任何人都无法怀疑其中是否存在机密信息。如果您想在不影响安全性的情况下将机密数据发送给某人,它也很有用。您想要隐藏机密数据的封面文件可以是文本、图片、音频或任何视频文件。
为什么是隐写术?
尽管隐写术不如加密那么安全,但它还有其他几个优点,例如没有人会注意到它,因为嵌入的文件看起来像普通文件。另一方面,加密文件也会引起观众的好奇心。
在本文中,我们将解释如何使用各种工具(包括命令行和GUI)将机密文件隐藏在普通图像文件中。
请注意,我们已在 Debian 10 系统上完成了本文中提到的过程。
方法 1:通过 Steghide 实用程序(命令行)
斯特格海德安装
首先,在操作系统中启动终端。转到桌面左上角的“活动”选项卡。然后通过在搜索栏中键入相关关键字来搜索终端应用程序。从结果中,单击“终端”图标将其打开。
使用以下命令更新系统的存储库索引:
sudo apt update
然后使用 apt 命令安装 Steghide,如下所示:
sudo apt install steghide
系统可能会提示您使用Y/n选项进行确认,点击y,,然后Enter进行确认。之后,Stegide 将安装在您的系统上。
使用 Steghide 嵌入文件
要使用 Steghide 嵌入功能隐藏机密文件,您将需要要隐藏的文件以及要在其中隐藏数据的图像或音频文件。它支持将文件嵌入WAV、JPEG、AU、BMP格式。
将文件嵌入 JPEG 格式的语法是:
steghide embed -ef <file-to-embed> -cf <image.jp>
在我们的示例中,名为“testfile”的文件位于 ~/Documents 目录中,我们希望将其嵌入到“sample.jpg”图像文件中。因此,将首先导航到 ~/Documents 目录,然后运行 embed 命令。或者,您也可以提及文件的完整路径,而不是导航到目录。
例子 :
steghide embed –ef ~/Documents/testfile –cf sample.jpg
然后输入两次释义以嵌入文件。当您需要提取或解密文件时将使用此释义。如果您不想设置嵌入释义,只需按两次 Enter 键即可。之后,您的文件将被嵌入。
现在我们只能保留图像文件“sample.jpg”,同时删除机密文件,即我们示例中的“testfile”。
文件提取
当需要从图像文件中提取机密文件时,请使用以下语法:
steghide extract –sf image.jpg
例子 :
Steghide extract –sf sample.jpg
系统将要求您在将文件嵌入图像文件时设置密码。输入密码,您的机密文件将从图像文件中提取。
删除/卸载
如果您想从系统中删除 Steghide,请在终端中运行以下命令:
sudo apt remove steghide
方法 2:通过 Outguess 实用程序(命令行)
Outguess 也是一个隐写术命令行工具,可以将秘密信息插入到数据源的冗余位中。使用 Outguess,您还可以将机密数据隐藏在图像文件中。
猜测安装
打开终端并使用以下命令更新系统的存储库索引:
sudo apt update
现在安装 Outguess,如下所示:
sudo apt install outguess
系统可能会提示您使用Y/n选项进行确认,点击y,然后Enter进行确认。之后,Outguess 将安装在您的系统上。
使用 Outguess 嵌入文件
要使用 Outguess 嵌入机密文件,您将需要要隐藏的文件和要在其中隐藏数据的图像文件。
我们将在 Outguess 中使用的一些标志是:
d:指定包含需要隐藏的消息的文件名。
k:指定要用于加密的密钥
r:从加密文件中提取消息
将文件嵌入 JPEG 格式的语法是:
outguess -d examplefile.txt image.jpg image-output.jpg
examplefile.txt 将嵌入到新的“image-output.jpg”文件中。
为了设置嵌入文件的密码,语法为:
outguess -k “secret key” -d examplefile.txt image.jpg image-output.jpg
如果您的文件位于 ~/Home 目录之外的某个目录中,您将必须导航到该目录,然后运行上述命令。或者,您可以提及文件的完整路径。
在我们的例子中,机密文件和图像文件都位于 ~/Documents 目录中,并且我们希望加密文件也位于同一目录中。一个例子是:
cd ~/Documents
outguess -k “123” -d testfile sample.jpg sample-out.jpg
运行此命令后,将在当前目录中创建一个“sample-out.jpg”文件。加密完成后,您可以删除原始机密文件,只保留输出图像文件,稍后将用于提取机密文件。
文件提取
为了从嵌入的输出图像文件中检索原始机密文件,请使用以下语法:
outguess -r image-output.jpg secret.txt
如果您在加密过程中指定了密钥,则语法如下:
outguess -k “secret key” -r image-output.jpg secret.txt
一个例子是:
outguess -k “123” -r sample-out.jpg testfile
Outguess 方法还会验证提取后的统计数据,以确保原始文件与嵌入之前完全相同。
删除/卸载
如果您想从系统中删除 Outguess,只需在终端中执行以下命令:
sudo apt-get remove outguess
方法3:通过Stegosuite工具(UI)
Stegosuite 是一个基于 GUI 的免费开源工具,可用于在图像文件中隐藏机密文件。
Stegosuite安装
为了安装 Stegosuite,首先更新系统存储库索引。为此,请在终端中执行以下命令:
sudo apt update
然后执行以下命令安装Stegosuite:
sudo apt install stegosuite
系统可能会提示您使用Y/n选项进行确认,点击y,然后Enter进行确认。之后 Stegosuite 将安装在您的系统上。
启动 Stegosuite
安装后,您可以通过命令行或 GUI 启动 Stegosuite。
要通过命令行启动 Stegosuite,只需在终端中输入 stegosuite,如下所示:
stegosuite
要通过 GUI 启动 Stegosuite,请按键盘上的超级键并输入 stegosuite。当 Stegosuite 图标如下所示时,单击它以启动它。
使用 Stegosuite 嵌入文件
当 Stegosuite 启动时,您将看到以下视图。为了隐藏图像文件中的机密文件,请首先导航到文件>打开来加载图像文件。
然后选择要隐藏机密文件的任何图像文件(MP、GIF、JPG 或 PNG 格式)。选择文件后,单击确定。
现在图像文件将被加载到 Stegosuite 窗口中。现在请按照以下简单步骤操作:
1. 输入任何秘密消息。
2. 右键单击第二个字段中的空白区域,然后选择添加文件。然后选择要嵌入图像文件中的机密文件。
3. 输入解压文件时使用的密码。
现在您的机密文件将被嵌入并以“filename_embed”格式保存。由于文件名中包含“embed”,因此最好稍后重命名该文件,使其看起来普通且没有可疑之处。
现在您可以从系统中删除原始机密文件并仅保留输出的嵌入图像文件。
文件提取
为了从嵌入的图像文件中提取机密文件,请按照以下简单步骤操作:
在文件管理器中打开嵌入的图像文件。然后右键单击并选择使用其他应用程序打开,如下所示:
然后从选择应用程序对话框中,单击Stegosuite。
现在该文件将被加载到 Stegosuite 应用程序中。输入文件的密码,然后单击提取按钮。
现在原始机密文件将被提取到。你的系统
删除/卸载
如果您想从系统中删除 Outguess,只需在终端中执行以下命令:
sudo apt remove stegosuite
结论
在本文中,我们讨论了使用命令行和基于 GUI 的工具来隐藏图像文件中的机密文件。使用上述任一隐写术工具,您可以将机密数据隐藏在看似普通的图像文件中。