查看原文
其他

顶级隐写术方法

礼萨·拉希迪 再说安全
2024-12-01
本文阅读大约需要20分钟;

隐写术,即在其他消息或媒体中隐藏消息的艺术,涵盖了从古代到现代的各种技术。历史上的方法包括隐形墨水、微缩胶卷和空密码,所有这些方法都是为了将信息隐藏在显而易见的地方。这些方法通常依赖于对材料的物理操纵或巧妙的语言技巧来编码和解码消息,其用途从间谍活动到个人通信不一而足。

在数字时代,隐写术已经适应了数字文件的领域,出现了数字隐写术和声学隐写术等技术。数字隐写术通过巧妙地改变图像、音频或视频文件的数据,将信息隐藏在其中,而声学隐写术则将信息隐藏在音频信号中。在信息安全至关重要的时代,这些现代方法为隐蔽通信、数字水印和版权保护提供了新的途径。



1、二维码




要将二进制码转换为QR码,您可以使用在线工具例如:"Dcode"和"lnliteResearch"的在线条形码阅读器:
首先,访问Dcode网站:
https://www.dcode.fr/binary-image
并输入您的二进制数据.然后,按照说明生成包含二进制消息的二维码。
同样,您可以使用lnliteReseach提供的在线条形码阅读器网址:
https://online-barcode-reader.inliteresearch.com/
将您的二进制图像上传到网站,然后让该工具为您将其解码为二维码。这些工具提供了将二进制数据转换为二维码的便捷方法,从而促进信息的轻松共享和扫描.



2、图像转换



要对图像执行图像转换和隐写操作,您可以使用“Stegsolve”工具,它是一个基于 Java 的应用程序。要使用它,首先确保您的系统上安装了 Java。然后,下载“Stegsolve.jar”文件。下载后,使用命令行导航到“Stegsolve.jar”文件所在的目录。然后,执行以下命令:


java -jar Stegsolve.jar


此命令将启动 Stegsolve 应用程序,允许您应用各种变换并分析图像以查找隐藏信息。Stegsolve 提供了一个图形界面,您可以在其中加载图像并应用不同的颜色平面转换、位平面切片和其他操作来发现隐藏的数据。它是一种强大的工具,经常用于数字取证、密码学和隐写术分析,提供对肉眼可见之外的图像结构和内容的洞察。



3、文件字符串



要分析文件中的隐藏内容或嵌入数据,您可以使用命令行工具“binwalk”和“strings”。这些工具对于检查二进制文件、固件映像和可执行文件特别有用。以下是如何使用它们:


1.Binwalk :Binwalk 是一个旨在搜索二进制文件中嵌入文件和可执行代码的工具。它可以识别并提取输入文件中嵌入的各种类型的文件。要使用 binwalk,请打开终端并导航到包含要分析的文件的目录。然后,运行以下命令:


binwalk -e <file>


将<file>替换为要分析的文件的路径。-e选项告诉 binwalk 提取它在输入文件中找到的任何文件。运行命令后,binwalk 将扫描文件中的嵌入内容,并将所有识别到的文件提取到当前目录中名为"_<filename>.extracted_"目录中。


2.Strings:“Strings”命令从二进制文件中提取可打印字符。它对于识别二进制文件中人类可读的文本(例如字符串)很有用。要使用“字符串”,请打开终端并导航到包含要分析的文件的目录。然后,运行以下命令:


strings <file>


将<file>替换为要分析的文件的路径。此命令会将文件中找到的任何可打印字符串打印到终端。它有助于快速识别二进制文件中嵌入的基于文本的内容,例如纯文本密码、错误消息或其他信息字符串。



