乐趣区

Linux系统常见的病毒介绍附解决方案

与 Windows 下五花八门的勒索病毒家族不同,Linux 下感染量较大的恶意软件就几个家族。但这几个家族占据了全球大部分的感染主机,几乎呈现出垄断的趋势。本文将介绍 Linux 环境下 7 个较常见的流行恶意软件家族,以及其对应的清除步骤。

七大恶意软件家族

BillGates

BillGates 在 2014 年被首次发现,由于其样本中多变量及函数包含字符串”gates”而得名,该病毒主要被黑客用于 DDos,其特点是会替换系统正常程序(ss、netstat、ps、lsof)进行伪装

主机中毒现象:

[1] 在 /tmp/ 目录下存在 gates.lod、moni.lod 文件。

[2] 出现病毒文件夹 /usr/bin/bsd-port/。

[3] 主机访问域名 www.id666.pw。

[4] 系统文件(ss、netstat、ps、lsof)被篡改过,修改时间异常。

病毒清除步骤:

[1] 清除 /usr/bin/bsd-port/getty、.ssh 等病毒进程。

[2] 清除 /usr/bin/bsd-port/getty、/usr/bin/.sshd 等病毒文件。

[3] 从 /usr/bin/dpkgd/ 目录恢复原系统文件。

DDG

DDG 是目前更新最频繁的恶意软件家族,同时感染量也十分庞大,黑客使用 P2P 协议来控制这个僵尸网络,来实现隐藏 C &C 的目的,该病毒的主要目的为蠕虫式挖矿,特点是版本迭代过程中,病毒文件名保持以 ddg. 和 i.sh 的规范命名。

主机中毒现象:

[1] /tmp/ 目录下出现有 ddgs.+ 数字的 ELF 文件。

[2] 在 /tmp/ 目录下存在 qW3xT. 和 SzDXM 等随机名文件。

[3] 存在下载 i.sh 的定时任务。

病毒清除步骤:

[1] 清除随机名挖矿进程及对应文件。

[2] 删除母体文件 ddg.*。

[3] 删除带有 i.sh 字符串的定时任务。

[4] 删除 ssh 缓存公钥 authorized_keys。

SystemdMiner

SystemdMiner 使用 3 种方式(YARN 漏洞、Linux 自动化运维工具、.ssh 缓存密钥)进行传播,该病毒前期的文件命名带有 Systemd 字符串,而后期版本已更换为随机名,其特点是,善用暗网代理来进行 C &C 通信。

主机中毒现象:

[1] 定时访问带有 tor2web、onion 字符串的域名。

[2] 在 /tmp 目录下出现 systemd 的文件(后期版本为随机名)。

[3] 存在运行 systemd-login 的定时任务(后期版本为随机名)。

病毒清除步骤:

[1] 清除 /var/spool/cron 和 /etc/cron.d 目录下的可疑定时任务。

[2] 清除随机名的挖矿进程。

[3] 清除残留的 systemd-login 和.sh 病毒脚本。

StartMiner

StartMiner 于今年 2 月被发现,由于其进程及定时任务中包含 2start.jpg 字符串而得名,该病毒通过 ssh 进行传播,其特点是会创建多个包含 2start.jpg 字符串的恶意定时任务。

主机中毒现象:

[1] 定时任务里有包含 2start.jpg 的字符串。

[2] /tmp/ 目录下存在名为 x86_的病毒文件。

[3] /etc/cron.d 出现多个伪装的定时任务文件:apache、nginx、root。

病毒清除步骤:

[1] 结束挖矿进程 x86_。

[2] 删除所有带有 2start.jpg 字符串的定时任务。

[3] 清除所有带有 2start.jpg 字符串的 wget 进程。

WatchdogsMiner

2019 年一个同样以 Redis 未授权访问漏洞及 SSH 爆破传播的 WatchdogsMiner 家族被发现,由于其会在 /tmp/ 目录下释放一个叫 watchdogs 的母体文件而得名。WatchdogsMiner 的初始版本会将恶意代码托管在 pastebin.com 上以绕过检测,不过后续版本已弃用,改为自己的 C &C 服务器.systemten.org。该病毒的特点是样本由 go 语言编译,并试用了伪装的 hippies/LSD 包(github_com_hippiesLSD)。 主机中毒现象:

