CTF之misc
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
文件尾:
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编码是没有文件头的
3、压缩包文件
ZIP Archive (zip) 注意:常常考这个 文件头:50 4B 03 04
文件尾:50 4B
RAR Archive (rar) 文件头:52 61 72 21
4、音频文件
Wave (wav)
文件头:57 41 56 45
audio(Audio) 文件头: 4D 54 68 64
audio/x-aac(aac)
文件头:FF F1(9)
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 643
6、代码文件
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
7、其他类型
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
隐写
用到的工具
winhex(16进制编辑软件) 下载链接:https://www.aliyundrive.com/s/QmcRgEtSxir
010editior(同上) 下载链接:https://www.aliyundrive.com/s/8EWk1LDo9Mi
binwalk (在kali Linux中好像是自带的,用于文件提取)
Ziperello(zip压缩包密码破解软件) 下载链接:https://www.aliyundrive.com/s/ciHnx27Gc8K
zsteg(可以检测PNG和BMP图片里的隐写数据) 下载方法如下:
git clone https://github.com/zed-0xff/zsteg cd zsteg/ gem install zsteg
stegsolve(需要安装java环境变量,用于隐写图片的查看) 下载链接:https://www.aliyundrive.com/s/ZHcU6GbuqYQ
PS
......
类型
1、附加式的图片隐写
操作系统识别,从文件头标志,到文件的结束标志位 当系统识别到图片的结束标志位后,默认是不再继续识别的 所以可以在文件尾后面加东西
(1)附加字符串
最简单的是附加字符串
附加方法
winhex直接附加再保存 copy /b a.jpg+b.txt c.jpg,在a图片里加b的内容,得到c图片
识别方法
winhex直接看 notepad也可以看 linux的strings指令
应用
制作图片马,即把木马放到图片的最后
(2)隐藏压缩文件
可以把压缩文件藏在图片文件尾后 看起来还是图片
附加方法
winhex直接附加再保存
识别方法
有些直接改扩展名就可以用 linux的binwalk指令 stegsolve分离 winhex复制压缩文件内容重新保存
2、基于文件结构的图片隐写
主要是针对PNG图片
标准的PNG文件结构应包括:
-
PNG文件标志
-
PNG数据块:关键数据块和辅助数据块,其中正常的关键数据块有长度、数据块类型码、数据块数据和CRC这4种
3、LSB隐写
LSB,最低有效位,英文是Least Significant Bit
-
容量大、嵌入速度快、对载体图像质量影响小
-
在PNG和BMP上可以实现
原理
-
图片中的像素一般是由三种颜色组成,即三原色(红绿蓝),由这三种原色可以组成其他各种颜色
-
在png图片的存储中,每个颜色占有8bit,即有256种颜色,一共包含256的三次方颜色,即16777216种颜色
-
人类的眼睛可以区分约1,000万种不同的颜色,剩下无法区分的颜色就有6777216
-
LSB隐写就是修改了像素中的最低位,把一些信息隐藏起来
识别方法:
-
stegsolve,调通道
-