概述
海莲花(OceanLotus)是一个据称东南亚背景的APT组织。该组织最早于2015年5月被天眼实验室披露并命名,其攻击活动最早可追溯到2012 年4月,攻击目标包括人权代表、异见人士、媒体、银行、海事机构、海域建设部门、科研院所和航运企业,后扩展到几乎所有重要的组织机构,受害区域涉及东亚、东南亚、欧洲等地区,持续活跃至今。
本文内容是对海莲花组织在过去一段时间内攻击手法做一个粗略的回顾,不讨论受害单位,报告中涉及的恶意域名和跳板均已无法访问。
从2020年中开始海莲花组织逐渐放弃了基于鱼叉邮件的投递方式,开始通过渗透的手段对高价值目标进行攻击活动,经过长时间的跟踪挖掘,发现该组织在入侵和横向移动过程中具备使用0day/Nday漏洞的能力。
横向移动
相对于海莲花组织相对单一的白利用组件,横向移动过程中使用的脚本可谓种类繁多,本报告仅列出该组织使用频率最高的几个脚本。
爆破脚本
海莲花早期在内网中使用的爆破脚本如下
功能较为简单,仅针对445端口下的administrator账户进行爆破
经过数次版本迭代后,增加了对MSSQL、FTP、HTTP的爆破
增加了对常见端口的扫描
NbtScan脚本
海莲花在横向移动过程中会使用nbtscan对内网进行扫描,利用PS脚本将编码后的Nbtscan注入到Notepad.exe中。
使用的Nbtscan 1.0.35版本。
Getinfo脚本
该PS脚本在执行过程中会收集操作系统相关信息、域控信息、ssh状态、RDP状态、反病毒产品、所有用户名、安装的程序列表、ipconfig、正在运行的服务、网络连接状态、进程列表、磁盘信息、Administrator用户下的目录树、C盘根目录树。
最后将上述信息整理成html落在文件系统上,之后会被攻击者加密打包上传到图床网站。
管道注入脚本
在执行过程中从管道中读取Payload,对其进行解密
之后会随机启动如下进程中一个,并将Shellcode注入该进程中。
- | - |
---|---|
进程名 | - |
makecab.exe | |
systray.exe | |
w32tm.exe | |
bootcfg.exe | |
diskperf.exe | |
esentutl.exe | |
typeperf.exe |
注入代码如下:
Empire脚本
海莲花使用Empire框架控制内网主机,搜索目标。最终会在指定目标上释放白利用组件,最终执行cobaltstrike远控。
Mimikatz脚本
在受控主机上执行Mimikatz powershell版本的脚本。
在内存中加载dll的导出函数,抓取本机密码
Cortana beacon
Cortana脚本一般作为Cobalt Strike的插件来使用。
0day/Nday
海莲花组织是为数不多的能够结合特定环境定制化开发挖掘0day/Nday漏洞的APT团伙,手段较为高超,能够发起中等规模的供应链打击。
样本分析
白利用组件
海莲花组织使用的恶意dll经过数代版本的迭代,其功能一直保持不变,都是用来解密Shellcode,但是 解密方式 有所不同,大体可以分为如下几类:
- 读资源节解密Shellcode:
- 读自身解密Shellcode。
- 从data节读取Shellcode。
Shellcode在执行过程中一般都会先进行循环解密,
会解密出后续代码
基于Shellcode执行结果,大体上可以分为机器名加密组件和非机器名加密组件,区别在于机器名加密组件在执行过程中会读取本机机器名通过机器名对后续Payload进行AES解密。如果机器名错误则无法解密出后续的cobaltstrike。如果基于 Shellcode行为 进行分类,则可以分为如下几类:
-
常规类,执行过程中解密cobaltstrike并执行,较为常见不做介绍。
-
Dropper类,执行过程中会将白利用组件释放到%temp%目录下,并创建计划任务。
- 读文件类,在执行过程中读取特定目录下的文件,第二阶段Shellcode后续对文件内容进行解密。
- 注入/服务类,在执行过程中启动一个挂起的进程或者创建一个服务,用于执行第二阶段Shellcode。
最终执行的远控,从家族上来分大体分为两类,一类是cobaltstrike,另一个是Remy Rat,该家族样本使用频率较低,代码如下:
从 功能 上来分有如下几类:
-
直连C2类,这种较为常见不做过多赘述。
-
管道类,创建管道,等待连接。
- 端口监听类,等待内网其他受控主机连接指定端口。
挖矿
挖矿组件如下:
被入侵的电脑被创建一个服务,指向SCCreateProcess.exe,服务名为SCCREATEPROCESS:
而SCCreateProcess.exe被执行起来后,会获取到该exe的文件名,然后附件.bat后缀后执行起来:
而SCCreateProcess.exe.bat文件被执行起来后,会执行起来同目录下的ControlPanel.exe.bat文件:
而ControlPanel.exe.bat文件会通过名字为vmware-authd.exe的挖矿程序,传递矿池和钱包地址进行挖矿操作。
总结
目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。