-
-
[原创]Garlic文件智能分析系统预告版
-
发表于:
2016-5-12 20:39
12609
-
www.asm64.asm/garlic demo版本 正式版本还需要一段时间。。
附加个图片
----------------------------上面为2016年12月14日更新
garlic软件文件分析系统是用来分析未知文件格式的一种利器。
没有信息安全就没有国家安全,而漏洞挖掘也号称信息安全领域的最高境界。
在漏洞挖掘领域,文件格式类的漏洞是影响最广,挖掘最难的一类漏洞。
而fuzzing测试为文件格式类漏洞挖掘方法主力军。fuzz测试的流程一般是研究文件公开的协议结构,
通过结构变异工具而去构造畸形文件。那么问题来了,如果文件结构是未知的我们该怎么办?
据了解,业内人员一般都通过逆向程序来了解未知结构的结构约束信息。这不但需要大量的时间,而且需要大量的人力。最重要的是该方法不能复用。也就是说当我们对A未知结构花费了数天甚至数个月才了解了他的结构信息后,除了可能挖掘A产品本身问题以外(或许你什么也挖掘不到),没有任何的收益。明天当您需要对B产品进行挖掘的时候,你还要重新来一遍。而未知文件结构那么多,您要逆到何时?
未知文件结构真的就让我们束手无策吗?真的没有一块软件来分析未知文件结构吗??
大家好,我是garlic,我生于2016年的4月1日。我今天6周了,也就是42天了。
牛刀小试,今天我来表演一下我是怎么识别未知结构的,就拿zip压缩包为例子吧。
假如我们现在要挖掘杀毒软件处理zip压缩包的安全问题。
在传统的漏洞研究中,如果你要挖掘程序处理zip压缩包的安全问题时候,必须对压缩包的文件结构学习后方可进行fuzz测试。如果该结构是公开的还好,如果是非公开的,那么我们只能去找IDA老大哥进行逆向分析了。而今天我的到来,就让IDA老大哥休息一下吧。
废话不多说,开始。
首先我们先构造10个文件,文件内容随便写,文件名字随机命名。如图1 图2:
然后我们用winrar 分别对这10个样本进行压缩,选择zip压缩格式。压缩方式是存储。把这10个压缩包分别命名为0.zip--9.zip,压缩后如图3 图4。
好了,这时候该我上场了。动态分析今天用不到,今天直说静态分析就好了。先点击读取样本,然后点击静态分析,大约等待1秒即可分析出结果。
如图5
下面就是我们的分析结果,以0.ZIP为例子输出。
告诉你一个秘密:[如果括号内为DWORD或者WORD类型,中括号表示该结构不会变化,而大括号表示该结构会根据样本而变化。其他的很容易理解,我就不班门弄斧啦。
50 4B 03 04 [0000000A] [0000]
[3 byte (FuzzNum)] 48
[Crc32(44,54)]{0000000A} {0000000A} {0000000E}
[FuzzBlock(30,54)]
50 4B 01 02 {001F} {0000000A} {0000} [3 byte (FuzzNum)] 48
[Crc32(44,54)]{0000000A} {0000000A} {000E} {00000024}
{00000000} {00000020} {00000000}
[FuzzBlock(100,114)]{000A} {00000020} {0000} {0001} {0018}
[3 byte (FuzzNum)] 7C
[3 byte (FuzzNum)] 01
[7 byte (FuzzNum)] 01
[7 byte (FuzzNum)] 01
50 4B 05 06 {00000000} {0001} {0001} {00000060} {00000036} {00000000}
图6是传统的文件结构分析方法,我有她漂亮吗?
哦,我的家在http://www.asm64.com/garlic/42day.html欢迎做客
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)