前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个利用CVE-2017-11292的APT样本技术分析(一)

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

作者头像
FB客服
发布2018-02-26 17:07:57
8690
发布2018-02-26 17:07:57
举报
文章被收录于专栏:FreeBufFreeBufFreeBuf

1. 引言

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

2. 样本分析

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

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

浓浓的APT 攻击味道啊。

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

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

果然,是个doc文件!

把这个doc文件扫描一下,

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

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

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

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

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

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

这段代码非常清晰:

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

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

参数定义如下表:

k1

漏洞利用的 URL

k2

有效载荷(Payload)的URL

k3

漏洞利用模块解密的密钥

k4

有效载荷(Payload)的解密的密钥

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

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

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

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

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

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

在地址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文件中提到的内容,我想聪明的读者心里一定已经有了答案了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引言
  • 2. 样本分析
  • 3. 样本溯源分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档