想必大家在案件中或者我们在比武中遇到了很多关于文件的隐写问题,其实这一类的东西可以进行分类,而我们今天探讨的是图片隐写,音频隐写,电子文档隐写,文件头和文件尾的认识。
2.1图片:
JPEG
文件头:FF D8 FF
文件尾:FF D9
TGA
未压缩的前4字节 00 00 02 00
RLE压缩的前5字节 00 00 10 00 00
PNG
文件头:89 50 4E 47 0D 0A 1A 0A
文件尾:AE 42 60 82
GIF
文件头:47 49 46 38 39(37) 61
文件尾:00 3B
BMP
文件头:42 4D
文件头标识(2 bytes) 42(B) 4D(M)
TIFF(tif)
文件头:49 49 2A 00
ico
文件头:00 00 01 00
Adobe Photoshop(psd)
文件头:38 42 50 53
2.2 office文件
MS Word/Excel(xls.or.doc)
文件头:D0 CF 11 E0
MS Access(mdb)
文件头:53 74 61 6E 64 61 72 64 20 4A
WordPerfect(wpd)
文件头:FF 57 50 43
Adobe Acrobat(pdf)
文件头:25 50 44 46 2D 31 2E
application/vnd.visio(vsd)
文件头:D0 CF 11 E0 A1 B1 1A E1
Email [thorough only](eml)
文件头:44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A
Outlook Express(dbx)
文件头:CF AD 12 FE C5 FD 74 6F
Outlook(pst)
文件头:21 42 44 4E
Rich Text Format (rtf)
文件头:7B 5C 72 74 66
txt 文件(txt)
文件头:Unicode:FE FF / Unicode big endian:FF FE / UTF-8:EF BB BF /ANSI编码是没有文件头的。
2.3压缩包文件
ZIP Archive(zip)
文件头:50 4B 03 04
文件尾:50 4B
RAR Archive(rar)
文件头:52 61 72 21
2.4音频文件
Wave (wav)
文件头:57 41 56 45
audio(Audio)
文件头: 4D 54 68 64
audio/x-aac(aac)
文件头:FF F1(9)
2.5视频文件
AVI(avi)
文件头:41 56 49 20
Real Audio(ram)
文件头:2E 72 61 FD
Real Media(rm)
文件头:2E 52 4D 46
MPEG(mpg)
文件头:00 00 01 BA(3)
Quicktime(mov)
文件头:6D 6F 6F 76
Windows Media(asf)
文件头:30 26 B2 75 8E 66 CF 11
MIDI(mid)
文件头:4D 54 68 64
代码文件
XML(xml)
文件头:3C 3F 78 6D 6C
HTML(html)
文件头:68 74 6D 6C 3E
Quicken(qdf)
文件头:AC 9E BD 8F
Windows Password(pwl)
文件头:E3 82 85 96
其他类型
windows证书文件(der)
文件头:30 82 03 C9
CAD(dwg)
文件头:41 43 31 30
Windows Shortcut(lnk)
文件头:4C 00 00 00
Windows reg(reg)
文件头:52 45 47 45 44 49 54 34
3.1附加式的图片隐写
操作系统识别,从文件头标志,到文件的结束标志位,当系统识别到图片的结束标志位后,默认是不再继续识别的,所以可以在文件尾后面加东西。
1、附加字符串
最简单的是附加字符串。
附加方法:winhex直接附加再保存。
识别方法:使用工具或者命令。winhex直接看,notepad也可以看linux的strings指令。
2、隐藏压缩文件
可以把压缩文件藏在图片文件尾后,看起来还是图片。
附加方法入下:winhex直接附加再保存。
识别方法:有些直接改扩展名就可以用,linux的binwalk指令,winhex复制压缩文件内容重新保存。
3、基于文件结构的图片隐写,主要是针对PNG图片。
标准的PNG文件结构应包括:
PNG文件标志。
PNG数据块:关键数据块和辅助数据块,其中正常的关键数据块有长度、数据块类型码、数据块数据和CRC这4种。
PNG图片的第一个数据块,一张PNG图片仅有一个IHDR数据块,包括了图片的宽、高、图像深度、颜色类型、压缩方法等信息。
蓝色部分就是IHDR,可以修改高度值或宽度值对部分信息进行隐藏,如果图片原本是800(宽)*600(高),然后图片的高度从600变成500,这样下面800×100区域的信息就无法从图片中显示出来,我们可见的只有上方800*500的区域,这样就达成了图片隐写的目的,同理可知图片的宽度也可以进行类似的修改以达到隐藏信息的目的。
识别方法如下:
用winhex或者010Editor等编辑器打开图片;修改长度或宽度值,在修改文件后,需要利用CRC Calculator对CRC校验码进行重新计算赋值,以防图片被修改后,自身的CRC校验报错,导致图片不能正常打开。
频谱图藏信息、高低位二进制、波形藏摩斯密码、MP3Stego、音频中也有LSB。
这部分的隐写文件需要进行一些工具以及编码上的知识,这里放一个可以学习的网站大家可以进行学习:
https://www.sqlsec.com/2018/01/ctfwav.html#Writeup-2。
5.1隐藏文字
我们直接查看文件设置即可。
5.2文字隐藏
这里我也是给大家一个连接可以自行进行查看示例。
https://fishpond.blog.csdn.net/article/details/109840744
本次分享聚焦于以上内容,我们还将探讨其他隐写技术以及各类文件的文件头和文件尾。希望本次的分享能为大家提供有益的参考,同时欢迎各位共同交流与分享。