4、WAV/* Steg 和暴力破解



要猜测嵌入另一个文件中的文件的密码,您可以使用steg_brute.py脚本和单词列表。您可以这样做:


  1. 下载并导航:首先,下载 steg_ brute.py脚本或确保它在您的系统上可用。然后,导航到包含您要使用的脚本和单词列表的目录。


  2. 运行命令:打开终端并运行以下命令:


./steg_brute.py -b -d /usr/share/wordlists/rockyou.txt -f ../meow.wav


or 或者


java -jar turgen.jar


此命令将尝试使用位于:

/usr/share/wordlists/rockyou.txt”

的单词列表来暴力破解“meow.wav”文件中嵌入的文件的密码。


-b :此标志指定应启用暴力模式。

该标志指定单词列表文件的路径。
-d /usr/share/wordlists/rockyou.txt

在此示例中,我们使用位于


“/usr/share/wordlists/rockyou.txt”


单词列表。您可以将其替换为所需单词列表的路径。


-f ../meow.wav :此标志指定包含嵌入文件的载体文件的路径。在此示例中,我们使用位于父目录中的“meow.wav”。


3.等待结果:脚本将遍历单词列表,尝试将每个单词作为密码从“meow.wav”中提取嵌入文件。根据单词列表的大小和密码的复杂性,此过程可能需要一些时间。



5、文件中的文件



要提取嵌入在另一个文件中的文件,您可以使用“steghide”工具以及适当的命令。您可以这样做:


1.检查嵌入文件信息:在提取文件之前,您可能需要收集有关嵌入文件的信息,例如其大小和加密详细信息。为此,请在终端中运行以下命令:


steghide info <filename> -p <password>


将<filename>替换为包含嵌入文件的载体文件的名称,并将<password>替换为提取该文件所需的密码。此命令将使用提供的密码从载体文件中提取嵌入文件。


2.提取嵌入文件:获得必要的信息后,您可以继续提取嵌入文件。使用以下命令:


steghide extract -sf <filename> -p <password>


将<filename>替换为包含嵌入文件的载体文件的名称,并将<password>替换为提取该文件所需的密码。此命令将使用提供的密码从载体文件中提取嵌入文件。


如果成功,解压后的文件将保存在当前目录中。然后,您可以根据需要访问和使用提取的文件。



6、盲文



盲文隐写术是一种涉及在盲文字符中隐藏消息的技术。盲文是视障人士使用的一种触觉书写系统,由排列成网格的凸起点组成。通过操纵这些点的排列,可以在盲文文本中编码隐藏的消息。

要使用盲文隐写术对消息进行编码和解码,您可以使用在线盲文翻译器,

例如:

https://www.branah.com/braille-translator

https://www.branah.com/braille-translator


上提供的翻译器。使用方法如下:

 

1. Encoding 编码:

1在网络浏览器中打开盲文翻译器工具;
2在输入框中键入或粘贴要编码的消息;
3该工具会自动将文本转换为盲文字符;
4

要对隐藏消息进行编码,可以手动操纵盲文字符内点的排列。

例如:您可以 稍微改变点的位置或间距来表示对隐藏消息进 编码的二进制代码;

5

对消息进行编码后,您可以复制修改后的盲文文本以供进一步使用。


2. Decoding 解码:


1要解码以盲文编码的隐藏消息,请将盲文文本粘贴到翻译工具的输入框中;
2该工具会将盲文字符转换回常规文本,从而显示其中编码的任何隐藏消息;
3通过仔细分析盲文字符内的排列,可以发现使用盲文隐写术嵌入的隐藏消息.

 

通过利用 Branah 提供的在线盲文翻译器,您可以轻松地使用盲文字符对隐藏消息进行编码和解码。这项技术提供了一种创造性且微妙的方式来隐藏文本中的信息,适用于密码学、秘密通信和解谜等各种目的。



7、FFT傅里叶变换


要对图像执行快速傅里叶变换 (FFT) 并可能从中提取信息,您可以使用
http://bigwww.epfl.ch/demo/ip/demos/FFT/

提供的在线工具。该工具使您能够分析图像的频率分量,有时可以揭示 隐藏的信息或模式。

以下是您可以如何使用它:


1.访问该工具:


http: //bigwww.epfl.ch/demo/ip/demos/FFT/


2.上传图片:


单击“选择文件”或类似按钮上传要分析的图像。

3.执行FFT:


1上传图像后,该工具将显示 FFT 分析的各种选项和设置;
2根据需要调整设置,例如 FFT 的大小、窗口选项和显示首选项;
3然后,单击相应的按钮或链接启动 FFT 过程。

4.分析结果:
1执行 FFT 后,该工具将显示图像的频域表示;
2分析生成的图像以识别频域中可能存在的任何异常模式、结构或隐藏信息。



8、Brainfuck 脑残



要翻译Brainfuck代码,您可以使用https://www.dcode.fr/brainfuck-language提供的在线Brainfuck解释器。这个工具可以让你编写Brainfuck代码,或者输入现有的代码,并执行或翻译它以获得相应的输出。


1.访问该工具:


打开Web 浏览器并导航到提供的
https: //www.dcode.fr/brainfuck-language/

2.输入Brainfuck代码:


使用提供的文本编辑器或输入框编写或粘贴您想要翻译或执行的 Brainfuck 代码。


3.翻译或执行:


1输入Brainfuck代码后,您可以选择翻译它或执行它;
2要翻译代码,只需单击“翻译”或类似按钮即可。这会将Brainfuck 代码转换为相应的文本或输出,具体取决于其功能;
3或者,如果您想执行代码并观察其行为,请单击“执行”按钮。该工具将运行Brainfuck代码并显示结果输出或行为。


4.分析结果:


1翻译或执行后,分析Brainfuck代码的输出或行为以了解其功能或用途;
2请注意代码产生的任何消息、输出或更改,因为它们可能会揭示重要信息或提供对其预期用途的见解。



9、Morse Code 摩尔斯电码



要翻译摩尔斯电码,您可以使用

https://www.boxentriq.com/code-breaking/morse-code

提供的在线摩尔斯电码翻译器。该工具允许您输入摩尔斯电码并获取相应的文本,或者输入文本并获取摩尔斯电码表示。


1.访问该工具:
打开Web浏览器并导航到提供的 
https://www.boxentriq.com/codebreaking/morse-code
2.将摩尔斯电码翻译为文本:
1要将摩尔斯电码翻译为文本,请在提供的输入框中输入摩尔斯电码序列;
2输入后,该工具会自动将摩尔斯电码翻译成可读文本。

3.将文本翻译为摩尔斯电码:
1或者,如果您想将文本翻译为莫尔斯电码,请将文本输入到提供的输入框中;
2然后,该工具会将文本转换为其相应的摩尔斯电码表示形式。

4.分析结果:
1翻译后,检查输出以确保准确性和完整性。
2注意摩尔斯电码翻译所传达的任何消息或信息。


10、LSB HALF 最低有效位一半



要查看图像的LSB(最低有效位)HALF 模式,您可以使用https://georgeom.net/StegOnline/image上提供的在线工具。该工具允许您分析图像的最低有效位,这可以揭示隐藏的信息或通过隐写技术对图像进行的更改。


1.访问该工具:
打开Web浏览器并导航到提供的 
https: //georgeom.net/StegOnline/image

2.上传图片:
单击“选择文件”或类似按钮上传要分析的图像;

3.选择 LSB HALF 模式:
1上传图像后,找到选择 LSB 模式的选项;
2从可用选项中选择“LSB HALF”模式。

4.分析结果:
1选择LSB HALF模式后,工具将显示根据该模式修改了最低有效位的图像;
2分析生成的图像以识别可能指示LSB中嵌入的隐藏信息的任何细微变化或模式。



11、Digital Watermarking 数字水印



OpenStego提供两种主要的操作模式:数据隐藏和水印。
数据隐藏:在此模式下,用户可以在图像中嵌入文件或从图像中提取隐藏数据。这个过程很简单,涉及隐藏图像像素内的敏感信息,使其无法被人眼察觉。
水印(测试版):水印模式允许用户在图像中嵌入不可见的签名,以进行身份验证和所有权验证。用户可以生成签名文件并使用它们为图像添加水印或稍后验证水印。OpenStego 确保强大的数字水印功能,使水印能够抵抗常见的图像修改,例如调整大小或裁剪。
数字水印是将隐蔽标记嵌入到耐噪声信号(例如图像数据)中的过程,以识别所有权或验证信号的完整性。这些标记虽然人类无法察觉,但可以用来追踪版权侵权行为并验证钞票等文件。OpenStego 实现了稳健的数字水印,即使对水印图像进行微小修改,也能确保水印保持完整。
欲了解更多信息并访问OpenStego,请访问
https://www.openstego.com/



12、Cryptography 密码学



隐写术中的密码术涉及使用密码技术来增强隐藏文件中隐藏信息的安全性和隐藏性。虽然隐写术本身的目的是隐藏秘密消息的存在,但密码学可以确保即使隐藏的消息被发现,如果没有适当的解密密钥,它仍然无法理解。
通过将隐写术与密码学相结合,从业者可以实现更高级别的通信安全和隐私。以下是密码学在隐写术中的应用:


1.隐藏数据的加密:
1在将数据嵌入到封面文件之前,会使用 AES(高级加密标准)、DES(数据加密标准)或RSA (Rivest-Shamir-Adleman) 等加密算法对其进行加密;
2即使封面文件被拦截或遭受未经授权的访问,加密也可确保隐藏消息的安全。

2.解密密钥:
1要从封面文件中提取隐藏数据,收件人需要解密密钥;
2解密密钥是一条秘密信息,用于解密加密数据并揭示原始消息。


3.关键管理:
1有效的密钥管理实践,例如密钥生成、分发和存储,对于确保隐藏数据的安全至关重要;
2密钥管理协议可以包括诸如使用非对称加密技术的密钥交换或从密码短语派生密钥之类的技术。

4.身份验证和完整性:
1加密技术还可用于确保隐藏数据的真实性和完整性;
2数字签名或消息认证码 (MAC) 可以嵌入到封面文件中,以验证隐藏消息的来源和完整性。

5.混合方法:
1隐写术和密码学相结合的混合方法利用这两种技术的优势来实现安全性和隐秘性之间的平衡;
2通过使用隐写方法将加密数据嵌入到封面文件中,从业者可以在保持隐蔽通信通道的同时实现高水平的安全性。

https://www.dcode.fr/liste-outils
https://www.dcode.fr/liste-outils。



13、Splited Files 分割文件



将文件分割成更小的部分,也称为“文件碎片”或“文件分割”,是隐写术中经常使用的一种技术,可以更有效地隐藏覆盖文件中的数据。通过将大文件分割成较小的块,隐写者可以将隐藏数据分布在覆盖文件内的多个位置,从而使未经授权的各方更难以检测或提取隐藏信息。
1.分割数据:
1在将数据嵌入到封面文件之前,使用文件分割算法或工具将原始文件分割成更小的部分;
2分割过程将数据分成相等或可变大小的块,具体取决于隐写应用程序的具体要求和约束。

2.嵌入到封面文件中:
1使用隐写方法将原始文件的每个片段嵌入到封面文件的不同部分中;
2封面文件可以是图像、音频文件、视频文件或能够存储数据的任何其他类型的数字媒体。

3.隐藏和分发:
1碎片数据隐藏在封面文件中,使得临时观察者无法察觉;
2片段分布在覆盖文件的不同部分确保了隐藏数据的分布和分散,增强了隐写方案的安全性和鲁棒性。

4.重建:
1要从隐写容器中检索原始数据,接收者必须有权访问隐藏数据的所有片段;
2重建涉及从封面文件中提取每个片段并以正确的顺序重新组装它们以重建原始文件。

下面的Python代码片段演示了如何使用OpenCV 和 NumPy 库将大图像文件分割成更小的部分并将它们嵌入到封面图像中:
import numpy as npimport cv2import os
def split_and_embed(original_file, cover_file): # Read the original file original_data = np.fromfile(original_file, dtype=np.uint8)
# Split the original data into smaller chunks chunk_size = 1000 # Specify the size of each chunk num_chunks = len(original_data) // chunk_size + 1 data_chunks = np.array_split(original_data, num_chunks)
# Read the cover image cover_image = cv2.imread(cover_file)
# Embed each chunk into the cover image for i, chunk in enumerate(data_chunks): # Embed the chunk into the cover image using steganographic techniques # (e.g., LSB substitution, DCT modification, etc.) # Insert code here to embed the chunk into the cover image
# Save the steganographic image stego_image_file = "stego_image.jpg" cv2.imwrite(stego_image_file, cover_image) print("Steganographic image saved as:", stego_image_file)
# Example usage:original_file = "original_data.bin"cover_file = "cover_image.jpg"split_and_embed(original_file, cover_file)

此代码片段演示了使用隐写技术将大型二进制文件 ( original_data.bin )分割成较小块并嵌入到封面图像 ( cover_image.jpg ) 中的过程。split_and_embed函数读取原始数据,将其分割成块,并将每个块嵌入到封面图像中以创建包含隐藏数据的隐写图像。
https://github.com/pspspsps-ctf/writeups/tree/main/2024/Space%20Heroes%202024/Forensics/Petey%20the%20Panther's%20Guide%20to%20the%20Galaxy


14、密钥和密码并列



隐写术通常采用加密技术以及密钥和密码系统来增强隐藏文件中隐藏消息的安全性和隐蔽性。这种集成允许采用更强大的方法来隐藏信息,从而使未经授权的各方难以检测或破译隐藏的数据。让我们探讨如何将密钥和密码系统与隐写术技术一起使用:
1.密钥和密码系统:
1在隐写术中,在将消息嵌入到封面文件之前,使用密钥和密码系统对消息进行加密;
2密钥作为加密和解密消息所需的参数,而密码系统定义了加密算法;
3
隐写术中使用的常见加密算法包括对称密钥加密(例如,AES,DES)和非对称密钥加密(例如,RSA)。


2.嵌入加密数据:
1在将消息嵌入到封面文件之前,使用所选的密码系统和密钥对其进行加密;
2然后使用隐写技术将加密的消息嵌入到封面文件中,确保隐藏的数据对于临时观察者来说是无法察觉的。

3.解密和提取:
1要从隐写容器中检索隐藏消息,收件人需要解密密钥;
2获得隐写文件后,接收者使用密钥和指定的密码系统解密嵌入的数据,从而揭示原始消息。

4.关键管理:
1有效的密钥管理实践对于确保隐藏数据的安全至关重要;
2这包括在授权方之间安全地生成、存储和交换密钥,以防止未经授权的访问或解密隐藏信息。

5.与隐写术技术集成:

1通过将密钥和密码系统与隐写术技术集成,从业者可以实现更高级别的通信安全和隐私;
2加密、隐写术和密钥管理的结合可确保隐藏的消息免受拦截、检测和未经授权的访问。
在所描述的场景中,作者利用隐写术以及密钥和密码系统来隐藏图像文件中的消息。通过使用密码系统和密钥对消息进行加密,他们确保了隐藏数据的安全。然后使用隐写技术将加密的消息嵌入到封面图像中,使得对手在没有正确解密密钥的情况下难以检测或破译。最后,接收者使用密钥解密隐藏的消息,揭示了想要的信息。
https://medium.com/@sachalraja/deconsrtuct-f-gambit-challenge-writeup-8d526d4e8c60


15、Unicode 统一码



Unicode 是一种通用字符编码标准,它为不同书写系统和语言中的每个字符分配一个唯一的编号。这个庞大的字符集不仅包括字母、数字和符号,还包括各种控制字符和特殊格式元素。
Unicode隐写术:
Unicode 隐写术涉及在 Unicode 字符集本身中嵌入秘密消息。通过利用不太常见或视觉上相似的字符,可以将秘密消息隐藏在纯文本中,使肉眼几乎无法察觉。
探索挑战
让我们深入研究一个实际示例来说明 Unicode 隐写术的实际应用。考虑这样一个场景:我们遇到隐藏在看似无辜的文本文件中的可疑消息。通过仔细检查和使用命令行工具,我们将揭示 Unicode 字符中编码的隐藏消息。
实用方法:
  1. 初步分析:首先检查所提供文件的内容。使用strings等命令行工具提取文件中的任何隐藏字符串;

  2. 十六进制检查:利用hexdump等工具检查文件内容的十六进制表示形式。寻找可能表明隐藏数据的模式或异常;

  3. ZIP 文件提取:如果邮件嵌入在 ZIP 存档中,请使用unzip等命令来提取其内容。注意任何可能表明存在隐藏信息的差异或丢失数据;

  4. Unicode 解码:如果隐藏消息是使用 Unicode 字符编码的,请使用工具或脚本来解码 Unicode 字符串。查找与正常文本不同的异常字符序列或模式;

  5. 恢复和解释:隐藏的消息被解码后,分析其内容以获取任何有意义的信息。这可能涉及进一步的解密或解释,具体取决于编码消息的复杂性。

https://siunam321.github.io/ctf/DamCTF-2023/misc/de-compressed/


16、spectogram 频谱图



频谱图是信号随时间变化的频率频谱的直观表示。它显示音频信号中随时间变化的频率强度,从而可以对声音特征进行详细分析和可视化。频谱图通常用于音乐分析、语音识别和音频处理等领域。
谱图隐写术
频谱图隐写术涉及在音频信号的频域内嵌入秘密消息。通过操纵特定的频率分量或幅度变化,可以将隐藏信息隐藏在音频文件中,而人耳不会感觉到失真。频谱图隐写术提供了高水平的隐藏性,因为在收听音频文件时隐藏的消息是难以察觉的。
实际应用:让我们通过一个实际示例来演示如何在隐写术中使用频谱图技术:
  1. 获取音频文件:首先获取包含隐藏消息的音频文件。它可以是任何常见的格式,例如 MP3、WAV 或 FLAC;

  2. 转换和分析:使用命令行工具或在线转换器将音频文件转换为WAV格式,通常用于频谱图分析。转换后,在声谱图可视化工具(例如 Sonic Visualizer)中打开 WAV 文件;

  3. 目视检查:分析频谱图可视化是否存在可能表明存在隐藏信息的任何异常或模式。寻找偏离预期音频特性的异常强度或频率调制区域;

  4. 解码消息:如果检测到可疑模式,则应用解码技术从频谱图中提取隐藏消息。这可能涉及频率滤波、幅度调制或其他信号处理方法来揭示隐藏的信息;

  5. 验证和解释:隐藏消息被解码后,验证其准确性和相关性。在音频内容的上下文中解释消息,以了解其意义和含义。


17、拨号等声音模式


拨号音隐写术利用电话键盘产生的熟悉的声音来编码秘密消息。电话键盘上的每个数字都会生成由两个同时频率组成的独特双音多频 (DTMF) 信号。通过将这些频率映射到字符或符号,可以使用拨号序列对消息进行编码和解码。
创建隐写术标志
以下是有关如何使用拨号音创建隐写标记的分步指南:
将字符映射到频率:定义字符(例如字母、数字、符号)与电话键盘生成的相应 DTMF 频率之间的映射。例如:
Dial tone steganography leverages the familiar sounds produced by telephone keypads to encode secret messages. Each digit on a phone keypad generates a distinct dual-tone multi-frequency (DTMF) signal consisting of two simultaneous frequencies. By mapping these frequencies to characters or symbols, messages can be encoded and decoded using dialing sequences.
**Creating a Steganography Flag**
Here's a step-by-step guide on how to create a steganography flag using dial tone sounds:
1. **Mapping Characters to Frequencies**: Define a mapping between characters (e.g., letters, numbers, symbols) and the corresponding DTMF frequencies generated by a phone keypad. For example:

  1. 对标志进行编码:将所需的标志(消息)转换为字符序列。然后,对于每个字符,确定相应的DTMF频率并生成相应的拨号音。为此,您可以使用能够生成 DTMF 音调的软件或硬件;

  2. 记录拨号音:记录为每个字符生成的拨号音,以创建隐写标志的音频表示。确保每个拨号音清晰可闻;

  3. 组合拨号音:将录制的拨号音组合成代表完整隐写标记的单个音频文件。您可以使用音频编辑软件按顺序排列音调,并在它们之间留出适当的间隙;

  4. 测试和验证:播放包含隐写标记的音频文件并验证每个拨号音是否对应于预期字符。确保准确地表示旗帜,并且不存在意外的伪影或扭曲;

https://www.hooksounds.com/sound-effects/cell-phone-dial-number-1/1807354/

              如果您觉得文章对您有所帮助,还请您关注我!

欢迎您加群讨论:再说安全1群-欢迎热爱信息安全的你!

              

修改于
继续滑动看下一个
再说安全
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存