导语:2017年6月, 360威胁情报中心发现了一份可疑的利用漏洞执行恶意代码的Word文档,经过分析后,我们发现这有可能是一起针对巴基斯坦的政府官员的APT攻击事件,释放出来的载荷会收集受害者的键盘记录和重要软件密码、文档等。本文档对并对此

事件背景

2017年6月,360威胁情报中心发现了一份可疑的利用漏洞执行恶意代码的Word文档,经过分析后,我们发现这有可能是一起针对巴基斯坦的政府官员的APT攻击事件,释放出来的载荷会收集受害者的键盘记录和重要软件密码、文档等。本文档对并对此次攻击事件的攻击链条进行梳理,并对使用的木马相关技术进行分析。

样本分析

Dropper

Hash

4f4cc89905bea999642a40d0590bdfa3

文件类型

Word文档

文件大小

66Kb

文件名

peace-along-the-border-is-not-a-one-process-says-Lt-gen-ds-hooda.doc

该文档所利用的漏洞为CVE-2015-2545(关于该漏洞的分析已经有不少详细分析的资料,这里就不再赘述),当受害者点开该文档时,会加载EPS文件从而触发漏洞,这里攻击者使用的漏洞利用代码是已经在野外流传很久的成熟利用,这套利用的特点是通过shellcode注入explorer进程下载木马文件,但shellcode后附加一个DLL文件以利用CVE-2015-2546权限提升漏洞得到系统最高权限。

注入explorer.exe的代码如下:

image.png

explorer.exe中下载载荷的代码如下:可以看到下载地址为hxxp://tes[.]sessions4life[.]pw/quiz/WelcomeScrn.exe

image.png

CVE-2015-2546权限提升DLL部分代码:

image.png 

 

WelcomeScrn.exe

Hash

feea1d90e77dff5ff9f896122cf768f6

文件类型

PE可执行文件

文件大小

124Kb

文件名

WelcomeScrn.exe

 

这是个downloader,功能非常简单,直接连接到内置网址hxxp://185[.]109[.]144[.]102/DistBuild/DefenderReference.exe ,下载并执行文件。

image.png

DefenderReference.exe

Hash

c43bab60cbf7922a35979e4f41f9aa9e

文件类型

PE可执行文件

文件大小

747Kb

文件名

DefenderReference.exe

DefenderReference.exe通过HTTP协议与服务器通信的窃密木马,被执行起来后,会先完成一些初始化的工作,释放并加载WER167893459067.dll后创建以下目录:

%Local%SharedFilesLog
%Local% SharedFiles Sys
%Local% SharedFiles Temp
%Local% SharedFiles WinAero
%Local% SharedFiles WinDataShots
%Local% SharedFiles WinInternetData
%Local% SharedFiles WinLog
%Local% SharedFiles WinRM

然后终止cmd.exe、PATHPING.EXE、TRACERT.EXE、net.exe、systeminfo.exe进程,并判断自身进程启动路径是否为% Local % SharedFiles Sys,如果不是,则将自身拷贝到% Local % SharedFiles Sys DefenderReference.exe,释放MSOBuild.exe、AdminNewDll.dll、AdminServerDll.dll等文件,最后启动MSOBuild.exe

image.png

image.png

MSOBuild.exe

Hash

c5f76015b2cb15f59070d2e5cfdd8f6e

文件类型

PE可执行文件

文件大小

147Kb

文件名

MSOBuild.exe

这个文件其实还是个downloader,在初始化和检查执行环境(虚拟机、沙箱、调试)后,访问hxxp://docs.google.com/uc?id=0Bx9cf6a5Mapaa3g4MlI4T244SlU&export=download,获取C&C的地址185.109.144.102

接着下载以下配置文件:

hxxp://185[.]109.144.102/DistBuild/getAllFiles.php(指明需要下载的组件)

hxxp://185[.]109.144.102/DistBuild/getExecutables.php (指明要执行的组件)

hxxp://185[.]109.144.102/DistBuild/getExtensions_doc.php (指明关心的文档类型文件后缀名)

hxxp://185[.]109.144.102/DistBuild/ getExtensions_nondoc.php (指明关心的非文档文件类型)

hxxp://185[.]109.144.102/DistBuild/getExtensions_rmdrive.php (指明要执行的组件)

image.png

接着下载配置文件中指定的组件,再一一启动这些组件:

image.png

下表是木马的各个组件信息:

文件名

备注

DefenderReference.exe

Dropper

MSOBuild.exe

通过调用AdminServerDll.dll下载其他组件

AdminServerDll.dll

功能模块,每个导出函数对应一种功能

AdminNewDll.dll

检测到虚拟机沙箱时加载的无效dll 

PackageMSOffce.exe

上传文档类型文件

PlayMedia.exe

上传非文档类型文件

TimeSyncApp.exe

发送受害者信息,等待指令

FoldrOpt.exe

设置启动项、检查环境、收集计算机信息

OptimisedDisply.exe

屏幕截图、上传截图

LangEngUTF16.exe

上传键盘记录

LangEngUTF8.exe

