1. 问题说明
有一段时间没有登录云服务器了,心里想着看看服务器有没有被木马占领,好巧不巧,阿里云和腾讯云都被占领了,更巧的是,都是 kthreaddk 进程,首先想到的是百度一下看看有没有解决办法,网上似乎只有 kthreaddi 相关的说明而且无法解决问题,之前处理过 kdevtmpfsi(H2Miner挖矿蠕虫变种)病毒所以有了一些思路。
2. 病毒处理
2.1 改密重启服务
我首先干的事是: 修改密码并重启两台服务器。有些病毒是暴力破解服务器密码后将木马程序部署到服务器上的,而且有的木马程序是放在 /tmp 文件夹下的,重启会被清除。
阿里云重启前,cpu使用率 92.7% ,我直接在控制台改密重启所以没有截取到 kthreaddk 的进程信息。
阿里云重启后,cup使用率 0.3%,世界顿时清净了。
不知道干啥的定时任务被清除后也未再次出现:
阿里云的 kthreaddk 处理完成。
2.2 查删定时任务
腾讯云的就没这么幸运了,改密重启无效,kill 掉 kthreaddk 进程后立马重新启动了。
应该是有定时任务:
# 查看定时任务发现不是自己添加的然后删除 crontab -l * * * * * /etc/NetworkManager/dnsmasq-shared.d/ix2qjo crontab -r # 再次查看又出来了 crontab -l * * * * * /etc/ix2qjo # 试图删除执行的文件 rm /etc/ix2qjo rm: cannot remove ‘/etc/ix2qjo’: No such file or directory rm /etc/NetworkManager/dnsmasq-shared.d/ix2qjo rm: cannot remove ‘/etc/NetworkManager/dnsmasq-shared.d/ix2qjo’: No such file or directory # 再再再次删除定时任务后查看 crontab -r crontab -l * * * * * /data/ix2qjo crontab -r crontab -l * * * * * /ix2qjo crontab -r crontab -l * * * * * /etc/NetworkManager/dispatcher.d/pre-up.d/ix2qjo
执行查找删除命令:
rm -rf $(find / -name “ix2qjo”)
此时,我打开了另一个命令行窗口,使用 top 命令发现 find 命令根本执行不了,cpu 被 kthreaddk 和 xcxham 两个进程霸占了,所以我又打开了第三个命令行窗口,不断 kill 掉 kthreaddk 和 xcxham 两个进程,随后在最初的窗口看到
rm -rf $(find / -name “ix2qjo”)
命令执行完成。
执行完成后又使用 crontab -l
查看了一下定时任务,心中一凉,这次不仅换地方还换名称了?使用 crontab -l
删除后,没有再次出现定时任务。
2.3 处理过程分析
猜想,腾讯云服务器上的定时任务被删除后,可能是由于 kthreaddk 或 xcxham 进程还在执行,会重新添加定时任务,定时任务是重启服务的入口,我在其他窗口查杀 kthreaddk 和 xcxham 两个进程同时又在执行 rm -rf $(find / -name “ix2qjo”)
删除其启动文件,最终阻断了病毒的复制和执行。
3. 云服务器使用建议
- 不定时修改服务器密码(密码强度越高越好)
- 不要随便开放端口(使用安全组配置开放哪些端口、开放给哪些IP地址)
- 一些组件不建议使用默认端口(不少攻击都是通过80、3306、8080等进行攻击的)