海莲花组织Torii远控的网络攻击活动分析

时间 :  2022年12月02日  来源:  6163银河.net163.amCERT

1.概述


近期,6163银河.net163.amCERT捕获到一批活跃中的物联网远控木马,背后的攻击者不为经济利益,在攻击我国重要政企单位相当数量的Linux主机、服务器和物联网等设备后潜伏隐藏。木马具备丰富的窃密和命令控制能力,C2回传链路上还通过提前攻陷的境内外物联网设备作为流量跳板隐藏真实命令控制服务器。通过关联溯源,6163银河.net163.amCERT发现该木马属于Torii僵尸网络家族[1]的升级版本,与海莲花组织的同类远控木马存在一定的同源性和差别,且在依托的网络资产上与早期海莲花组织的攻击活动也存在重叠。

最终,6163银河.net163.amCERT发现Torii家族很可能是除双头龙家族[2]和Buni家族[3]之外,海莲花组织第三款比较成熟且常用的针对Linux主机、服务器和物联网平台的远控装备。

表1-1 攻击活动特征

事件要点

特征内容

攻击时间

最早可追溯到2017年,至今活跃中

涉及组织

海莲花(APT-TOCS

事件概述

海莲花组织使用Torii远控针对我国的网络攻击

攻击目标

中国

攻击手法

凭证暴力破解、漏洞攻击等

武器工具

Torii远控

攻击意图

窃密

2.攻击活动分析


2.1 活动简介

此次攻击活动中涉及的远控家族又被称为Torii,溯源结果表明,该远控很可能是由海莲花组织研发并运营。远控涉及的攻击活动最早在2018年被披露,当时由于其复杂度被业内认为是下一代的物联网僵尸网络,最早活跃时间可追溯至2017年,已发现通过弱口令暴力破解、漏洞攻击等手段进行传播,因为主要被用于针对性的攻击,不会基于已感染设备对全网的其他设备进行扫描攻击,也不会利用已感染设备进行挖矿、勒索、DDOS等活动,因此5年以来其一直保持有相对较好的潜藏隐蔽状态。

该远控的功能丰富,适配广泛,支持生成众多类型如ARM、x86、x64、MIPS、SPARC、PowerPC、SuperH、Motorola 68000等等CPU架构的载荷,能对运行于以上架构的服务器、物联网设备、办公主机等进行深度信息窃取和控制,此外还具备10组以上的命令控制能力。

近年来,Torii活跃于海莲花组织针对我国的网络攻击活动中,攻击者通过攻陷国内的公网路由器、摄像头等网络设备充当跳板,安装流量转发工具,将被植入Torii木马的设备的窃密和控制流量,经一层或多层跳板转发至真实的Torii远控C2服务器。基于目前掌握的跳板和真实C2查找国内受控情况,发现2022上半年存在超1万7千条的可疑受控流量访问次数,Torii在国内已初步具有僵尸网络规模。

2.2 远控功能分析

2.2.1 对抗分析能力

1) 字符加密

绝大多数敏感字符串都被加密,运行时解密,解密算法为自定义的轮转异或:

图2‑1 字符解密函数

2) 执行后休眠

木马执行后,先进行sleep()函数休眠,休眠时间默认60秒或根据传参而自定义,此举可对抗一部分的自动化分析如沙箱等。

图2‑2 运行后休眠

3) 子进程名随机化

父进程退出后的子进程,进程名被命名为正则表达式随机生成的字符串,此举可抵抗基于进程名的筛查检测。

图2‑3 子进程名被随机化

4) C2通信流量加密

虽然木马主要使用443端口通信,但过程实际并非使用TLS加密,而是使用RC4加密后再倒序:

图2‑4 通信流量加密算法

5) 落地文件名伪装

虽然未完全掌握此次攻击活动的上文,但从Torii家族历史的攻击过程来看,此次的远控也应存在第一阶段的母体,母体是负责释放本远控的Dropper,会将远控的落地位置由目录表和伪装正常的文件名表这两个表随机组合而成:

