由于内容过多,分两篇展示
杂项题基本解题攻略:
内容:
1.文件操作与隐写
2.图片隐写术
3.压缩文件处理
4.流量取证技术
文件操作与隐写
file命令可识别文件类型
file filejpg
file filegpng
file filegzip
文件类型识别
在Window,文件内容为十六进制类型的,可以winhex判断
若不知道文件为什么类型,以010editor或者notepadqq编辑器打开,开头几个十六进制与相应的文件类型匹配即为相应的文件类型。
这张图片在010editor编辑器打开的
左边为十六进制看不懂,右边为ASCII码,看得懂的为可打印的,.为不可打印的
若将一个.txt文件在010editor编辑器里打开,打开后,点击上方的hex键,可以看到左边为十六进制,右边为ASCII码。
3.文件头残缺/错误
通常文件无法正常打开有两类情况:一为文件头部残缺,另一类为文件头部字段错误。针对文件头部残缺的情况,利用winhex程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换。
文件分离操作
可能一张图片由多个图片或者还有一些压缩包组合而成
binwalk -e filename分离文件到当前目录
2.foremost
若binwalk无法正确分离出文件,可以利用foremost,将目标文件复制到kali里,成功执行后,会在目标文件的文件目录下生成我们设置的目录,目录里会按文件类型分离出文件。
例如:foremost aaa.txt -o foremost_aaa
dd半自动分离,即手动分离
0~22895为jpg范围,2289523046为zip范围,0x596F0x5A06为zip的十六进制地址
0x596F在0x5960h这一行的F列,开头有504B0304文件类型
23046为块数
不建议采纳Winhex,因为010editor更简单
例如左边蓝色的为zip文件,点击Save Selection,保存出zip压缩包文件。
若文件内容为十六进制(假设为rar文件),在010editor->file->import hex导入十六进制文件,之后再导出以rar结尾的文件,即可打开文件。
文件合并操作
例如:合并多个gif文件,之后在010editor打开此文件。若010editor开头没有文件类型,自主添加(此例子为gif文件),然后点击文件播放(轮播子gif文件)。
文件内容隐写
一般搜索输入“key”或者“flag”
图片隐写术
firework类型:1.处理firework标志的图像;2.常见图片解析:图层分解,帧分解
Exif信息:在window里查看详细信息,在linux里有exiftool工具
此软件为最常用的图像分析工具,最常用于:1通道分离,2 LSB分离,3图像对比
若在stegsolve里,以一张图片打开另一张图片找不到区别,那么调换两者打开顺序,得到类同于二维码的彩色图片即可。(需安装)
1.Stegsolve.jar工具:
注意三基色的顺序,可能需要点击多次才能找到flag(注意:flag{}里面没有空格,所以空格去掉)
2.zsteg工具:
zsteg工具自动调换三基色顺序找出flag(需安装)
3.wbstego4工具:
此软件有点问题,打开后就退不出来了(不建议安装)
点击encode/decode后,需选支持的文件类型
例如:若以此软件.jpg图片解密,先在作图软件打开.jpg,导出为.bmp格式,再在此软件处理
但以zsteg工具都不需转换格式,直接在端:zsteg __.jpg可得到flag
python脚本:
5.TweakPNG:
此软件针对PNG图像
一张图片的十六进制内容开头为文件格式,文件长度,文件宽度,文件高度,CRC校验…
根据文件的头部,长度,宽度,高度来计算CRC校验值,再将校验值保存在开头部分
若文件格式,文件长度,文件宽度,文件高度,CRC校验有一个为错误的,都不能正常打开图片。
方法一:
若高度或者宽度有问题,TweakPNG也显示CRC错误。如:
方法二:跑python脚本
在倒数第三行的CRC值填写0xcbd6df8a
运行此python脚本,会显出高度和宽度的十六进制,再到010editor里修改出错的高度或者宽度。
6.Bftools:
此软件为一款可以将文字或者文件隐藏到图片的加解密工具
8.JPG图像加密
Stegdetect可安装在linux里
输入java Extract aaa.jpg -p aaa
运行结束后我们可以直接在目录下的output.txt里看到结果
3.若某个二维码的定位点之间为白色,可能被反色了,利用做图工具把颜色反色回来在扫描即可。
点击反色后,白色变成黑色,黑色变成白色(上面的图片为彩色的,只是拿来演示的)
扫描后可能发现为一段密文,再解密即可
后续还有CTF-MISC杂项题2