定时破坏Linux系统的攻击事件分析报告

时间 :  2022年07月19日  来源:  安天CERT

1.概述


近日,安天CERT监测到一起针对Linux系统的破坏性攻击活动。恶意代码在系统时间2022年6月20日0时之后触发破坏功能,导致感染的用户因系统无法正常启动而感知到了恶意代码的存在。

该样本执行后,会将curl、top等系统命令劫持为恶意代码,并创建计划任务,实现持久化驻留。定时条件触发后,样本会尝试删除root账户、破坏启动扇区、系统引导文件和Linux内核,使系统无法正常启动,然后删除系统中的特定文件,破坏业务系统环境,最后清除日志,抹除痕迹。由于大部分Linux系统未进行有效防护,使恶意代码长期潜伏在系统中而未能及时发现。

根据样本代码中出现的汉字字符串内容,推测本次攻击的目标为国内人员。攻击者自称是“正大黑客组织”,但通过关联并未发现与该组织相关的其它信息,同时结合代码中的注释“fake information”(虚假信息)及语句结构,判断推断这段文字是攻击者伪造的,目的是转移视线,掩盖攻击者的真实身份。

经验证,安天智甲终端防御系统(简称IEP)Linux版本可实现对该木马的有效查杀和对用户终端的切实防护。

2.样本对应的ATT&CK映射图谱


样本对应的技术特点分布图:

图2-1 技术特点对应ATT&CK的映射

具体ATT&CK技术行为描述表:

表2-1 ATT&CK技术行为描述表

ATT&CK阶段/类别

具体行为

注释

持久化

创建或修改系统进程

替换常用系统指令

持久化

执行流程劫持

替换系统自启动指令

持久化

利用计划任务/工作

创建计划任务

防御规避

混淆文件或信息

利用RC4算法加密脚本

防御规避

反混淆/解码文件或信息

内存中解密脚本

影响

删除账户权限

删除root账户

影响

损毁数据

删除日志文件和配置文件

影响

篡改可见内容

向登录显示器显示文本

影响

擦除磁盘

删除启动扇区

3.防护建议


针对该破坏行动,安天建议企业采取如下防护措施:

(1)强化终端防护:安装反病毒软件,建议安装安天智甲终端Linux版本;

(2)加强SSH口令强度:避免使用弱口令,建议使用16位或更长的密码,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

(3)及时更新补丁:建议开启自动更新功能安装系统补丁,服务器、数据库、中间件等易受攻击部分应及时更新系统补丁;

(4)安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场,等待安全工程师对计算机进行排查。安天7*24小时服务热线:400-840-9234。

经验证,安天智甲终端防御系统(简称IEP)可实现对该恶意程序的有效查杀。

图3-1 安天智甲为用户终端提供有效防护

4.样本分析


本次行动中,攻击者对受害者机器投放了9个样本,其中包含1个将系统指令替换成其它样本的伪装器样本和8个执行恶意功能的破坏型样本。

4.1 伪装器分析

4.1.1 样本标签

表4-1 伪装器样本标签

病毒名称

Trojan/Linux.Dropper

原始文件名

rep

MD5

E88619E9EF1BF95AA683370D469B0809

处理器架构

Advanced Micro Devices X86-64

文件大小

11.88 KB (12,160字节)

文件格式

ELF

时间戳

数字签名

加壳类型

编译语言

C/C++

VT首次上传时间

2022-06-26 04:46:32 UTC

VT检测结果

7/55

4.1.2 详细分析

伪装器和破坏型样本被同时投放到系统中。伪装器执行后依次写入各个破坏型样本,将系统指令分别替换对应的样本,以替换sort指令的样本为例:伪装器用sort指令替换grub2-mkimage指令,再使用恶意代码替换sort指令,达到实现持久化的目的。在执行sort指令时,系统将在执行恶意代码时正常输出,用以迷惑用户。

图4-1 受影响的系统指令

图4-2 替换系统指令

表4-2 替换对应表

样本MD5

被替换的系统指令

被替换的grub2工具集指令

3ECC6A14AB062BA2C459A49CCC6DA6CA

sort

grub2-mkimage

34394E6BBE41629AA645F01A949757FE

scp

grub2-mkrescue

FE31F69BFC3CBA3E3148E0828A28AFB7

nmcli

grub2-render-label

CFF44FD00A926C112EA30CB8E2F1C7D8

du

grub2-script-check

56FC7CE52006F41E72255ED24E4CAA75

df

grub2-fstest

B8A94EBD8A7F1EEA8969D0FD4F88335D

curl

grub2-mknetdir

AE0FF4BB866B2FD03D7019E2251AC24F

top

grub2-mkpasswd-pbkdf2

C1D496BE65D18BABF1252DF8CCF95660

find