表2‑1 落地位置由两表随机组合

目录表

文件名表

/usr/bin

setenvi

/usr/lib

bridged

$HOME_PATH

swapper

/system/xbin

natd

/dev

lftpd

$LOCATION_OF_1ST_STAGE

initenv

/var/tmp

unix_upstart

/tmp

mntctrd

2.2.2 信息窃取能力

除了使用系统函数获取如主机名、MAC地址等,木马还会通过解密出的一批shell命令来获取丰富的系统软硬件信息,例如:

图2‑5 执行收集信息

梳理出的Shell命令和收集对象如下表:

表2‑2 信息收集命令对应信息

Shell命令

对应信息

id 2>/dev/null

用户id

uname -a 2>/dev/null

操作系统信息

whoami 2>/dev/null

用户名

cat /proc/cpuinfo 2>/dev/null

处理器信息

cat /proc/meminfo 2>/dev/null

内存数量

cat /proc/version 2>/dev/null

内核版本

cat /proc/partitions 2>/dev/null

分区块分配信息

cat /etc/*release /etc/issue 2>/dev/null

系统标识

2.2.3 远程控制能力

梳理出远控的功能包括操控和窃取本地文件、命令执行、载荷下载等,罗列如下:

表2‑3 命令控制功能

指令

主要功能

0xBB32

C2下载文件,MD5校验并保存

0xE04B

搜寻指定文件并返回大小

0xEBF0

获取心跳或ping

0xF28C

读取文件指定偏移的内容发送至C2

0xC221

从指定URL下载文件

0xDEB7

删除指定文件

0xA16D

获取超时数值

0xA863

C2下载文件,权限标志为rwxr-xr-x并执行

0xAE35

执行给定Shell命令,结果返回C2

0x5B77

获取心跳或ping

0x73BF

获取心跳或ping

远控连接的C2地址由上述同一解密算法解得,攻击活动中既存在直连真实C2服务器,也存在连接国内跳板的转发端口,之后转往下一跳:

图2‑6 直连C2服务器

图2‑7 连接跳板机和转发端口

3.回传链路分析


当木马硬编码的C2地址为跳板时,跳板性质一般为物联网设备,主要有国产路由器、国产VPN设备、公网摄像头等,TCP协议的恶意流量从8443、8773等端口进入设备,然后被转发至真实的C2服务器或更多层的跳板。

从跳板设备运行的服务来看,攻击者有可能通过nday甚至0day漏洞攻击得到系统执行权限。从以往的海莲花在物联网跳板上实现流量转发的手段来看,其曾使用自研或开源的转发工具、防火墙转发规则等,由于目前尚未进一步掌握以上跳板内部信息,猜测此次活动手段也大多如此,例如Github开源的tinyPortMapper,其支持Linux/Windows/MacOS主机、安卓手机/平板、路由器、树莓派等等设备,使用方式例如将本地的1234端口接收到的TCP和UDP流量,转发到目标IP的443端口:

图3‑1 tinyPortMapper的使用方式

当硬编码的地址为真实C2服务器时,目标端口皆为443,域名和VPS的购置厂商和地理位置都分散在境外,无明显特点。

4.关联溯源


4.1 与Torii家族的高度同源

通过代码比对,6163银河.net163.amCERT发现此次的木马家族与Torii僵尸网络的第二阶段木马存在有大量的同源性,能确认属于同一木马家族,但相对来说有更规范的编码实现和升级,属于Torii家族的新版本。

表4‑1 此次木马家族与Torii的同源性

同源性

此次木马家族

Torii家族

对抗分析手段

1. 字符异或加密,密钥:0xFFABFACB

2. 执行后先休眠;

3. 子进程名随机化。

1. 字符异或加密,密钥:0xFEBCEADE

2. 执行后先休眠;

3. 子进程名随机化。

指令功能基本一致

0x5B77,获取心跳或ping

0x5B77,获取心跳或ping

0x73BF,获取心跳或ping

0x73BF,获取心跳或ping

0xA16D,获取超时数值

0xA16D,获取超时数值

0xA863,从C2下载文件,标志为rwxr-xr-x并执行

0xA863,从C2下载文件,标志为rwxr-xr-x并执行

0xAE35,执行给定Shell命令,

结果返回C2

0xAE35,执行给定Shell命令,结果返回C2

0xBB32,从C2下载文件,

MD5校验并保存

0xBB32,从C2下载文件,MD5校验并保存

0xC221,从给定URL下载文件并保存

0xC221,从给定URL下载文件并保存

0xDEB7,删除指定文件

0xDEB7,删除指定文件

0xE04B,搜寻指定文件并返回大小

0xE04B,搜寻指定文件并返回大小

0xEBF0,获取心跳或ping

0xEBF0,获取心跳或ping

0xF28C,读取文件指定偏移的内容发送至C2

0xF28C,读取文件指定偏移的内容发送至C2

0xB76E,无意义

0xF76F,切换新的C2地址

C2地址

硬编码,每个样本包含1个地址,可为攻击者自注册域名,也可为跳板服务器

硬编码,基本每个样本包含3个地址,皆为攻击者自注册域名

4.2 与海莲花远控家族的同源性和差异

国内Netlab实验室的研究报告[4]表明,双头龙家族与海莲花组织的MacOS远控两者之间从C2会话的建立方式、上线包构造、加解密算法甚至多组指令功能对都存在惊人的相似,双头龙家族可以称之为海莲花MAC远控在Linux平台的实现版本。

更早的报告表明[2],双头龙家族与Torii家族间存在敏感命令的重用、流量构造方式和持久化方式的相似性,报告推测双头龙与Torii家族可能出自同一攻击者之手。

6163银河.net163.amCERT进一步分析发现,双头龙与Torii家族虽然存在个别相似性,但整体的差异要远多于重合,以下罗列双头龙、Torii和另一款已知的海莲花Linux远控Buni家族,三者间的重要差别如下:

表4‑2 Torii家族与双头龙的差异

差异点

双头龙家族(海莲花)

Torii家族

Buni家族(海莲花)

敏感字符的加解密算法:

无相同的加解密算法

AES算法、循环移位算法

多字节轮转异或算法

单字节轮转异或算法

指令功能的对应关系:

无相同的指令功能对应

12条:

0x138E3E6, 0x208307A

0x5CCA727, 0x17B1CC4

0x25360EA, 0x18320e0

0x2E25992, 0x2CD9070

0x12B3629, 0x1B25503

0x1532E65, 0x25D5082

11条:

0xBB32, 0xE04B

0xEBF0, 0xF28C

0xC221, 0xDEB7

0xA16D, 0xA863

0xAE35, 0x5B77

0x73BF

7条:

0x48B8, 0x5C37

0x5C7C, 0x7221

0xB616, 0x1CE3

0xDAFE

通讯流量的加密算法:

无相同的加密算法

AES加密后ZLIB压缩

AES-128加密后MD5校验;

或采用RC4加密后倒序放置

异或加密后GZIP压缩

网络资产:

无相同的网络资产重叠

news.th***.net

blog.edu***.com

cdn.mir***.net

status.sub***.net

更多

jd-***.com

kjtzgz.szl***.org

update.firm***.com

更多

IoT跳板

Zabbix***.com

更多

IoT跳板

从整体的功能设计、代码实现和资产依托等更多的层面来看,Torii、双头龙和Buni三者的局部相似性虽然表明可能出自相同的攻击者,但三者并不能划为同一恶意代码家族,而应属于三种不同的远控工具。

4.3 与海莲花组织的资产关联

Torii家族2020年2月活跃的载荷分发服务器185.174.***.***,曾在2017年至2018年绑定已知的海莲花域名svena***.com,以及绑定了可关联到多个海莲花历史资产的高可疑域名hosti***.xyz:

表4‑3 与海莲花组织的资产关联性1

Torii家族资产

历史绑定关系

历史绑定关系

关联已知的海莲花资产

185.174.***.***

性质:载荷分发服务器

svena***.com,海莲花的已知域名

hosti***.xyz

185.174.***.***

mariala***.club

185.174.***.***

loucest***.club

annette***.club

ganmo***.com

abigails***.com

barbara***.com

同在2022年2月时期活跃的Torii家族C2域名zhi***.com,曾在该月首先解析到动态IP地址188.166.***.***,该IP曾被卡巴斯基PhantomLance活动报告所提及[5],进一步分析发现,其并非海莲花私有的IP,但海莲花自2018年起存在偏好将诸如Denes远控、KerrDown下载器、PhantomLance安卓木马以及Covid19疫情期间窃密等攻击活动的大量域名资产临时性地指向该IP。

表4‑4 与海莲花组织的资产关联性2

Torii家族资产

历史绑定关系

关联已知的海莲花资产

zhi***.com

性质:C2域名

188.166.***.***

udt.sophi***.comDenes远控

e.browser***.comKerrDown下载器

elizongha***.comPhantomLance安卓木马

georgiath***.comPhantomLance安卓木马

dictionari***.comCobalt Strike远控

social.ceri***..comRemy远控

aidanpain***..com

rown***..com

其它

综上,Torii与早期海莲花网络资产的关联性,结合海莲花组织的双头龙家族与海莲花MAC远控家族的代码高度同源,以及Torii与双头龙家族在设计上的相似性,再结合近期Torii家族通过海莲花组织近年的同类攻击手法攻陷我国的物联网设备充当跳板,大量控制境内重要政企单位网络和办公设备,有理由相信Torii家族很可能是海莲花组织除双头龙家族和Buni家族之外,第三款比较成熟的针对Linux或物联网平台的远控工具。

5.威胁框架视角的攻击映射


本次系列攻击活动共涉及ATT&CK框架中10个阶段的17个技术点,具体行为描述如下表:

表5‑1 近期Torri攻击活动的技术行为描述表

ATT&CK阶段

具体行为

注释

侦察

主动扫描

扫描暴露在公网中且存在指定漏洞的IOT设备

资源开发

获取基础设施

注册C2域名,购买并搭建C2服务器

入侵基础设施

入侵服务器或IOT设备作为跳板

初始访问

利用面向公众的应用程序

利用暴露在公网中且存在漏洞的应用服务

利用外部远程服务

对暴露在公网中的远程服务进行口令暴力破解

执行

利用命令和脚本解释器

获取权限后利用shell脚本安装后续木马

持久化

利用自动启动执行引导或登录

利用/etc/init实现开机时启动

利用计划任务/工作

利用crontab计划任务自动执行

防御规避

规避调试器

进程名随机化逃避调试器附加

仿冒

落地文件名仿冒成正常系统文件

发现

发现账户

获取系统账户信息

发现系统信息

获取系统版本信息

发现系统网络配置

获取系统网络信息

收集

压缩/加密收集的数据

收集到的数据通过异或后加AES加密

命令与控制

编码数据

收集到的数据通讯前经过加密

使用标准非应用层协议

使用TCP协议通讯

数据渗出

使用C2信道回传

远控使用传统C2信道通讯

将涉及到的威胁行为技术点映射到ATT&CK框架如下图所示:

图5‑1 近期Torri攻击活动对应ATT&CK映射图

参考资料:


[1]Torii僵尸网络- 不是另一个Mirai 变种
https://blog.avast.com/new-torii-botnet-threat-research
[2]双头龙(RotaJakiro),一个至少潜伏了3年的后门木马
https://blog.netlab.360.com/stealth_rotajakiro_backdoor_cn/
[3]黑客组织“海莲花”作战武器“Buni”最新曝光,瞄准Linux平台
https://mp.weixin.qq.com/s/1WtaS7htgiUGhtY_ovERxA
[4]“双头龙”源自海莲花组织?
https://blog.netlab.360.com/rotajakiro_vs_oceanlotus_cn/
[5]Hiding in plain sight: PhantomLance walks into a market
https://securelist.com/apt-phantomlance/96772/