[1] 存在执行 pastebin.com 上恶意代码的定时任务。

[2]/tmp/ 目录下存在一个名为 watchdogs 的病毒文件。

[3] 访问 *.systemten.org 域名。

病毒清除步骤:

[1] 删除恶意动态链接库 /usr/local/lib/libioset.so

[2] 清理 crontab 异常项 [3] 使用 kill 命令终止挖矿进程

[4] 排查清理可能残留的恶意文件:

(a) chattr -i /usr/sbin/watchdogs /etc/init.d/watchdogs /var/spool/cron/root /etc/cron.d/root;

(b) chkconfig watchdogs off;

(c) rm -f /usr/sbin/watchdogs /etc/init.d/watchdogs。

[5] 由于文件只读且相关命令被 hook,需要安装 busybox 并使用 busybox rm 命令删除。

XorDDos

XorDDoS 僵尸网络家族从 2014 年一直存活至今,因其解密方法大量使用 Xor 而被命名为 XorDDoS,其主要用途是 DDos 公网主机,特点是样本运用了“多态”及自删除的方式,导致主机不断出现随机名进程,同时采用了 Rootkit 技术隐藏通信 IP 及端口。 主机中毒现象:

[1] 存在病毒文件 /lib/libudev.so。

[2] 在 /usr/bin,/bin,/lib,/tmp 目录下有随机名病毒文件。

[3] 存在执行 gcc.sh 的定时任务。

病毒清除步骤:

[1] 清除 /lib/udev/ 目录下的 udev 程序。

[2] 清除 /boot 下的随机恶意文件(10 个随机字符串数字)。

[3] 清除 /etc/cron.hourly/cron.sh 和 /etc/crontab 定时器文件相关内容。

[4] 如果有 RootKit 驱动模块,需要卸载相应的驱动模块,此次恶意程序主要它来隐藏相关的网络 IP 端口。

[5] 清除 /lib/udev 目录下的 debug 程序。

RainbowMiner

RainbowMiner 自 2019 年就频繁出现,由于其访问的 C &C 域名带有 Rainbow 字符串而得名,其最大的特点是会隐藏挖矿进程 kthreadds,排查人员会发现主机 CPU 占用率高,但找不到可疑进程。

主机中毒现象:

[1] 隐藏挖矿进程 /usr/bin/kthreadds,主机 CPU 占用率高但看不到进程。

[2] 访问 Rainbow66.f3322.net 恶意域名。

[3] 创建 ssh 免密登录公钥,实现持久化攻击。

[4] 存在 cron.py 进程持久化守护。

病毒清除步骤:

[1] 下载 busybox:wget http://www.busybox.net/downlo…_64。

[2] 使用 busybox top 定位到挖矿进程 kthreadds 及母体进程 pdflushs,并清除。

[3] 删除 /usr/bin/kthreadds 及 /etc/init.d/pdflushs 文件,及 /etc/rc*.d/ 下的启动项。

[4] 删除 /lib64/ 下的病毒伪装文件。

[5] 清除 python cron.py 进程。

加固建议

1、Linux 恶意软件以挖矿为主,一旦主机被挖矿了,CPU 占用率高,将会影响业务,所以,需要实时监控主机 CPU 状态。

2、定时任务是恶意软件惯用的持久化攻击技巧,应定时检查系统是否出现可疑定时任务。

3、企业还大量存在 ssh 弱密码的现象,应及时更改为复杂密码,且检查在 /root/.ssh/ 目录下是否存在可疑的 authorized_key 缓存公钥。

4、定时检查 Web 程序是否存在漏洞,特别关注 Redis 未授权访问等 RCE 漏洞。

如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞 + 转发分享。

欢迎大家关注民工哥的公众号: 民工哥技术之路

退出移动版