总结海莲花最新活动,新技术和新诱饵

释放双眼,带上耳机,听听看~!

一名渴望被转发的UP主路过

本文将首先描述APT组织海莲花最近如何使用CVE-2017-11882进行利用,以及海莲花组织的恶意软件,通过什么方式在没有留下任何痕迹的情况下实现对入侵系统的维持访问。

最后,本文描述了自2019年初以来,该组如何利用自解压存档来运行代码。


正文


新诱饵


由于都比较关心新诱饵,因此先放出来


  • The New Contact Information Of Cambodia Media(New).xls.exe

    翻译:柬埔寨媒体的新联系信息(新)

  • 李建香 (个人简历).exe (fake pdf document of a CV)

  • feedback, Rally in USA from July 28-29, 2018.exe

        翻译:反馈,美国拉力赛于2018年7月28日至29日举行

尽管海莲花使用假时间戳,但已观察到SFX和OCX文件的时间戳始终相同

(0x57B0C36A(08/14/2016 @ 7:15 pm UTC)和0x498BE80F(02/06/2009 @ 7:34 am (UTC))。

这可能意味着他们有某种“生成器,它重用相同的模板,只是改变了一些特征。


自从发现{A96B020F-0000-466F-A96D-A91BBF8EAC96} .dll后门及其多名研究人员的公开分析以来,我们观察到恶意软件配置数据的一些变化。
首先,作者开始从帮助程序DLL(DNSprov.dll和两个版本的HttpProv.dll)中删除名称。
然后操作员停止打包第三个DLL(第二个版本的HttpProv.dll),选择只嵌入一个。


其次,许多后门配置字段已被更改,可能是为了避免检测,因为许多IoC已经可用。
改变的重要领域如下:

  • “AppX”注册表项已更改(请参阅IoC)

  • 互斥编码字符串(“def”,“abc”,“ghi”)

  • 端口号


IOC均在文末,原文链接也在文末,敬请查阅。


自解压文档

海莲花开始使用自解压(SFX)存档,该存档使用通用文档图标以试图进一步误导其受害者。

Threatbook(中文)对此进行了简要记录

(https://x.threatbook.cn/nodev4/vb4/article?threatInfoID=785)。

运行时,这些自解压RAR文件将丢弃并执行DLL文件(扩展名为.ocx),最终有效负载为先前记录的{A96B020F-0000-466F-A96D-A91BBF8EAC96}。dll。自2019年1月中旬以来,OceanLotus开始重复使用该技术,但随着时间的推移改变了一些配置。本节将介绍该技术以及它们为实现目标而改变的内容。


诱饵如下

THICH-THONG-LAC-HANH-THAP-THIEN-VIET-NAM(1).EXE

(意为“ 越南人的最佳关系”,SHA-1:AC10F5B1D5ECAB22B7B418D6E98FA18E32BBDEAB)

于2018年首次出现。该SFX文件巧妙地制作,因为描述(版本信息)声明它是“JPEG图像”。SFX的脚本如下:

恶意软件drop  {9ec60ada-a200-4159-b310-8071892ed0c3} .ocx

(SHA-1:EFAC23B0E6395B1178BCF7086F72344B24C04DCC)以及图像2018 thich thong lac.jpg。

诱饵如下

您可能已经注意到SFX脚本中的前两行调用了两次OCX文件,但这不是一个错误……

{9ec60ada-a200-4159-b310-8071892ed0c3} .ocx(ShLd.dll)

OCX文件的控制流程与其他OceanLotus组件非常相似:有许多JZ / JNZ和PUSH / RET指令序列与垃圾代码交错。

过滤垃圾代码后,regsvr32.exe调用的导出DllRegisterServer如下所示:


基本上,第一次调用DllRegisterServer时,它会将注册表值

HKCU\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model

设置为DLL中的编码偏移量(0x10001DE0)。
第二次调用该函数时,它会读取此相同的值并在该地址处执行该函数。从那里,读取并执行资源并执行许多内存中操作。

shellcode与早期OceanLotus广告系列中使用的PE加载程序相同。

可使用下面这个脚本进行模拟

https://github.com/eset/malware-research/tree/master/oceanlotus/shellcode_emulator

最终,它会释放db293b825dcc419ba7dc2c49fa2757ee.dll,将其加载到内存中并执行DllEntry。

DLL检索其资源的内容,解密(AES-256-CBC)并解压缩(LZMA)。

配置是明确的:根据权限级别,二进制数据将写入

%appdata%\Intel\logs\BackgroundUploadTask.cpl

%windir%\System32\BackgroundUploadTask.cpl(或64位系统的SysWOW64)。
接下来,通过创建名为BackgroundUploadTask [junk] .job的任务来实现持久性,其中[junk]是0x9D和0xA0字节的集合。
任务的应用程序名称是%windir%\System32\control.exe,参数值是转储的二进制文件的路径。

隐藏任务设置为每天运行。

在结构上,CPL文件是一个DLL,其内部名称为ac8e06de0a6c4483af9837d96504127e.dll,并导出CPlApplet函数。此文件解密其唯一资源{A96B020F-0000-466F-A96D-A91BBF8EAC96} .dll,然后加载该DLL并调用其唯一的导出DllEntry。


后门配置文件


后门在其资源中嵌入了加密配置。配置文件的结构与前一个非常相似。

尽管结构相似,在许多这些字段的值已经更新在比较这是我们的白皮书

https://www.welivesecurity.com/wp-content/uploads/2018/03/ESET_OceanLotus.pdf

从2018年三月

二进制数组的第一个元素都包含一个DLL

(HttpProv.dll MD5:2559738D1BD4A999126F900C7357B759)

腾讯报告

https://s.tencent.com/research/report/471.html

但由于导出名称已从二进制文件中删除,因此哈希值不匹配。



总结公式编辑器漏洞利用

在2018年中期,OceanLotus开展了一项活动,使用的文件运用了CVE-2017-11882漏洞。

OceanLotus使用的恶意文档之一由360 Threat Intelligence Center(中文)进行分析,其中包含有关漏洞利用的详细信息。我们来看一个类似的文档。


第一阶段

这里所提的这个样本和360威胁情报中心所写的样本很是类似

FW Report on demonstration of former CNRP in Republic of Korea.doc

(关于大韩民国前CNRP示范的FW报告)

 (SHA-1: D1357B284C951470066AAA7A8228190B88A5C7C3)

其针对对柬埔寨政治感兴趣的人(CNRP – 柬埔寨)国家救援党 – 政党于2017年底解散)。尽管它的扩展名为.doc,但该文档实际上是RTF格式,其中包含许多垃圾数据,并且格式错误。


可见带 BuddyMeowMeow 这些插入的数据,实际上RTF是不解析的,直接忽略,因此这里是为了绕过检测

ESET也提到了,尽管存在格式错误的元素,但Word已成功打开此RTF文件。


在偏移量0xC00处有一个EQNOLEFILEHDR结构,后跟MTEF头,然后是字体的MTEF记录


下面原文讲了11882的漏洞原理,因为外面讲太多了所以不提了,直接跳到海莲花shellcode入口部分


第一段shellcode的目的是执行第二段shellcode,其嵌入在打开的文档中。

首先,最初的shellcode试图通过该系统的所有句柄迭代

(找到打开的文档文件的句柄NtQuerySystemInformation与SystemExtendedHandleInformation参数),

并检查是否句柄的PID匹配到一个WINWORD的PID过程中,还检测文件是否在0x12019F地址打开运行。

要确认它找到了正确的句柄而不是另一个打开文档的句柄,文件的内容将使用CreateFileMapping进行映射函数和shellcode检查文档的最后四个字节是否为“ yyyy ”,这种技术称为“Egg Hunting”。

找到匹配后,文档将ole.dll复制到临时文件夹(GetTempPath)。然后读取文档的最后12个字节。


AABBCCDD和yyyy标记之间的32位值是下一个shellcode的偏移量。它使用CreateThread函数调用。提取的shellcode与OceanLotus组已经使用了一段时间相同。

通过这个脚本还是可以提取shellcode

https://github.com/eset/malware-research/tree/master/oceanlotus/shellcode_emulator


第二阶段


提取组件


文件名和目录是动态选择的。代码随机选择位于C:\Windows\system32中的可执行文件或DLL文件的文件名。然后,它将查询其资源并提取FileDescription字段以用作文件夹名称。如果这不起作用,代码将从%ProgramFiles%或C:\Windows(来自GetWindowsDirectoryW)目录中随机选择文件夹名称。


它避免使用可能与现有文件冲突的名称,确保它不包含:windows,Microsoft,desktop,system,system32或syswow64。如果目录已存在,则目录名称将附加“NLS_ {6 digits}”。


解析阶段的0x102资源,并将文件放在随机选择的文件夹中的%ProgramFiles%或%AppData%中。创建时间更改为与kernel32.dll具有相同的值。


例如,这是一个文件夹和一个文件列表,通过选择C:\Windows\system32\TCPSVCS.exe可执行文件作为数据源创建。

dropper中资源0x102的结构非常复杂。简而言之,它包含:

  • 文件名

  • 文件的大小和内容

  • 压缩格式(RtlDecompressBuffer函数使用的COMPRESSION_FORMAT_LZNT1)

第一个文件被删除为TCPSVCS.exe,它实际上是Adobe的合法AcroTranscoder.exe(根据其FileDescription,SHA-1:2896738693A8F36CC7AD83EF1FA46F82F32BE5A3)。

您可能已经注意到某些DLL的文件大小超过11MB。这是因为随机数据的大型连续缓冲区放置在可执行文件内。它可能是一种逃避某些安全产品检测的方法。

实现持久性


dropper的资源0x101包含两个32位整数,用于指示应如何实现持久性。第一个值指定恶意软件如何在没有管理员权限的情况下实现持久性。


第二个整数的值指定恶意软件如果以提升的权限运行,应该如何尝试实现持久性。


服务名称是没有扩展名的文件名; 显示名称是文件夹名称,但如果它已经存在,则附加字符串“ Revision 1 ”(数字会递增,直到找到未使用的名称)。

运营商确保通过服务的持久性具有弹性:在服务失败时,服务应在1秒后重新启动。然后,新服务密钥的注册表值WOW64设置为4,表示它是32位服务。

计划任务是通过几个COM接口创建的:ITaskScheduler,ITask,ITaskTrigger,IPersistFile和ITaskScheduler。本质上,恶意软件会创建隐藏任务,使用当前用户或管理员信息设置帐户信息并设置触发器。
这是一项持续时间为24小时的日常任务,两次执行之间的间隔设置为10分钟,这意味着它将一直运行。


IOC


IOC列表,请看github

https://github.com/eset/malware-ioc/tree/master/oceanlotus


Registry keys/values:

  • HKCU\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model

  • [HKCU|HKLM]\SOFTWARE\App\

    • Application

    • DefaultIcon

    • Application

    • DefaultIcon

    • Application

    • DefaultIcon

    • AppXbf13d4ea2945444d8b13e2121cb6b663\

    • AppX70162486c7554f7f80f481985d67586d\

    • AppX37cc7fdccd644b4f85f4b22d5a3f105a\

Mutexes:

  • {181C8480-A975-411C-AB0A-630DB8B0A221}_ (+ username)


Domain names

aliexpresscn[.]net 

andreagahuvrauvin[.]com 

andreagbridge[.]com 

aol.straliaenollma[.]xyz 

beaudrysang[.]xyz 

becreybour[.]com 

byronorenstein[.]com 

chinaport[.]org 

christienoll[.]xyz 

christienollmache[.]xyz 

cloud.360cn[.]info 

dieordaunt[.]com 

dns.chinanews[.]network 

illagedrivestralia[.]xyz 

karelbecker[.]com 

karolinblair[.]com 

lauradesnoyers[.]com 

ntop.dieordaunt[.]com 

office.ourkekwiciver[.]com 

ourkekwiciver[.]com 

sophiahoule[.]com 

stienollmache[.]xyz 

straliaenollma[.]xyz 

ursulapapst[.]xyz 


Files:

Documents exploiting CVE-2017-11882:

SHA-1 hashes 

D1357B284C951470066AAA7A8228190B88A5C7C3 

49DFF13500116B6C085C5CE3DE3C233C28669678 

9DF3F0D8525EDF2B88C4A150134C7699A85A1508 

50A755B30E8F3646F9476080F2C3AE1347F8F556 

BB060E5E7F7E946613A3497D58FBF026AE7C369A 

E2D949CF06842B5F7AE6B2DFFAA49771A93A00D9 

SFX archives and OCX droppers: 

SHA-1 hashes 

AC10F5B1D5ECAB22B7B418D6E98FA18E32BBDEAB 

7642F2181CB189965C596964D2EDF8FE50DA742B 

CD13210A142DA4BC02DA47455EB2CFE13F35804A 

377FDC842D4A721A103C32CE8CB4DAF50B49F303 

B4E6DDCD78884F64825FDF4710B35CDBEAABE8E2 

BD39591A02B4E403A25AAE502648264308085DED 

B998F1B92ED6246DED13B79D069AA91C35637DEC 

CC918F0DA51794F0174437D336E6F3EDFDD3CBE4 

83D520E8C3FDAEFB5C8B180187B45C65590DB21A 

EFAC23B0E6395B1178BCF7086F72344B24C04DCC 

8B991D4F2C108FD572C9C2059685FC574591E0BE 

B744878E150A2C254C867BAD610778852C66D50A 

3DFC3D81572E16CEAAE3D07922255EB88068B91D 

77C42F66DADF5B579F6BCD0771030ADC7AEFA97C 


本文源自微信公众号:黑鸟

人已赞赏
安全工具

新的南亚APT组织Urpage || ZipArchive 2.1.4目录遍历POC

2019-10-16 10:44:28

安全工具

一个茶叶袋换轰炸机机密的故事

2019-10-16 10:44:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索