键盘记录

InstntAccelx.exe

检测U盘,自拷贝进行传播

InstntAccelx.exe

检测U盘,上传U盘内的文件

经过以上分析,我们发现这个木马家族有以下功能:上传/下载文件、执行指定文件、键盘记录、屏幕截图、感染U盘、发送感染电脑位置信息等,窃取的文件列表如下:

.doc
.docx
.ppt
.pps
.pptx
.ppsx
.xls
.xlsx
.pdf
.inp
.vcf
.txt
.jpg
.jpeg
.bmp
.gif
.png
.avi
.wmv
.mp4
.mpg
.mpeg
.3gp
.mp3
.wav

并且该木马可以通过在线获取新插件的形式迅速方便地扩展更多的功能。木马的代码清晰、结构严谨,受控端通过HTTP请求与控制服务器通信,访问不同的php页面代表执行不同的功能,可能是高度定制的专用木马,或者是专门出售的商业间谍木马。

下面介绍该木马比较有特色的地方:

1. 不同的组件都通过调用同一个AdminServerDll.dll来完成具体功能,高度模块化。例如MSOBuild.exe和DefenderReference.exe中,分别获取AdminServerDll.dll的不同导出函数,然后调用这些导出函数,程序里只有基本的逻辑而没有具体的功能实现,下面左边是MSOBuild.exe,右边是DefenderReference.exe

image.png

image.png

其中AdminServerDll.dll是主要的功能模块,其每一个导出函数对应一个功能,可以从导出函数名知道其功能,如下:

导出函数

备注

EHCheckDownloadedFilesInDownloadFolderAreCompleteForModuleFile

检查组件是否完整

EHCheckFolderRecursive

遍历文件目录

EHCopyDirectory

拷贝目录

EHCountFilesInFolder

遍历目录下面文件数

EHCreateCompleteDirectoryStructure

创建前面提到的Log、Sys等全部目录

EHCreateDirectoryStructureFolderPath

创建前面提到的Log、Sys中的指定目录

EHCreateFileListForFolder

获取目录文件列表

EHCreateFolderHerarchyOnServer

在服务端创建对应主机的目录

EHCreateFolderHerarchyOnServerNeo

在服务端创建对应主机的目录

EHCreateFolderOnServerWithName

EHCreateFolderOnServerWithNameNeo

EHDeleteDirectory

EHDeleteFilesInFolder

EHDeleteListerUploaderFileOnServer

EHDownLoadListerUploaderFileFromServer

EHDownloadClientMachineGeoLocation

EHDownloadDownloadFilesInDownloadFolderForModuleFile

下载新模块

EHExecuteDwonloadFilesInDownloadFolderForModuleFile

EHExecuteFile

执行指定文件

EHExecuteFile_Parameters_With_Wait_To_Close

EHExtractBinResource

EHExtractBufferFromFile

读取指定文件的内容

EHGetAeroModuleExeState

EHGetDirectoryStructureFolderPath

EHGetFileNameFromFilePath

EHGetFilePathFromFilePath

EHGetLastWriteTime

EHGetListerUploaderExeState

EHGetListerUploaderStateFromServer

EHGetModuleFilePath

EHGetOnlineModuleFile

EHGetThisFinalRealeaseORNot

EHGetWinExePath

EHIsAeroFilesNeededServerState

EHIsDots

EHIsInternetDataFilesNeededSeverState

EHMyFileSeek

EHPathFileExists

EHPerformMainAllFunctionsOfApplication

EHPerformOnLineModuleFunctions

EHPutLogMessage

EHScreenShotGrabberCreateAndGetNewScrnShotFolderNeo

上传屏幕截图

EHScreenShotGrabberGetConfigDataNeo

EHSetAeroFilesServerStateFalse

EHSetAeroModuleExeState

EHSetInternetDataFilesServerStateFalse

EHSetListerUploaderExeState

EHSetLogFilePath

EHSetValueForEHApplicationServer

EHSetValueForEHApplicationServerNeo

EHTerminateThisProcess

EHUploadFileKeyLogArchiveNeo

上传键盘记录

EHUploadFileMainUpload

上传文件

EHUploadFileRemoveableDrive

EHUploadFolderRecursive

EHUploadFolderRecursiveNeo

2. 通信控制:

受控端通过HTTP请求与控制服务器通信,通过访问不同的php页面与控制端交互:

image.png

image.png

经过整理后的路径如下:

/EHGetScrnShotConfig.php

/getAllFiles.php

/getExecutables.php

/getExtensions_doc.php

/getExtensions_nondoc.php

/getExtensions_rmdrive.php

/EHCreateUploadFolder.php

/EHOnlineModuleOperations.php

/EHListerFunction.php

/EHAeroFunction.php

/EHAeroFunctionFalse.php

/EHDeleteListerFile.php

/EHFolderWithName.php

/EHDelFolderWithName.php

/EHInternetDataFiles.php

/EHInternetDataFilesFalse.php

/EHCreateAndGetScrnShotFolder.php

/EHMainUpload.php

/EHMergeAndMoveMainUpload.php

