背景 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协议格式 攻击者可利用方式一般包括: 1、利用额外信息字段携带数据; 2、利用查询的域名字段携带数据; 3、利用53端口非DNS格式进行通讯; 4、动态域名; 5、DGA; 6、Domain Shadowing(域名阴影) DNS隐蔽信道攻击技术发展历程 一般检测思路包括: 1、动态域名检测,利用动态域名后缀检测; 2、检测域名长度,域名应该满足由各个lables以点号分隔, 各lable长度应该在63个字符之内, 而且总长度应该不超过255; 3、DNS格式检测,检测通过TCP或UDP的53端口的流量数据,是否为正常DNS格式的流量数据; 域名统计,通过设置检测阀值可以检测DGA和域名阴影产生的域名,以及通过第一个lable传输信息的域名; 4、检测DNS流量中是否有大量的TXT、A类记录数据,通常DNS隐蔽信道的传输数据都在TXT、A记录中。 结论 海莲花组织近期的攻击方式多样,攻击链条复杂,但使用的核心攻击技术与最终投递载荷较为固定。结合木马分析结果可以发现,海莲花组织对攻击武器持续进行优化迭代,在要求其功能的同时还要求有高隐蔽性和高对抗性,多级释放、内存加载、混淆、加密等技术的应用越来越多,这对安全厂商的检测能力和安全人员的分析能力提出了更高的要求。 目前,中孚信息追影威胁分析系统、绝影APT检测产品、中孚威胁情报平台ZFTIP已支持对此攻击以及DNS隐蔽信道通信行为的检测,以实战化思维构筑“威胁可感知、告警高置信、攻击可溯源、安全可运营”的全域防御能力体系,真正让攻击可溯源,为攻击威胁分析持续赋能。 (文章来自中孚信息,如有违权请联系删除!) |