什么是文件分析
CTF竞赛中,参赛者可能会遇到一些加密或编码过的文件,需要识别出加密算法或解码方式,并还原文件内容。这些加密文件可以采用各种不同的加密算法和编码方式,包括对称加密算法、非对称加密算法、哈希函数等等(跟密码学相关联)
文件分析题目类型:文件格式分析、字符频率分析、加密算法特征分析
文件格式分析
该题目类型是通过分析文件的二进制格式或文件头、文件标签信息,推断出文件的类型和可能的加密方式,使用相关技术进行解密,寻找flag值。
加密算法特征分析
加密算法特征分析指的是文件加密和,各种加密算法都有其独特的特征和属性,通过分析加密文件的特征,可以推测出所使用的加密算法,以此得到隐藏的flag值。
字符频率分析
字符频率分析对于采用简单替换加密算法的加密文件,可以通过统计字符出现的频率分布,与常见的字符频率分布进行对比,从而猜测出加密算法,在CTF比赛中不太常见。
解题思路
参赛者需要分析加密文件的特征和属性,尝试识别所使用的加密算法或编码方式,针对加密文件进行分析,以获取隐藏在加密文件中的有用信息,从而解决相应的CTF竞赛问题。
文件头分析
做文件加密题时,先了解文件的特征和属性(二进制txt文档,压缩包)
第一题:flag
解压后发现了一个名为flag的txt文件,但是打开该文件需要密码,根据以上思路,我们考虑为真加密还是伪加密?
使用HXD工具,查看该文件的16进制显示部分
0800是文件结尾标识,pk的结尾(压缩方式)
压缩源文件目录区
50 4B 01 02 1F 00 14 00
05 08 全局方式位标记(有无加密,更改这里进行伪加密)在奇数时进行伪加密,偶数不加密,08为标准,位置可以不改,所以这道题需要将05改成偶数,将伪加密改为无加密
第二题:flag2
解压后后发现是二进制编码的文件
思路是将二进制转化为字符串
将转换的字符串复制到HXD工具中,将新建的文件保存成zip格式。打开压缩包发现了两个txt文件并且两个txt文件都需要密码
所以再次打开HXD工具,查看加密方式.发现文件为伪加密,将全局方式位标记处的奇数1改为偶数,修改完成后保存文件将两个txt文件组合在一起获得flag
第三题:合并p
解压文件打开后发现三个txt文件,打开需要密码,使用HXD工具将全部伪加密修改成无加密,发现txt文档中都有内容,将这些内容合并,合并之后找解码方式,在第3个文档的后面发现了两个=,所以猜测为base64,老师在视频中给到提醒是将base64转图片,利用base64转文件的工具得到flag。
第四题:over
解压后使用HXD工具打开文件夹里的over文件,发现文件头写着3ID,猜测文件标签为ID3,文件为MP3音频文件,文件头为49 44 33,所以我们将hxd中的over文件的文件头改成49 44 33,保存文件,文件扩展名改成mp3,音频文件中存在隐藏信息,打开卡利,使用binwalk工具观察MP3文件中是否包含其他文件?发现MP3文件中存在两个PNG文件
使用foremost工具,将隐藏文件提取出来,提取出来两个PNG图片,其中一张图片写着flag
但是为base64加密,解密之后得到flag
第五题:RIFF
解压后使用HXD工具,打开RIFF.zip文件,发现文件头写着RIFF,而RIFF是AV音频文件的文件标签,而文件尾却是压缩包形式(PK),所以我们需要二者不匹配,将文件头的52 49 46 46,改成zip形式的50 4B 03 04,
保存之后打开文件发现需要我们输入密码,在HXD中判断是否为伪加密,发现不是伪加密,因为没有可以修改的全局方式位标记,使用暴力破解工具,破解后得到密码为769553
,得到flag文件,用HXD文件打开,在文件尾部发现dumpcp
,判断可能与流量数据包有关,将flag文件的文件扩展名改成pcap,使用winshark工具的进行分析,找到了一个text文件
,追踪http流,查找到一处flag%7BWelc0me-FloGG%7D
,其中%7B可以转换为{,%7D可以转换为},所以最后的flag为flag{Welc0me-FloGG}