目录
一、揭开 CTF-Misc 的神秘面纱
CTF,即 Capture The Flag,中文名为夺旗赛,是网络安全技术人员之间进行技术竞技的比赛,起源于 1996 年的 DEFCON 全球黑客大会,其模式包括解题模式、攻防模式和混合模式 ,至今已成为全球网络安全圈流行的竞赛形式,其中 DEFCON CTF 被誉为 CTF 竞赛中的 “世界杯”。
在 CTF 竞赛中,题目类型丰富多样,而 MISC,全称 Miscellaneous,意为杂项,是其中极具特色的一类。它像是一个大杂烩,涵盖了众多其他类别难以囊括的内容,涉及流量分析、电子取证、人肉搜索、数据分析、隐写术、编码转换、古典密码学等多个领域,具有很强的综合性和趣味性。在解题时,选手需要具备广泛的知识储备和灵活的思维能力,能够从各种看似不相关的线索中找到突破口,从而成功获取 Flag。
二、CTF-Misc 应用之文件隐写术
在 MISC 领域,文件隐写术是一种常用的信息隐藏技术,它将秘密信息隐藏在普通文件中,使他人难以察觉秘密信息的存在 。在 CTF 竞赛中,选手常常需要与文件隐写术打交道,通过分析和处理文件,找出隐藏其中的关键信息。
2.1 文件格式基础
在探讨文件隐写之前,先熟悉一下常见文件格式的文件头和文件尾。文件头是位于文件开头的一段承担一定任务的数据,文件尾则位于文件末尾,它们是系统判断文件类型的重要依据。比如 JPEG (jpg) 文件头是 FFD8FF,文件尾是 FF D9;PNG (png) 文件头为 89504E47,文件尾是 AE 42 60 82;GIF (gif) 文件头是 47494638,文件尾为 00 3B 。了解这些常见文件的特征,能帮助我们在处理文件时快速判断文件类型是否被篡改,或是否存在异常。
2.2 文件格式检测方法
检测文件格式是处理文件隐写的第一步,常见的方法有以下几种:查看文件扩展名,这是最直观的方法,但文件扩展名可随意修改,不一定准确;使用支持 16 进制的文本工具查看文件头,在 Windows 系统下,可使用 Winhex、010Editor 等工具,在 Linux 系统中,则可以使用 Hexeditor、Hexdump 命令;也可以使用文件识别工具,比如 Linux 系统自带的 file 命令,它能根据文件内容推测文件类型 。
2.3 文件隐写的常见方式
文件隐写的方式多种多样,其中在图片隐写中,一种常见方式是最低有效位(LSB)隐写。原理是利用图片像素由三原色(红绿蓝)组成,在 PNG 等无损压缩或无压缩图片存储时,每个颜色占有 8bit,人类眼睛无法区分所有颜色变化,通过修改像素中的最低位,就能把一些信息隐藏起来,且肉眼难以察觉颜色变化 。还可以利用工具进行隐写,像 jphs、stegdetect、steghide 等工具,能对图片进行特定的隐写或检测操作。在文档隐写方面,word 文档可以使用隐藏文字功能,将重要信息设置为隐藏状态,也可以将 word 文档转换成压缩包,把信息藏于其中;pdf 文档隐写则可通过转换成 word、使用工具解密等方式实现。
三、图片与音频中的隐藏信息
在 CTF-Misc 中,图片和音频也是重要的信息载体,常常隐藏着关键线索。
3.1 图片隐写
在图片隐写方面,最低有效位(LSB)隐写是一种常见的方式,其原理基于人类视觉系统对图像细微变化的不敏感性 。在数字图像里,每个像素点的颜色由 RGB 三原色值表示,每个颜色通道一般是 8 位,取值范围为 0 到 255 。LSB 隐写通过修改每个颜色通道的最低有效位来嵌入信息,由于仅改变最低位,对像素颜色的影响极小,人眼几乎难以察觉。具体操作时,先将秘密信息转换为二进制形式,再把这些二进制位依次替换图像中每个像素的 RGB 值的最低有效位,因为每个像素的三