背景
OceanLotus(海莲花)是高度组织化的、专业化的境外国家级黑客组织。自2012年4月起针对中国政府的海事机构、海域建设部门、科研院所和航运企业,展开了精密组织的网络攻击,很明显是一个有国外政府支持的APT(高级持续性威胁)行动。该组织主要通过鱼叉攻击和水坑攻击等钓鱼攻击方法,配合多种社会工程学手段进行渗透,向境内特定目标人群传播特种木马程序,秘密控制部分政府人员、外包商和行业专家的电脑系统,窃取系统中相关领域的机密资料。
该组织投递的攻击武器种类比较多,包括:Denes、CobaltStrike、PHOREAL、salgorea、类gh0st、Ratsnif等,Denes木马是一种多功能、强反检测、强反
分析的木马,是海莲花组织的主要攻击载荷之一。
本次分析人员捕获到的Denes木马变种,较以往披露版本进行了部分迭代优化,除了海莲花组织惯用的“白加黑”技术外,还利用DNS隐蔽信道传输加密数
据,进一步逃避安全设备检测。
Denes木马变种分析
1“白加黑”技术
对样本文件进行行为监测,发现其在运行之后释放了三个文件,其中一个为白签名的火狐浏览器安装程序,剩余两个rastlsc.exe、rastls.dll为真正的木马程
序。通过白文件加黑文件的方式来躲避检测。
“白加黑”一直是海莲花组织最惯用的攻击手段之一,统计最近几年国内发布的OceanLotus(海莲花)APT组织报告中的白+黑程序名,如下所示:
2自启动与资源加载
rastlsc.exe
rastlsc.exe本质是rastls.dll文件的加载器,其在进行大量花指令与无效函数调用后,唯一作用就是加载rastls.dll文件并添加注册表实现自启动,达到恶意程序
持久化驻留的目的。
查看注册表启动项CurrentVersion\Run,已添加程序。
rastls.dll
Denes木马的功能代码均在此dll文件中。文件被加载后多次利用VirtualAlloc函数申请内存地址写入数据。
多次写入后,完成木马功能代码加载,对这部分数据进行调用执行。
3利用DNS隐蔽信道加密通信
恶意程序被加载后捕获到其产生的流量数据,可明显发现产生数条异常DNS请求,不难发现,在协议中的A类字段记录中,夹带了部分数据,数据经过加密,内容未知:
进一步对恶意程序功能进行逆向分析,发现其获取主机信息后,通过自定义加密算法生成DNS协议中夹带的数据,经还原后的加密算法如下:
针对木马加密方式编写解密脚本对其数据进行解密,发现恶意程序首先通过DNS信道加密发送了主机信息:
4远控功能
恶意程序经过获取基础信息加密后,向控制端发起通信,请求建立连接,并接收指令执行后续恶意行为:
结合已披露过的木马版本,Denes木马支持以下远控功能:
DNS隐蔽信道技术解析
本次捕获的Denes木马利用了DNS协议中的A类字段记录夹带数据,除此之外,DNS隐蔽信道还有其他多种利用方式。
DNS协议格式:
攻击者可利用方式一般包括:
- 利用额外信息字段携带数据;
- 利用查询的域名字段携带数据;
- 利用53端口非DNS格式进行通讯;
- 动态域名;
- DGA;
- Domain Shadowing(域名阴影)
DNS隐蔽信道攻击技术发展历程:
一般检测思路包括:
- 动态域名检测,利用动态域名后缀检测;
- 检测域名长度,域名应该满足由各个lables以点号分隔, 各lable长度应该在63个字符之内, 而且总长度应该不超过255;
- DNS格式检测,检测通过TCP或UDP的53端口的流量数据,是否为正常DNS格式的流量数据;
- 域名统计,通过设置检测阀值可以检测DGA和域名阴影产生的域名,以及通过第一个lable传输信息的域名;
- 检测DNS流量中是否有大量的TXT、A类记录数据,通常DNS隐蔽信道的传输数据都在TXT、A记录中。
结论
海莲花组织近期的攻击方式多样,攻击链条复杂,但使用的核心攻击技术与最终投递载荷较为固定。结合木马分析结果可以发现,海莲花组织对攻击武器持续进行优化迭代,在要求其功能的同时还要求有高隐蔽性和高对抗性,多级释放、内存加载、混淆、加密等技术已应用的越来越多,这对安全厂商的检测能力和安全人员的分析能力提出了更高的要求。
目前中孚信息追影威胁分析系统、绝影APT检测产品、中孚威胁情报平台ZFTIP已支持对此攻击以及DNS隐蔽信道通信行为的检测
还没有评论,来说两句吧...