发布网友
共1个回答
热心网友
近期,火绒威胁情报系统监测到一种针对Linux系统的后门型病毒,经排查分析后,确定其与HelloBot家族有关。HelloBot是一个针对Linux系统的恶意软件家族,执行远程控制受害者计算机等恶意活动,因其配置测试中输出“hello world”而得名。
火绒安全产品可对上述病毒进行拦截查杀,请企业用户及时更新病毒库以进行防御。
该病毒被激活后,会释放“worker”文件并为其进行配置,后者在受害者电脑上执行关键操作。病毒执行流程如下图所示:一、样本分析
该类病毒是一个由配置主导的成熟复杂的后门程序,不同的配置有不同的执行结果。样本有四个启动参数: --builder、--test、--shell、--mp。
--builder 需要传入指定的配置和要更新的样本文件名 filename,用于重新构建服务。 --test 只是简单地测试样本执行输出。
--shell 开启一个 shell 进行连接,需要输入密码进行 md5 校验,md5 解出来的值为 "tk_shell"。
--mp 后接要导出配置的样本名,用于显示当前样本的配置信息
前期操作:通用执行部分
由于样本执行阶段主要分为“释放器”和“工作者”两部分,两者执行流程因配置修改而异,但在根据配置进行“分流”之前,有着共同的初始化部分。这部分包括重置 shell 相关历史记录、校验输入参数、从自身获取配置、忽略所有信号并重新注册 SIGCHLD 信号,以及根据配置将自身进程替换成虚假进程名。
释放器分析:启动程序运行前会检查系统环境,主要检查 /tmp 目录是否存在,以及 tmp_start_dir 配置对应的 /var/tmp 是否存在等。样本会遍历运行中的进程获取要伪装的文件,并将重命名的副本释放到 /var/tmp 目录下并设置好执行权限。释放器设置 is_worker 为 1 用于更新副本配置,然后通过 fork 分支执行 "/bin/sh -c /var/tmp/firefox" 并设置成后台进程。
工作者执行:由于样本属于后门程序的设定,执行时跳过释放器提到的流程。工作者删除文件自身,以内存加载的方式执行。配置中的 lock_file 文件起互斥作用,判断是否重复执行。fork 出多个子进程,子进程间互相关联,涉及 mgr_pid 和 monitor_pid 进程。子进程1监控全局,子进程2负责管理“上线”,子进程3监控操作并更新配置。
关于 SIGCHLD 信号:前期对信号的处理操作中注册的 SIGCHLD 信号处理函数用于处理“工作者”的进程。在等待第二个子进程终结后,执行重置 mgr_pid 和 monitor_pid 的值。
关于壳与配置:样本使用常规 upx 壳压缩,配置部分采取加密后附加在文件末尾,导致自动脱壳失败。
通过以上分析,我们可以更直观地了解该后门病毒的运行机制和防御策略,提醒用户关注并采取相应的安全措施以防止受到此类病毒的侵害。