安全路透社
当前位置:安全路透社 > 网络转载 > 正文

一个利用CVE-2017-11292的APT样本技术分析(一)

1.   引言

最近沸沸扬扬的黑色绿洲(BlackOasis) APT 利用了Adobe Flash 的漏洞CVE-2017-11292。最近,我们发现除了黑色绿洲 APT 外,还有另外一个APT 攻击也利用了CVE-2017-11292这个漏洞。

2.   样本分析

这个APT 样本是一个大小为14K左右的.doc 文件,文件名为”World War3.doc”,这文件名就吓死本宝宝了。双击运行的话,会发现Word 一闪而后退出,同时产生一个新的Word进程。

显示的内容如下。大意是关于朝鲜核武器的评论。

israbye FreeBuf.COM

浓浓的APT 攻击味道啊。

解压这个doc文件,发现有个activeX1.bin文件很可疑。

israbye FreeBuf.COM

喂到十六进制编辑工具里面瞅瞅,

israbye FreeBuf.COM

果然,是个doc文件!

把这个doc文件扫描一下,

发现里面嵌套了2个 3.8K大小的SWF文件, 事实上这两个SWF文件一模一样。估计这里攻击者犯了一个小错误,同一个文件嵌入了2次。

israbye FreeBuf.COM

把SWF文件喂到反编译工具里,

israbye FreeBuf.COM

代码非常简单,将binaryData里的数据解压缩,然后通过Loader.loadBytes() 加载。解压后数据如下图所示。

israbye FreeBuf.COM

哦,卖高得,头上3个字节是C1 3B 69 这是个神马文件格式。Loader.loadBytes()怎么能加载呢?

仔细看一下init代码,发现下面这3行,

israbye FreeBuf.COM

原来悟空你又调皮了,偷偷把SWF的文件头给替换了。把’CWS’文件头补回去。再次喂给反编译器,就可以看到第二层的真面目了。关键代码如下图

israbye FreeBuf.COM

israbye FreeBuf.COM

这段代码非常清晰:

首先去服务器“/p99uvs0.php”下载一个配置文件:配置文件内容如下:

k1=77wn6p1cl1k4&k2=3q1htxrk0ocm6uax&k3=131&k4=177

参数定义如下表:

k1 漏洞利用的 URL
k2 有效载荷(Payload)的URL
k3 漏洞利用模块解密的密钥
k4 有效载荷(Payload)的解密的密钥

获取到配置文件后,将从配置k2中指定的 URL去下载漏洞利用程序。这个漏洞利用程序是经过压缩和加密的。

解密算法较为简单,如下图所示

israbye FreeBuf.COM

写个python脚本,可以解密出 漏洞利用程序。

解密后的漏洞利用程序是个混淆过的SWF程序。小样的,你以为你加个花我就认不出你来了?

反混淆后再反编译,发现如下代码:

israbye FreeBuf.COM

这段代码,正是CVE-2017-11292的漏洞利用代码。在windbg中下断点,我们可以看到控制转移时发生的一幕。

israbye FreeBuf.COM

在地址5e1c699f 处,控制通过call edx指令转移到了shellcode,地址0c0b0008处。

仔细分析该处指令不难发现,这种攻击方法是Hacking Team 使用的破坏

MethodInfo._implGPR()  虚函数指针的方法。这个函数是进入JIT 生成代码的函数,这种攻击的方法好处是可以绕过CFG的保护(这个函数并没有被CFG保护)。

在 0c0b0008 处,即为shellcode的开始。Shellcode代码并不复杂:

1)      首先在内存中找到传入的解密后的的有效载荷。它是个PE文件,在shellcode的后面,可以通过搜索PE文件头的方式定位到。

2)     然后通过ZwAllocateVirtualMemory()分配一块内存

3)     在2)分配的内存中加载PE文件,并将控制转移到PE文件入口点。

在这个攻击中,有效载荷为一个137K左右的后门,具体功能将在后续篇章中继续分析。

3.   样本溯源分析

此APT 攻击应该发生在今年10月份左右。既然是APT 攻击,溯源分析必不可少。那么攻击者来自哪个组织呢。

无论从攻击手法,还是攻击中使用到的一些代码的细节,比如k1,k2,k3,k4的配置,还有解密方式,甚至是有效载荷,种种迹象都表明,这个攻击应该出自APT28 之手。此APT攻击和去年的一个APT28攻击手法极为相似。

在我们的分析中还发现,CVE-2017-11292这个漏洞利用程序,包含有很多冗余代码。为什么会出现这种情形呢?我们不妨大胆的假设,(这个漏洞利用在攻击时很有可能是 0 day), 这个攻击代码很有可能是从 0 day 军火商那里购买后集成进来的。

那么至于此次攻击究竟针对哪个国家呢? 想想APT28来自于哪个国家,而样本中doc文件中提到的内容,我想聪明的读者心里一定已经有了答案了。

*本文作者:兰云科技银河实验室,转载请注明FreeBuf.COM

未经允许不得转载:安全路透社 » 一个利用CVE-2017-11292的APT样本技术分析(一)

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册