公司之前的开发和测试环境是在腾讯云上,部分服务器中过一次挖矿木马 kworkerds,本文为我当时分析和清理木马的记录,希望能对大家有所帮助。
现象
top 命令查看,显示 CPU 占用 100%,进程名无明显规则,如:TzBeq3AM。
进程有时候会被隐藏,通过分析脚本删除部分依赖文件,可以显示出来。
存在可疑的 python 进程。
crontab 被写入了一个定时任务,每半小时左右会从 pastebin 上下载脚本并且执行。
原因
redis 没有启用密码认证。
清理方案
将 redis 服务关闭,并设置密码。
先阻断外部连接,再清理定时任务,之后删除挖矿病毒本体,防止再生。
# 防止木马再次下载
echo '127.0.0.1 pastebin.com' >> /etc/hosts
# 删除掉局域网服务器之间的免密登录
# 本机定时任务和木马都清理干净了,重启后木马又重新执行,最后发现是因为局域网服务器免密登录造成的,木马会通过免密登录互相复制。
rm -rf ~/.ssh
# 先 kill 掉木马进程,不然服务器操作起来极慢
ps -ef|grep pastebin |grep -v grep|awk '{print $2}'|xargs kill -9
ps -ef|grep kworkerds|grep -v grep|awk '{print $2}'|xargs kill -9
# 清理定时任务及木马文件
crontab -r
chattr -i /etc/cron.d/root
sudo echo "" > /etc/cron.d/root
chattr -i /etc/cron.d/apache
sudo echo "" > /etc/cron.d/apache
chattr -i /var/spool/cron/root
sudo echo "" > /var/spool/cron/root
chattr -i /var/spool/cron/crontabs/root
sudo echo "" > /var/spool/cron/crontabs/root
chattr -i /usr/local/lib/libntpd.so
rm -rf /usr/local/lib/libntpd.so
chattr -i /etc/ld.so.preload
rm -rf /etc/ld.so.preload
chattr -i /usr/local/bin/dns
rm -rf /usr/local/bin/dns
rm -rf /etc/cron.hourly/oanacroner
rm -rf /etc/cron.daily/oanacroner
rm -rf /etc/cron.monthly/oanacroner
rm -rf /tmp/kworkerds
rm -rf /tmp/.38t9guft0055d0565u444gtjr0
rm -rf /