0x1 概况 海莲花(OceanLotus)也叫APT32或APT-C-00,是一个长期针对中国及其他东亚国家(地区)政府、科研机构、海运企业等领域进行攻击的APT组织。近日腾讯御见威胁情报中心捕获到了一个该组织的最新攻击样本。在本次攻击事件中,该组织使用了CVE-2017-11882漏洞并结合白签名利用程序来最大化隐藏自己的后门木马。后门木马将常驻用户电脑,并根据云控指令伺机窃取机密信息或进行第二阶段攻击。 图1 (攻击流程图) 0x2 载荷投递本次攻击时使用了CVE-2017-11882漏洞文档,诱饵文档文件名为《Document_GPI Invitation-UNSOOC China.doc》,内容为一模糊的图片。 图2 (诱饵文档) 漏洞触发后,公式编辑器进程会在“C:\Program Files\Microsoft-Windows-DiskDiagnosticResolver_2021325962”目录下释放MicrosoftWindowsDiskDiagnosticResolver.exe、OUTLFLTR.DAT、rastls.dll 3个文件。其中MicrosoftWindowsDiskDiagnosticResolver.exe有有效签名,原始名为dot1xtra.exe,这是典型的白加黑利用技术,带有效签名的exe运行后会自动加载木马文件rastls.dll。 图3 (签名信息) 图4 (文件详细信息) 0x3 RAT分析1.rastls.dll 行为分析该组织在本次攻击中使用的关键模块文件都加入了大量混淆,混淆代码如下所示。此dll会在DLLMain函数中加载OUTLFLTR.DAT,进行解密后得到一段shellcode。接着会将宿主exe即MicrosoftWindowsDiskDiagnosticResolver.exe 0x401000(默认基址为0x400000)开始的一大片代码修改为无实际作用的指令,宿主exe oep位置的指令也被修改了。当宿主exe从OEP位置开始执行时,就会跳转到木马的shellcode部分。
图5 (混淆代码) 图6 (宿主exe 0x401000处被修改后的指令) 图7 (宿主exe 被修改后OEP附近的代码) 图8 (rastls.dll 跳转到shellcode执行) OUTLFLTR.DAT中的shellcode被执行后,会自加载shellcode中存储的一个名为{92BA1818-0119-4F79-874E-E3BF79C355B8}.dll。接着执行此dll的导出函数DllEntry。
图9 (dll内部名称及导出函数) {92BA1818-0119-4F79-874E-E3BF79C355B8}.dll 又会从资源中解密出木马功能文件{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll,并自加载此dll,执行此dll的导出函数DllEntry。 图10 (木马功能文件导出函数及内部文件名) 2. {A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll 行为分析该dll执行后,会解密资源得到木马的c2等配置信息及3个通信相关的dll,名称分别为HttpProv.dll、DnsProvider.dll、HttpProv.dll。每个通信dll都导出一个"CreateInstance"函数。
图11 (加载资源) 图12 (解密资源) 图13 (解密资源的函数代码片断)
图14 (资源解密后的明文内容) 将解密后的资源进行分析后得到资源中各字段的值及部分含义 | | | | | Unicode字符串,注册表键值“SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\Application” | | Unicode字符串,注册表键值“SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\DefaultIcon”,存储发包时用的guid | | | | “ghi” 此值与计算机用户名进行运算后得到互斥体名称 | | | | | | | | 0x54400字节的pe文件,名称为HttpProv.dll | | 0x35c00字节的pe文件,名称为DnsProvider.dll | | 0x073a00字节的pe文件,名称也为HttpProv.dll | | 4字节,值为0x88a36523,可以理解为版本号 | | | | | | 8字节,Hex值为”2B CA 18 AF D7 11 EA 59”,发包时会带上此值 | | 8字节,Hex值为“80 A9 03 00 30 75 00 00”,根据此值Sleep一定时间后再执行木马功能 |
图15 (通信dll导出函数) 接着此dll会根据资源中的配置信息Sleep一定的时间后再开始后续的操作。后续会再利用自加载的方式将3个通信相关的dll全部加载起来。自加载时用到的函数主要有VirtualAlloc、 RtlMoveMemory。木马还会创建名为“Microsoft-Windows-DiskDiagnosticResolver“的任务计划,达到常驻的目的。 图16 (根据资源中的配置的信息,sleep一段时间) 图17 (自加载时分配内存) 图18 (自加载时填充内存) 木马会根据资源中的c2,使用DGA(域名生成算法)生成通信时的域名信息,木马上线时会将用户名、计算机名、操作系统等信息加密后上报给c2。 图19 (DGA得到的通信域名) 图20 (上线时的第一个明文包) 木马上线后,根据服务器下发的指令执行相应的功能,主要功能有: l 文件操作,比如创建文件或目录、删除文件或目录、查找文件 l 注册表读写 l 远程执行代码,比如创建进程、执行dll等 l 设置环境变量 0x4 溯源从该RAT通信的C&C地址154.16.138.89在腾讯御见威胁情报中心平台进行反查,得到下列结果: 图21 随便选一个域名orinneamoure.com继续反查: 图22 可以发现,该域名被腾讯御见威胁情报平台为标注为海莲花。而该域名也在之前友商对海莲花的报告中披露过。此外,该攻击使用的技术、网络通信协议等和以往的海莲花的攻击样本进行比对也完全一致。因而我们可以确认,该次攻击属于海莲花APT团队所为。 0x5 总结从上文的分析可以看出该组织在漏洞利用、白加黑利用技术、代码混淆等方面都有着很深的技术积累。后门木马不落地直接内存执行、签名程序白利用、shellcode隐藏可执行文件、多变的网络通信等技术手段大大增加了杀软的查杀难度。因此,我们提醒政府、企业等广大用户,切勿随意打开来历不明的文档,同时安装安全软件。 目前,腾讯御界高级威胁检测系统已经可以检测该轮攻击的连接行为。御界高级威胁检测系统,是基于腾讯反病毒实验室的安全能力、依托腾讯在云和端的海量数据,研发出的独特威胁情报和恶意检测模型系统。 凭借基于行为的防护和智能模型两大核心能力,御界高级威胁检测系统可高效检测未知威胁,并通过对企业内外网边界处网络流量的分析,感知漏洞的利用和攻击。通过部署御界高级威胁检测系统,及时感知恶意流量,检测钓鱼网址和远控服务器地址在企业网络中的访问情况,保护企业网络安全。 图23 0x6 附录(IOCs):Hash: 02AE075DA4FB2A6D38CE06F8F40E397E (Document_GPI Invitation-UNSOOC China.doc) D7C172D4A88573B7E373F2B666C011AC(GPI Invitation-UNSOOC China.doc) 72A5AD375401F33A5079CAEE18884C9D ({92BA1818-0119-4F79-874E-E3BF79C355B8}.dll) 79D06DD20768FD8CD4A043833C1F2D4B ({A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll)\ EC505565E4CB5A22BFD3F63E4AD83FF3(HttpProv.dll) 2559738D1BD4A999126F900C7357B759(HttpProv.dll) 2DFAEDD9265642E430E6635F210FABB4(DnsProvider.dll) F775CC387A55831386E44DD00EF9723E(rastls.dll) B10F93CDBCDF43D4C5C5770872E239F4(OUTLFLTR.DAT) C&C: andreagahuvrauvin.com byronorenstein.com straliaenollma.xyz dieordaunt.com
christienoll.xyz
illagedrivestralia.xyz
154.16.99.85
154.16.47.41
154.16.138.89 注册表: “SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\DefaultIcon” “SOFTWARE\App\AppXbf13d4ea2945444d8b13e2121cb6b663\Application”
|