公式编辑器漏洞利用2018年中,OceanLotus发起一个利用含有CVE-2017-11882漏洞的文档的国际活动。该漏洞位于启用和编辑数学公式的组件中。360安全对OceanLotus使用的恶意文…
关系式编辑器漏洞 在2018年年,OceanLotus进行了这项国际性主题活动,以运用包括CVE-2018-11882系统漏洞的文本文档。该系统漏洞坐落于开启和编写数学公式的部件中。 36o安全系数剖析OceanLotus应用的故意文本文档。 环节1 尽管故意文本文档是由.doc拓展的,但该文本文档事实上是1个RTF文件格式的文本文档,如图所示1如图,在其中包括很多没用的统计数据
RTF没用域 尽管有许多没用的统计数据,但Word依然可以取得成功开启RTF文档。如图所示2如图,在偏移0xC00处,有个EQNOLEFILEHDR构造,后跟MTEF头和MTEF纪录。
FONT纪录值
- FONT纪录文件格式 由于名字字段名在拷贝以前不查验其尺寸,因此它将会会上溢。假如名字过长,则会开启系统漏洞。如图所示2中的偏移0xC26如图,在RTF文档的內容中,堆栈是全部shellcode,0x90是NOP,回到详细地址是0x402114。此详细地址偏向EQNEDT32.exe中的RET命令,而且没用。这造成EIP偏向包括shellcode的name字段名的打头。
从shellcode刚开始 详细地址0x45BD3C储存1个简接引证的自变量,直至它抵达当今载入的MTEFData构造的表针,该构造都是剩下shellcode的部位。 Shellcode的目地是实行置入在打开文档中的第二段shellcode。最先,原始shellcode将试着传送全部系统软件句柄循环系统,查验句柄PID是不是与WinWord中系统进程的PID相同,及其打开文档的浏览掩码是不是为0x12019F以搜索打开文档的句柄。以便确定找到恰当的句柄,将应用CreateFileMapping涵数投射文档的內容。 shellcode将查验文本文档的最终4个字节数是不是为yyyy。这类技术性称为蛋捕猎。寻找配对项后,文本文档将作为ole.dll拷贝到临时文件夹中。随后是最毒的文档的最终13个字节数。
文本文档结尾的标识 AABBCCDD和yyyy 标识中间的31位值是与下个shellcode的偏移偏移。它应用CreateThread函数调用。获取的shellcode与OceanLotus机构一块儿应用。 第2环节 获取部件 文件夹名称和目录名是动态性挑选的。
编码将任意挑选坐落于C: \ Windows \ system32的可执行文件或DLL文档的名字。
随后查寻其資源并获取FileDescription字段名作为文件夹名称。如果不是,编码将从ProgramFiles%或C: \ Windows文件目录中任意挑选1个文件夹名称。
也要保证文件夹名称不包括Windows,Microsoft,desktop,system,system32,syswow64,以保证它与目前文档的名字不一样。
假如该文件目录已存有,则文件目录名字将驱动器NLS_ {6十位数}。将剖析此环节的0x102資源,并将文档公布到%ProgramFiles%或%AppData%。
建立時间将被改动为与kernel32.dll同样。 比如,下列是应用C: \ Windows \ system32 \ TCPSVCS.exe作为数据库建立的文件夹名称和文件列表: 获取不一样的部件 資源0x102的构造比较复杂,包括: 文件夹名称文件夹名称 文件大小和格式文件的尺寸和內容 缩小文件格式缩小文件格式(RtlDecompressBuffer涵数应用COMPRESSION_FORMAT_LZNT1) 详细的居住权 释放器的0x101包括2个31位自然数,用以标示中止的保持方法。第一位值表达恶意程序怎样在沒有管理员权限的状况下驻留。
下一个自然数表达恶意程序已根据提高的管理权限进行其
服务项目名字是沒有扩展名的文件夹名称。演示文稿的名字是文件夹名称。可是,假如它早已存有,请加上字符串版本号1.网络攻击根据服务项目保证存有是延展性的:假如服务项目不成功,服务项目将在1秒后重启。随后,新的服务项目密匙注册表值WOW64将设定为4,表达这是31位服务项目。
计划任务是根据很多Com插口建立的,包含ITaskScheduler, ITask, ITaskTrigger, IPersistFile和ITaskScheduler。恶意程序建立隐藏任务,应用当今客户或管理人员信息内容设定账号信息内容,并设定开启标准。 它是这项每日任务,实行時间为28钟头,间距为12分鐘,这代表每日任务将始终运作。 故意的一点儿 在文中的实例中,可执行文件TCPSVCS.exe (AcroTranscoder.exe)是合理合法的手机软件端载入DLL。它的DLL涵数只启用1个涵数,而某些不全透明的谓词包含:
不全透明谓词 历经某些蒙骗查验后,编码获得 TCPSVCS.exe的.text 字段名,将维护体制更改成PAGE_EXECUTE_READWRITE,合用某些不相干的命令遮盖
沒有负作用的命令名单中 最终,CALL命令将加上到Flash Video Extension.dll导出来涵数的FLVCore: Uninitialize(void)详细地址。换句话说,在载入故意DLL以后,当TCPSVCS.exe运作时启用WinMain时,命令表针实行NOP,最终在下一步工作启用FLVCore: Uninitialize(void)。
此涵数只建立1个以{181C8480-A975-411C-AB0A-610DB8B0A221}打头的互斥锁,后跟当今登录名。随后应用与部位不相干的编码载入已公布的.db3拓展文档,并应用CreateThread实行其內容。 .db3文档的內容是OceanLotus常见的shellcode。科学研究工作人员应用手机模拟器脚本制作取得成功解压缩了她们的合理负荷。 该脚本制作获取第一个环节的部件。该部件是以前剖析过的1个侧门。恶意程序配置文件在pE資源中数据加密。配置文件与前1个同样,但C5网络服务器不一样: Andreagahuvrauvin [。] Com Byronorenstein [。] Com Stienollmache [。]的xyz OceanLotus应用的技术性再度绕开*。根据挑选任意文件夹名称并应用任意统计数据添充可执行文件来降低靠谱IoC的总数。因为DLL端载入,网络攻击务必释放出来合理合法的AcroTranscoder二进制文件。
自解压文件文本文档 应用RTF文档后,网络攻击刚开始应用自获取技术性。在运作时,字体样式转至的RAR文档将释放出来并实行包括最后合理负荷的DLL文档。从2019年年1月刚开始,OceanLotus刚开始同用自获取技术性,但改动了某些配备。 鱼饵文档 文本文档THICH-THONG-LAC-HANH-THAP-THIEN-VIET-NAM(1).EXE于2018年年初次导入.SFX文档是仿冒的,叙述说明该文档是JPEG图象。 SFX脚本制作给出如图:
SFX指令 恶意程序版本号{9ec60ada-a200-4159-b310-8071892ed0c3} .ocx (SHA-1: EFAC23B0E6395B1178BCF7086F72344B24C04DCC)和照片2018年 thich thong lac.jpg。 鱼饵照片给出:
鱼饵照片 OCX文档的操纵步骤类似别的OceanLotus部件:它包括很多JZ/JNZ和PUSH/RET命令名单中。
图12 - 疑惑的编码 过虑废弃物编码后,regsv * .exe将启用export DllRegisterServer:
程序安装主编码 初次启用DllRegisterServer时,注册表值HKCU \ SOFTWARE \ Classes \ CLSID \ {E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1} \ Model设定为DLL中编号的偏移(0x10001DE0)。 再次启用该涵数时,它会载入很多同样的值并在该详细地址实行该涵数。随后载入并实行資源,并实行很多运行内存中实际操作。 shellcode与以前的oceanlotus进攻中应用的pE载入程序流程同样。它可以应用miasm仿真模拟脚本制作开展仿真模拟。最终公布 db293b825dcc419ba7dc2c49fa2757ee.dll,将其载入到运行内存中并实行DllEntry。 DLL获取資源的內容,用AES-128-CBC破译,合用LZMA解压缩。資源应用容易翻转的特殊文件格式
程序安装配备的构造 依据管理权限级別,二进制统计数据将载入%appdata%\ Intel \ logs \ BackgroundUploadTask.cpl 或%windir%\ System32 \ BackgroundUploadTask.cpl。 随后,建立1个名叫BackgroundUploadTask [junk] .job的每日任务来进行驻留,在其中[junk]是0x9D和0xA0字节数的非空子集。 每日任务的手机应用程序名字为%windir%\ System32 \ control.exe,参数值是拷贝的二进制文件的相对路径。隐藏任务设定为每日运作。 从构造的视角看来,CPL文档是1个DLL文档,其內部名字为 ac8e06de0a6c4483af9837d96504127e.dll,它将导出来CPlApplet涵数。该文档将破译其惟一資源{A96B020F-0000-466F-A96D-A91BBF8EAC96} .dll,随后载入DLL并启用DllEntry。
侧门配置文件 侧门包括置入在資源中的数据加密配置文件。配置文件的构造与前1个十分类似。
侧门配备 依据 OceanLotus处于活跃性情况,而且仍在飞速发展和发展趋势。该机构应用不一样的工具集和鱼饵文档。
网络攻击将合理负荷封裝在与当今热恶性事件关系的文本文档中,并应用不一样的技术性来任用一些漏洞利用编码。而且应用不一样的技术性来降低受害人设备中留有的印痕,以减少网络安全产品被检验到的概率。从前边的实例中可以看得出,文件夹名称是任意转化成的,OceanLotus也改动了二进制文件以防止被检验到。 文中汉语翻译自:htpp://WWW.welivesecurity.Com/2019年/08/30/fake-or-fake-keeping-up-with-oceanlotus-decoys/