关于海莲花的Linux特马分析

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 关于海莲花的Linux特马分析

概述

“海莲花”,又名APT32和OceanLotus,是越南背景的黑客组织。该组织至少自2012年开始活跃,长期针对中国能源相业、海事机构、边防机构、卫生部门、海域建设部门、科研院所和航运企业等进行网络攻击。除中国外,“海莲花”的目标还包含全球的政府、军事机构和大型企业,以及本国的媒体、人权和公民社会等相关的组织和个人。
在历史攻击手法中,APT32一直在尝试不同方法以实现在目标系统上执行恶意代码和绕过安全检测。在2021年3月份,由国内安全厂商首次披露APT32的“双头龙”后门,揭开了APT32在Linux平台的作战能力。
在微步情报局长期对APT32的研究与对抗中,发现“双头龙”后门只是APT32作战武器中的冰山一角,在21年,微步情报局捕获到了APT32另一未公开的Linux后门,并且在威胁狩猎系统的持续监控下发现近期又再度开始活跃。

详情

发现APT32另外一款未被披露的Linux后门,后门设计思路与APT32的“双头龙”和MacOS后门较为相似。这一款后门同样具备结构化流量,在单一进程实例、信息收集、C2编码等技术特点和“双头龙“几乎一致,但指令类型有所不同,并且流量加密方式较为简单,分析人员在后门信息收集中使用到命令“/dev/disk/by-uuid/”和“cat /etc/*release | uniq”中摘取By和uniq两个单词的前缀,将其命名为Buni。
起初分析师以为Buni是“双头龙“的前身,但在近期中发现这一款Linux后门再度活跃,Buni后门中硬编码的C2利用了一些失陷IoT设备,并且其控制的主机数量较多,Buni历史样本文件中的硬编码C2使用了长达2年半之久,截止至2022年,Buni部分样本在VT平台保持了整整两年的0杀软检测效果。
图片.png

样本特点

  1. 释放方式

a) Buni由安装程序和Core两部分构成,安装程序负责释放Core和维持权限两部分操作,执行完后会被删除,在观测到的安装程序中使用了“crontab”维持权限的方式。
图片.png

b) 沙箱进程关系,如下图所示
图片.png

  1. 单一进程实例

Buni通过文件锁定实现单一进程实例,在root和非root权限会有两种不同的路径,分别为“/tmp/.etxh”和“/tmp/.edv”。
代码层如下所示
图片.png

图片.png

  1. 进程伪装

Buni通过随机函数产生6-12的随机长度字符串,调用prctl函数设置随机进程名称,伪装成系统进程。

图片.png

  1. C2编码方式

C2字符串硬编码存放在.data段中,在后门加载后和0xB1字节异或解密。

图片.png

  1. 信息收集

Buni通过各类系统命令收集系统的基本信息,包括:CPU架构、进程PID、用户名、主机名、网卡信息等,此外,在生成的数据包中还携带了各种常量,最终将各类信息拼接形成一个数组格式的数据包,可以通过JSON解析。
具体调用的函数\命令,如下所示
a) uname

图片.png

b) cat /etc/*release | uniq & cat /etc/issue
图片.png

c) gethostname
图片.png

d) sysinfo
图片.png
e) 获取各类信息构成的数据,会在上线请求时一并被发送,格式化后的数据如下:、
图片.png

  1. 结构化流量

a) Buni拥有其自定义的通信协议,通信数据包具有一定的结构,数据在构造后经过XOR加密,部分命令会存在附加数据,附加数据部分通过GZIP方式压缩,其流量结构如下:
图片.png

b) 类C结构表示如下:
图片.png

c) 在代码中则是通过逐字节recv接收的方式解析成流量结构
图片.png

  1. 指令分发&响应

a) 指令解析和响应包的构造在同一个函数中所实现,在接收到服务端发送的数据包后逐字节解析后被传入该函数,对解析得到的指令类型执行对应的操作。
图片.png

b) 在指令分发执行完成后,会构造相同类型数据包进行应答,在响应包中会携带执行结果与错误号。
图片.png

具体支持的指令类型,如下所示
图片.png

总结

APT32的作战武器覆盖Windows、Linux、MacOS多平台,纵观Linux和MacOS平台中的作战工具同源程度,这必然是属于同一公司所开发的工具,在同一源码上不停的分化迭代,形成了各种针对多架构、多平台、多操作系统的不同类型作战武器。

相关文章
|
14天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
33 7
|
5月前
|
Linux 调度
Linux 内核源代码情景分析(一)(下)
Linux 内核源代码情景分析(一)
109 1
|
17天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
2月前
|
缓存 算法 Linux
Linux内核中的调度策略优化分析####
本文深入探讨了Linux操作系统内核中调度策略的工作原理,分析了不同调度算法(如CFS、实时调度)在多核处理器环境下的性能表现,并提出了针对高并发场景下调度策略的优化建议。通过对比测试数据,展示了调度策略调整对于系统响应时间及吞吐量的影响,为系统管理员和开发者提供了性能调优的参考方向。 ####
|
5月前
|
存储 IDE Unix
Linux 内核源代码情景分析(四)(上)
Linux 内核源代码情景分析(四)
47 1
Linux 内核源代码情景分析(四)(上)
|
5月前
|
存储 Linux 块存储
Linux 内核源代码情景分析(三)(下)
Linux 内核源代码情景分析(三)
49 4
|
5月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
43 2
|
5月前
|
存储 Unix Linux
Linux 内核源代码情景分析(四)(下)
Linux 内核源代码情景分析(四)
34 2
|
5月前
|
Linux 人机交互 调度
Linux 内核源代码情景分析(二)(下)
Linux 内核源代码情景分析(二)
51 2
|
5月前
|
存储 Unix Linux
Linux 内核源代码情景分析(二)(上)
Linux 内核源代码情景分析(二)
40 2