小萌新记录一下自己遇到的隐写题型,以拆分知识点的形式进行总结,主要记录和隐写有关的知识点(不是题解)
现代隐写术
隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。隐写术的英文叫做Steganography,来源于特里特米乌斯的一本讲述密码学与隐写术的著作Steganographia,该书书名源于希腊语,意为“隐秘书写”。
STEGA即隐写术,将信息隐藏在多种载体中,如:视频、硬盘和图像,将需要隐藏的信息通过特殊的方式嵌入到载体中,而又不损害载体原来信息的表达。旨在保护需要隐藏的信息不被他人识别。
LSB隐写
LSB,最低有效位,英文是Least Significant Bit 。我们知道图像像素一般是由RGB三原色(即红绿蓝)组成的,每一种颜色占用8位,0x00~0xFF,即一共有256种颜色,一共包含了256的3次方的颜色,颜色太多,而人的肉眼能区分的只有其中一小部分,这导致了当我们修改RGB颜色分量种最低的二进制位的时候,我们的肉眼是区分不出来的。
Stegosolve
CTF中,最常用来检测LSB隐写痕迹的工具是Stegsolve,这是一款可以对图片进行多种操作的工具,包括对图片进行xor,sub等操作,对图片不同通道进行查看等功能。
题目链接
:https://ctf.bugku.com/files/9f1bebac6b8282da716720cc99f35bed/png
文件名为png,改为1.png,猜测为lsb隐写,用Stegosolve打开
三色的0通道一样,一般就会有lsb隐写,对三色的0通道进行分析,发现隐藏了一个png文件
保存Bin形式
更改文件类型
有些题目可能会更改文件头尾导致文件损坏
常见文件类型的文件头尾:
JPEG 文件头 FFD8FF 文件尾:FFD9
PNG 文件头 89504E47 文件尾:AE 42 60 82
GIF 文件头 47494638 文件尾:00 3B ZIP 文件头 504B0304 文件尾:50 4B
题目链接
:https://ctf.bugku.com/files/9f1bebac6b8282da716720cc99f35bed/png
接上面lsb题目,提取到了一个png文件,但是打开发现文件损坏,
(这图片就是坏的)
把文件扔进winhex查看,发现文件头不是正常png文件头,删处多余字符,则可以打开文件
更改文件长宽
有时通改变文件长款可以查看到隐藏的信息
题目链接1
:https://ctf.bugku.com/files/9f1bebac6b8282da716720cc99f35bed/png
继续说上面的题目,打开图片发现是半个二维码
在winhex里进行长宽更改,不知道哪个是长宽的话,可以在文件属性里算一下图片长宽的四位16进制数值是多少,这里将00 8C
改为01 18
可查看完整二维码
反色二维码
继续上面的题目,二维码为反色,直接扫描不出来
WAY1
使用QResearch可以直接扫描反色二维码
WAY2
将二维码放在画图工具里,ctrl
+shift
+I
快速反色
NTFS流隐写
简单了解一下NTFS文件系统。NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。如果要让FAT文件系统转换为NTFS文件系统,可以在“命令提示符”中输入“convert 分区盘符: /fs:ntfs”,即可将该分区的文件系统转换为NTFS。
NTFS交换数据流(alternate data streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,虽然我们无法看到数据流文件,但是它却是真实存在于我们的系统中的。创建一个数据交换流文件的方法很简单,命令为“宿主文件:准备与宿主文件关联的数据流文件”。
继续上面的题目
题目链接
:https://ctf.bugku.com/files/9f1bebac6b8282da716720cc99f35bed/png
扫描二维码以后得到一个压缩包,没什么有价值的内容,根据提示发现是NTFS隐写,需要用到工具ntfstreamseditor,查看解压的文件夹里面的数据流,然后把他导出来,得到一个pyc文件,也就是py编译后的文件
到此,此题所用到的隐写知识点结束,剩下的内容是反编译写脚本,具体查看链接
word隐写
在word内容里隐藏信息,在设置里面可以打开隐藏文字
也有把文字颜色改为和背景色一样的
还有用图片覆盖文字的,把图片拖走或者更改透明度即可
GIF逐帧
一般用GIFTOOLS逐帧查看即可
帧数多的一般可以使用脚本
mp3隐写
一.用Audacity打开查看
二.用MP3Stego查看隐藏文件
文件分离
图片里可能会隐藏其他文件,比如压缩包,图片之类的
题目链接
:https://ctf.bugku.com/files/37b57dc545752a92fa6b2d571b88667a/1cdf3a75-21ed-4b91-8d49-1b348d44dcf.zip
放在kali里用binwalk进行检测发现有zip文件,用foremost分离
待续
Stegdetect工具使用,双图题目
一般隐写题目会和密码在一起考