暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于ZIP的文件拼接反检测技术

启明星辰金睛安全研究团队 2020-08-03
483
zip文件的解析与常见文件格式有较大差别,具体流程为从文件末尾的End Locater处获取目录索引的偏移,再根据其中每个文件的目录索引获取被压缩后的数据。具体文件格式如下:

由于zip倒序解析的特点,我们可以尝试在前面插入一些其他的数据来去除文件格式的特征(常被用于判定文件类型的“PK\x03\x04”实际上是Local Header的特征)。
在修改目录表索引偏移以及其中各文件的偏移后,首先尝试插入一些冗余数据。

样本依然可以打开并解压获取其中的文件。由于此时文件头已不再具有zip格式的特征,因此初步的类型混淆已经成功。


接下来把冗余数据换成完整的其他类型文件,就可以对末尾的zip文件进行隐藏了。为了后续测试样本的反检测能力,这里选择了会被重点检测并且可执行的PE文件。值得一提的是,zip生成的自解压格式exe就是这种exe+zip的拼接结构,天生就可以同时作为exe运行或作为压缩包被打开。
另一方面,被隐藏的zip文件也可以更换成基于zip的其他文件类型,如ooxml格式的Office文档或jar包。相对于普通的zip压缩包,这些类型的文件更便于恶意代码的运行。
基于以上思路,使用exe和恶意Office文档拼接:

后缀为exe直接运行时为安全的正常软件DebugView:

而将后缀修改为docm时,可以作为文档运行。Office对文件头进行了检查,需要进行自动修复才能运行并触发宏的行为。


安全厂商的检测产品通常不会相信文件的后缀,而是通过检测文件内容自行判断文件的真实格式。在vt及多家国内外在线沙箱平台的检测中,都将该样本作为exe来进行检测。虽然部分厂家检测到文件结构异常,但是依然将样本按照exe来进行检测。此时DebugView会代替恶意文档进行沙箱动态检测,从而得出样本为安全的错误结论。

在真实的攻击场景,如钓鱼邮件附件中,可以将上述作为伪装的PE文件换成其他不被拦截且不会被重点针对的文件类型(如各种图片,其他压缩格式等),同时使用真实的文件后缀。用户按后缀打开被伪装的样本,可以正常实现钓鱼功能,而检测产品按照上述检测逻辑会错误的认为这是一个安全的文件,从而绕过检测。
文章转载自启明星辰金睛安全研究团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论