返回 TI 主页

事件背景

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的代码如下:

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

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

WelcomeScrn.exe

Hash feea1d90e77dff5ff9f896122cf768f6
文件类型 PE可执行文件
文件大小 124Kb
文件名 WelcomeScrn.exe

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

DefenderReference.exe

Hash c43bab60cbf7922a35979e4f41f9aa9e
文件类型 PE可执行文件
文件大小 747Kb
文件名 DefenderReference.exe

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

  • %Local%\SharedFiles\Log
  • % 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

MSOBuild.exe

Hash c5f76015b2cb15f59070d2e5cfdd8f6e
文件类型 PE可执行文件
文件大小 147Kb
文件名 MSOBuild.exe

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

接着下载以下配置文件:

  • hxxp://185[.]109.144.102/DistBuild/getAllFiles.php(指明需要下载的组件)
  • http://185[.]109.144.102/DistBuild/getExecutables.php (指明要执行的组件)
  • http://185[.]109.144.102/DistBuild/getExtensions_doc.php (指明关心的文档类型文件后缀名)
  • http://185[.]109.144.102/DistBuild/ getExtensions_nondoc.php (指明关心的非文档文件类型)
  • http://185[.]109.144.102/DistBuild/getExtensions_rmdrive.php (指明要执行的组件)

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

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

文件名 备注
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

其中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
  1. 通信控制:

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

经过整理后的路径如下:

  • /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
  1. 检查VM、沙箱和调试

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

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

扩展与关联分析

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

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

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

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

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

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

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

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

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

从以上的分析和其他关联到的样本中,我们注意到一些有趣的事情:这些样本应该都是通过邮件附件的形式传递的,并且使用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:\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\DefenderReference.pdb
D:\EH_DEVELOPMENT_SVN\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\EsstnalUpdte.pdb
D:\EH_DEVELOPMENT_SVN\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\ProcNeo.pdb
E:\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\AdminNewDll.pdb
E:\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\AdminServerDll.pdb
E:\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\MSOBuild.pdb
C:\Users\Fire\Documents\Visual Studio 2015\Projects\newfiles sent\newfiles\obj\Release\Pro-Gaurd.pdb
E:\EHDevelopmentSolution3\EHDevelopmentSolution3\Release\WelcomeScrn.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
APT PAKISTAN