常见文件头整理

PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424DC001
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
旧版office MS Word/Excel (xls.or.doc or.ppt),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
JPEG (jpg),文件头:FFD8FFE1

PNG隐写整理

图片隐写
• CTF图片隐写出题一般会有以下几类
1. 图片内含有其他内容
2. 盲水印
3. PNG特有的块隐写
4. 16进制的信息
• CTF图片隐写是指利用隐写术将秘密信息隐藏在普通图片中,通过肉眼无法直接观察到但通过特定的软件或者技术可以直接提取出隐藏的信息
• CTF图片隐写通常包括如何选择合适的隐写方法、如何设计隐写方案、如何实现隐写过程、如何提取隐藏信息等方面的内容
• CTF图片隐写可以帮助CTFer更好的提高在网络安全领域的技能和能力、更好的保护信息安全,提高网络防御能力
技术原理
• 隐藏信息:将需要隐藏的信息嵌入到一个图像中
• 提取信息:嵌入信息的图像中提取出隐藏的信息
• 常见方法:篡改图片宽高、通道隐写、最低有效位(LSB)、EXIF信息等
• 应用场景:数字水印、版权保护、数据安全等
准备内容
• 16进制编辑器:WinHex或010editor
• 文件分离:binwalk或foremost(KALILinux自带)
• 专用工具:StegSolve(通道隐写、LSB隐写)、cyberChef(解密工具)、tweakpng(对IDAT块进行操作)、PhotoShop(处理图片分层隐写)、Python
LSB隐写
由于人的肉眼无法十分准确地分辨出微小的RGB数值变化,所以可以利用图片的RGB最低位进行修改颜色来达到隐写,例如将像素点 RGB(123,251,125) 修改成 RGB(122,250,124) 那么肉眼很难观察出来,此时我们可以用截图工具或者取色工具来对像素点取色从而发现有不同的RGB数值的异常。
做题思路
1. PNG 16进制文件头:89 50 4E 47 16进制文件尾:49 45 4E 44 拿到PNG文件可以先用WinHex打开看看文件头和文件尾(不排除有两个PNG的可能,可以用foremost进行分离)
2. EXIF信息,拿到图片可以使用EXIF头分析在线网站查看EXIF信息来拿到flag (也可以用ExifGUITool)
3. 打开StegSolve导入图片先用左右键看看各个通道有没有什么异常(有可能在不同通道内有flag)
4. 在看不同通道的时候如果图片左上角有一些排列不规则的单像素黑白相间的像素点,那么就可以证明在对应位中是有认为处理的内容的
5. 点击StegSolve工具栏的 Analyse 选择 File Format Analyse 即可查看图片属性和信息(这里也可以看到合并之后的PNG内容)
6. Analyse 有 Extract Preview 一栏可以选择通道来拿到flag,不过要遵循步骤4的不同通道观察左上角图片的异常
7. PNG宽高修改,用WinHex打开找到00000016行对应的0-3是PNG的宽 4-7是PNG的高,注意!可以直接修改高度,如果修改宽度需要进行额外计算否则会导致图片无法打开(IDAT块的锅)
8. tweakpng打开图片可以看到CRC内容做校验用的,如果有异常会在打开时有报错,找到对应报错区域可以先尝试删除并保存(这个时候原本的图片可能会变样子)