/EHRemoveableDriveUpload.php

/EHMergeAndMoveRemoveableDrive.php

/EHFileFolderUpload.php

/EHMergeAndMoveFileFolder.php

/EHUploadKeylogArchive.php

/DO_NOT_NEED_A_URI

 

3. 检查VM、沙箱和调试

通过特权指令检查Virtual PC和VMWare:

 image.png

image.png

通过dll来识别Sandboxie和是否调试:

 image.png

扩展与关联分析

使用360威胁情报中心的威胁情报平台(http://ti.360.com)对样本连接的C&C地址(185.109.144.102)做进一步关联,我们发现了更多的信息。

image.png 

其中有几个样本引起了我们的注意:

1. MD5:a6c7d68c6593b9dd2e9b42f08942a8b0,文件名:isi_report_of_2016.rar

这个样本是一个邮件附件,解压后为Name of Facilitators revealed.scr,这个其实是一个sfx自解压文件,点击后会将explorerss.pub改名为explorerss.exe,注册启动项并执行,然后打开Pakistan army officers cover blown.pdf迷惑受害人。

 

image.png

image.png

 

而explorerss.exe是由python打包成exe的,功能是窃取指定文件内容并上传到hxxps:// 185[.]109[.]144[.]102/browse.php?folder=%s&%s中。将其中的python代码还原后,部分代码如下:

image.png

2. MD5:872e7043ee8490db6e455942642c2c86 文件名:Current vacancies.doc

这个样本利用CVE-2012-0158释放一个downloader,downloader会下载执行hxxp://185[.]109[.]144[.]102/DistBuild/DefenderReference.exe,之后的流程就和前面分析的一样,就不再多说了,值得注意的是文档的内容。显示为联合国招聘文件,这明显是对安全相关人员投递的邮件,有明显的政治动机:

image.png

3. MD5: 1b41454bc0ff4ee428c0b49e614ef56c文件名:Ramadan Mubaraq.rtf

这个样本所利用的漏洞为CVE-2017-0199,olelink的地址为hxxp://138[.]197[.]129[.]94/logo.doc

image.png

从以上的分析和其他关联到的样本中,我们注意到一些有趣的事情:这些样本应该都是通过邮件附件的形式传递的,并且使用office Nday漏洞或者社工手段引诱目标点开;从文件名、文档内容来看,都是对政治领域的相关人员进行的钓鱼邮件投递。综合多个样本的来源信息,这很有可能是一起针对巴基斯坦政府人员的定向攻击事件。 

IOC

文件名

Current vacancies.doc 

peace-along-the-border-is-not-a-one-process-says-Lt-gen-ds-hooda.doc

Name of Facilitators revealed.scr

isi_report_of_2016.rar

Pakistan army officers cover blown.pdf

Ramadan Mubaraq.rtf

MD5

154ee0c3bb8250cae00d5ed0e6f894b4

4f4cc89905bea999642a40d0590bdfa3

6d7ef5c67604d62e63aa06c4a7832dac

842e125beca97c185b33235e54e77d3a

9cddfd8fa9dc98149e63f08f02a179cf

c2be017b2fb3ad6f0f1c05ef10573b90

c43bab60cbf7922a35979e4f41f9aa9e

c5f76015b2cb15f59070d2e5cfdd8f6e

cbd2340e37b2ae9fc85908affbb786a7

d0dd1c70581606aa2a4926c5df4a32ee

1b41454bc0ff4ee428c0b49e614ef56c

PDB

E:EHDevelopmentSolution3EHDevelopmentSolution3ReleaseDefenderReference.pdb

D:EH_DEVELOPMENT_SVNEHDevelopmentSolution3EHDevelopmentSolution3ReleaseEsstnalUpdte.pdb

D:EH_DEVELOPMENT_SVNEHDevelopmentSolution3EHDevelopmentSolution3ReleaseProcNeo.pdb

E:EHDevelopmentSolution3EHDevelopmentSolution3ReleaseAdminNewDll.pdb

E:EHDevelopmentSolution3EHDevelopmentSolution3ReleaseAdminServerDll.pdb

E:EHDevelopmentSolution3EHDevelopmentSolution3ReleaseMSOBuild.pdb

C:UsersFireDocumentsVisual Studio 2015Projectsnewfiles sentnewfilesobjReleasePro-Gaurd.pdb

E:EHDevelopmentSolution3EHDevelopmentSolution3ReleaseWelcomeScrn.pdb

C&C

185.109.144.102:80

hxxp://185[.]109[.]144[.]102/DistBuild/DefenderReference.exe

hxxp://185[.]109[.]144[.]102/DO_NOT_NEED_A_URI

185.109.144.102:443

Tcp

tes.sessions4life.pw

hxxp://tes[.]sessions4life[.]pw/quiz/WelcomeScrn.exe

138.197.129.94:80

hxxp://138[.]197[.]129[.]94/logo.doc

Mutex

EHWinHTTPWebServiceCall_MUTEX

EHGetListerUploaderExeStateNeo_MUTEX

 

源链接

Hacking more

...