比赛的时候做了几道杂项的题目 总结一下里面的知识点
杂项题解题思路:
杂项题目主要可以分为四个方向:
1 文件操作与隐写
2 图片隐写
3 压缩文件处理
4 流量取证技术
1、文件操作与隐写
(1) 文件类型识别:
file命令:
适用于不知道后缀名,无法打开文件的情景,当文件没有后缀名或有后缀名而无法正常打开文件时根据识别出的文件类型,通过修改文件后缀名来打开文件。
winhex:
适用于windows下通过文件头信息判断文件类型,通过winhex程序查看文件头类型,根据文件头类型判断文件类型。
1.图片文件
JPEG (jpg/jpe/jpeg) 文件头:FFD8FF 文件尾:FF D9
PNG (png) 文件头:89504E47 文件尾:AE 42 60 82
GIF (gif) 文件头:47494638 文件尾:00 3B
TIFF (tif), 文件头:49492A00 文件尾:
Windows Bitmap (bmp), 文件头:424D 文件尾:
ico(ico) 文件头:00 00 01 00
Adobe Photoshop (psd), 文件头:38425053 文件尾:2.office文件
MS Word/Excel (xls.or.doc), 文件头:D0CF11E0
MS Access (mdb), 文件头:5374616E64617264204A
WordPerfect (wpd), 文件头:FF575043
Adobe Acrobat (pdf), 文件头:255044462D312E
application/vnd.visio(vsd) 文件头:d0cf11e0a1b11ae1
Email [thorough only] (eml), 文件头:44656C69766572792D646174653A
Outlook Express (dbx), 文件头:CFAD12FEC5FD746F
Outlook (pst), 文件头:2142444E
Rich Text Format (rtf), 文件头:7B5C727466txt 文件(txt) , 文件头:Unicode:feff / Unicode big endian:fffe / UTF-8:efbbbf /ANSI编码是没有文件头的
3.压缩包文件
ZIP Archive (zip), 文件头:504B0304 文件尾:50 4B
RAR Archive (rar), 文件头:52617221
4.音频文件
Wave (wav), 文件头:57415645
audio(Audio), 文件头: 4D546864,
audio/x-aac(aac) 文件头:fff1 / fff94.视频文件
AVI (avi), 文件头:41564920
Real Audio (ram), 文件头:2E7261FD
Real Media (rm), 文件头:2E524D46
MPEG (mpg), 文件头:000001BA
MPEG (mpg), 文件头:000001B3
Quicktime (mov), 文件头:6D6F6F76
Windows Media (asf), 文件头:3026B2758E66CF11
MIDI (mid), 文件头:4D5468645.代码文件
XML (xml), 文件头:3C3F786D6C 文件尾:
HTML (html), 文件头:68746D6C3EQuicken (qdf), 文件头:AC9EBD8F
Windows Password (pwl), 文件头:E38285966.其他类型
windows证书文件(der) 文件头:30 82 03 C9
CAD (dwg), 文件头:41433130 文件尾:
Windows Shortcut (lnk) 文件头:4C000000
Windows reg, (reg) 文件头:5245474544495434
其中图片文件 涉及比较多一点 (据我目前做的题来看)特别是pngPNG文件格式详解https://blog.csdn.net/suyimin2010/article/details/126042468?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170221337916800192221492%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170221337916800192221492&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-126042468-null-null.142^v96^pc_search_result_base8&utm_term=png%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187注:当用notepad++打开文件是乱码时,可使用它的插件,将其转成16进制,来确定文件类型
(2)文件分离操作:
1 使用010Editor打开图片
这里你也可以使用WinHex。
先查找pk关键词
这里发现它存在一个flag.txt文档,那我们就可以想到文件分离。
zip文件的结尾以一串504B0506开始,即图片中可能包含一个压缩包压缩的flag文件。
2.binwalk
Binwalk.是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离。如果分离成功会在目标文件的目录。同目录下生成-一个形如 文件名extracted的文件目录,目录中有分离后的文件。
并且如果分离出来的文件有压缩包 binwalk会自动帮你解压
分析文件:binwalk filename
分离文件:binwalk -e filename
记得写对文件的路径
3.foremost
如果binwalk.无法正确分离出文件,可以使用foremost,将目标文件复制到kali中,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录中会按文件类型分离出文件。
这里会自动生成一个解释的txt文件
4.dd
当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离。
格式:
dd if=源文件of=目标文件名名bs=1 skip= 开始分离的字节数
参数说明:
if=file#输入文件名,缺省为标准输入。
of=file#输出文件名,缺省为标准输出。
bs=bytes#同时设置读写块的大小为bytes,可代替ibs和obs。
skip=blocks #从输入文件开头跳过blocks个块后再开始复制。
这个还没有遇到过 等到遇到再具体解释
这个比较复杂 用于解疑难杂题
(3)文件合并操作
(1) Linux下的文件合并:
使用场景:Linux下,通常对文件名相似的文件进行批量合并。格式如下:
cat 文件1 文件2>输出文件
完整性检测:Linux下计算文件md5:
md5sum 文件名
(2) Windows下的文件合并:
使用场景:windows下,通常要对文件名相似的文件进行批量合并,格式为:
copy /B 合并的文件(文件1+文件2+...+文件n) 输出的文件命令
copy /B 合并的文件(文件1+文件2+...+文件n) 输出的文件命令
完整性检测:windows下计算md5,格式为:
certutil -hashfile 文件名 md5
(4)文件隐写
文件内容隐写,就是直接将Key以十六进制形式写入文件,一般是放在文件的开头或结尾,分析时,重点观察文件的开头和结尾部分。如果在文件中间部分,通常搜索关键字KEY或flag来查找隐藏内容。用于Windows下,搜索隐写的文件内容。
010Editor
将要识别的文件使用010工具进行打开,查找具有关键字或与内容不和谐的部分。通常有限观察文件首部和尾部,搜索key或者flag等关键字,最后拖动滚轮寻找。
Notepad++
使用Notepad++打开文件,查看文件头尾是否有含有关键字的字符串,搜索key或者flag等关键字,最后拖动滚轮寻找。另外通过安装插件HEX-Editor可以实现winhex的功能。
2 图片隐写
这个讲的挺好
CTF Misc(1)图片隐写基础以及原理,覆盖了大部分题型
可以借鉴一下