来自 应用 2022-05-17 00:50 的文章

cdn防御cc_ddos防火墙软件_打不死

cdn防御cc_ddos防火墙软件_打不死

突破flash混淆

在分析flash恶意软件时,您可以确定,迟早会出现一个样本,试图向任何想要查看引擎盖的人隐藏其目的。这是使他们产生怀疑和有趣分析的原因之一。今天,我将向你们展示一个像洋葱一样的样品——每次你们去掉一层保护层,你们都会发现另一层保护层。在我之前关于avast的帖子中!在我的博客中,cdn防御和ddos硬防,我写了一些flash模糊处理技巧,这些技巧用于隐藏ActionScript2代码的用途。这一次,我们将看到一个严重混淆但使用ActionScript3的示例。如果您不熟悉flash文件的结构,我强烈建议您阅读我之前的博客文章,快速了解格式概述。在ActionScript3中,情况与AS2完全不同,而且有点复杂。代码和所有元数据(如常量、类等)都存储在名为"DoABC"的标记中。这些标记的结构与java类文件非常相似:有一个常量池、方法列表、它们的代码等等。DoABC标记的格式非常精确,因此您无法像DoAction标记(在ActionScript2中使用)那样轻松隐藏内容。但是,这并不意味着这是不可能的。有许多模糊技术可以用来击败大量的反汇编程序,在本文中,我们将介绍其中的一些。

让我们看看我们的示例。快速分析表明它非常小,至少在它包含的标签数量方面:

因为我们现在唯一感兴趣的是AS3代码,让我们看看DoABC标签,不要浪费时间:

我们可以看到这对我们没有多大帮助。如上面方法[13]所示,它们的名称要么是空的,要么是一些疯狂的垃圾。这是文件被模糊化的第一个指示器。快速查看常量池中的字符串可以发现它实际上使用了"doswf"模糊器。我见过很多文件使用它,特别是flash游戏,所以在这一点上我有点失望,因为这看起来只是另一个游戏。然而,虚拟环境中的快速测试证明情况并非如此,因此我继续调查。现在的问题是:如果这不是一个flash游戏,它实际上做什么?为了回答这个问题,我需要反汇编代码。然而,当我使用通常的工具时,我最好的回答是:

那不好!那么这是什么原因呢?让我们看看下面关于其中一种方法的指令列表:

上面的错误告诉我们指令"newobject"导致堆栈下溢(因此它试图从堆栈中获取一些信息,但没有足够的数据)。在上面的代码中,ddos攻击类型防御,我们看到了有问题的指令。它有一个参数值0xB2EB9,看起来很奇怪。查看手册,我们了解到参数指定了新创建的对象应该具有的属性数量,并且这些属性是从堆栈中读取的。现在很清楚,这条指令是一个陷阱,永远无法正确执行。但是为什么flash文件可以正常工作呢?那是因为flash播放器永远不会得到这个指令!在坏指令之前有一条跳转指令,这使得flash播放器跳过坏指令,并在坏指令之后立即恢复执行。查看所有方法的代码,我们看到大量这样的陷阱,所以我们需要删除它们。通过简单地"nop"字节码的相关部分,我们删除了它们,现在反汇编工作得很好!一层保护层被移除,但我们仍然不知道样本的作用。不过,仍然有相当多的方法使用字节数组进行操作。在某个时刻,字节数组被加载并作为闪存文件执行——这强烈表明正在发生一些可疑的事情。但是这个字节数组是从哪里来的呢?回顾标记列表,我们看到一个名为DefineBinaryData的标记。与SymbolClass标记一起,可以在flash文件中保存任何字节数组,然后在DoABC代码中使用它。当然,我们离结束还有很长的路要走——DefineBits标签中的数据显然不像flash文件:

为了查看标签中存储的内容,专业防御ddos,我们首先需要对其进行解密。当然,DoABC代码也需要这样做。由于我们已经解读了DoABC代码,找到解密方法只需几秒钟。啊哈,在这里!

查看代码后,很明显,它首先从字节数组的开头读取一些元数据,然后使用"xor"对数据进行加密。好吧,我们也这么做吧!结果数据块的前几个字节在这里:

我相信你们大多数人都能识别出上面的数据:它是用zlib压缩的。解压缩后,我希望看到一个flash文件,但我得到了一个惊喜。我得到的不是一个闪存文件,而是另一个特殊的字节数组。这一次,其目的是明确的。除了一些元数据,它还嵌入了三个工作的flash文件!

三个文件中最有趣的是第二个,cc攻击如何防御,因为它是恶意软件的核心。同样,这是一个只有几个标记的小flash文件,其中一个是DoABC标记。但这一次,flash文件的用途更容易看到。如果我们查看常量池中的字符串,我们的工具会立即识别可疑内容:

第一个突出显示的字符串是众所周知的漏洞触发,最后一个是漏洞触发时运行的实际外壳代码。当然,这并不是很简单,这两个字符串都被分解成几个部分,需要首先链接在一起并转换成字节数组,但你明白了重点。Avast将此恶意闪存文件检测为SWF:Dropper,有效负载检测为SWF:Agent-L,因此您无需担心。但这个案例表明flash模糊器在恶意软件领域越来越流行,我们需要为此做好准备。正如您刚才所看到的,高防打不死cdn推荐,在flash中隐藏一些东西在几层加密下其实并不难。

对于那些感兴趣的人来说,这里是VirusTotal链接,显示了撰写本文时的检测率:?id=8199461e5e9e32bb7b7c8d31f31b7ccb5c53a3c96091266a16086d41f404bfb3-1315476957