grub2-mkstandalone

4.2 破坏型样本分析

4.2.1 样本标签

表4-3 破坏型样本标签

病毒名称

Trojan/Linux.Dropper

原始文件名

abs

MD5

C1D496BE65D18BABF1252DF8CCF95660

处理器架构

Advanced Micro Devices X86-64

文件大小

526.25 KB (538,880字节)

文件格式

ELF

时间戳

数字签名

加壳类型

编译语言

C/C++

VT首次上传时间

2022-06-23 08:43:19 UTC

VT检测结果

21/60

4.2.2 详细分析

为了规避杀毒软件的检测,攻击者利用开源混淆器将脚本编译成可执行文件,实现在内存中动态执行脚本。

图4-3 使用RC4解密脚本

当用户执行系统指令时,实际执行的为破坏型样本。样本执行后,调用grub2工具集的指令,此时实际执行的为系统指令。通过输出系统指令执行的结果,将样本伪装成系统正常程序,使受害者放松警惕。

图4-4 样本执行回显

创建计划任务,每月执行一次恶意代码。

图4-5 创建计划任务

判断执行时间晚于2022年6月20日0时,触发破坏行为。

图4-6 判断是否达成触发条件

攻击者在定时触发的基础上,增加了提前触发的功能。攻击者只需要再次投放样本并执行伪装器,就会将grub2工具集指令再次替换为top等指令,而这些指令已在第一次执行时被替换为恶意代码,因此最终grub2工具集被替换为恶意代码。当受害者执行系统指令时,文件名为grub2工具集指令的恶意代码启动,立即触发破坏行为,不受前面所述的日期限定。

图4-7 判断自身名称触发恶意功能

遍历各软件的日志目录并将日志删除。

图4-8 清空日志

尝试将密码“nofairsodestoryrebuild”写入用户root的密码本中。之后将root账户删除。

图4-9 修改密码和删除账户

通过um**nt、ls**k等指令强制卸载删除启动扇区,并删除/boot目录下的引导文件和内核文件。文件删除后,重新启动计算机将无法进入系统。

图4-10 删除启动文件导致GRUB无法执行系统载入

删除/etc文件夹下所有名称匹配*con*的文件,导致系统中软件的配置文件缺失,造成进一步的破坏。

图4-11 删除指定文件

样本将预设的中文内容输出到登录提示中。结合代码中的注释“fake information”(虚假信息)及语句结构判断,这段不完整的字符串可能是伪造和拼接的。通过关联,并未发现与“正大黑客组织”相关的其它信息,可确定这段文字是攻击者伪造的,目的是转移视线,掩盖攻击者的真实身份。

图4-12 写入登录提示的字符串

在本次捕获的样本中发现多处代码编写错误,具体如下:

1、攻击者试图向root账户中写入密码,但是参数设置错误。在下文的指令中删除了root账户,间接导致了写入的密码失效;

2、攻击者替换了find指令,在执行脚本中的find指令时引起阻塞循环,导致后续指令无法执行;

3、当攻击者在2022年6月20日之前触发恶意代码时,grub2工具也被替换为恶意代码。由于脚本编写失误,此条件被触发后将循环执行恶意代码,导致系统资源被耗尽。

关于本攻击事件的背后逻辑推演:

1、根据样本代码中出现的汉字字符串内容,推测本次攻击的目标为国内人员;

2、在本次捕获的样本中未发现横向移动、窃密回传等操作,推测攻击者以破坏系统正常运行为目的。结合定时触发,推测攻击在触发事件之前已经开始,攻击者通过定时触发的方式,在触发时间之前手动感染尽可能多的主机,以造成更大的破坏效果。

3、样本中大量的逻辑错误表明攻击者水平不高,载荷尚不成熟。

5.总结


本次捕获的样本将系统命令劫持为恶意代码,并创建计划任务实现持久化,定时触发破坏功能,导致系统无法启动并破坏业务系统数据,对数据安全产生极大威胁。由于目前未获取到更多的上下游信息,无法对攻击者的入侵方式进行判定。因此,建议用户做好常规的终端安全防护工作,安装终端防御软件,同时将重要数据在异地、多地进行安全备份,作为数据安全的有力保障。

6.IoCs


3ECC6A14AB062BA2C459A49CCC6DA6CA

E88619E9EF1BF95AA683370D469B0809

34394E6BBE41629AA645F01A949757FE

FE31F69BFC3CBA3E3148E0828A28AFB7

CFF44FD00A926C112EA30CB8E2F1C7D8

56FC7CE52006F41E72255ED24E4CAA75

B8A94EBD8A7F1EEA8969D0FD4F88335D

AE0FF4BB866B2FD03D7019E2251AC24F

C1D496BE65D18BABF1252DF8CCF95660