logo头像
Snippet 博客主题

记一次服务器被挖矿病毒入侵及清除过程

背景

朋友购买了某云服务器,部署了程序(java+redis),后来收到平台的报警短信。
使用top命令后发现CPU占用率飙升,查资料发现是因为redis密码设置过于简单,被挖矿病毒入侵了。

找出病毒

使用top命令,找到占用CPU最高的进程。

确认病毒

根据进程号查看进程详情

1
systemctl status 13192
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@izuf688rg4xz5pozv7vvhfz ~]# systemctl status 13192
● session-406429.scope - Session 406429 of user root
Loaded: loaded (/run/systemd/system/session-406429.scope; static; vendor preset: disabled)
Drop-In: /run/systemd/system/session-406429.scope.d
└─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf, 50-TasksMax.conf
Active: active (running) since 四 2020-07-09 14:39:02 CST; 3 days ago
CGroup: /user.slice/user-0.slice/session-406429.scope
├─13192 /etc/networkservice
├─26931 /usr/sbin/CROND -n
├─32336 ./sysupdate
└─32486 ./sysguard

7月 11 21:19:05 izuf688rg4xz5pozv7vvhfz crontab[3353]: (root) LIST (root)

进入到/etc目录下,
我们可以看到有sysupdate、networkservice、sysguard三个文件,这三个文件都是二进制文件,这三个应该就是挖矿的主程序和守护程序。还有一个update.sh文件,这应该是对挖矿病毒升级用的。这个update.sh怎么找出来的呢,其实是通过定时程序里面的cron找出来的。

解决

  1. 删除定时任务
  2. 杀掉进程,并删除文件
  3. 删除/root/.ssh/authorized_keys(可能攻击者已经配置了免密登录)
  4. 修改redis密码,或者关闭redis外网端口。
微信打赏

赞赏是不耍流氓的鼓励