云服务器 挖矿病毒crypto scan 针对docker2375监听以及redis弱密码的漏洞被挖矿

云服务器 挖矿病毒crypto scan 针对docker2375监听以及redis弱密码的漏洞被挖矿

目录

解决方案

搜索进程(htop)

看cpu占用最高的进程(通常是ddns crypto 以及scan等),顺着找到相关文件所在,基于docker以及redis漏洞的病毒名称为crypto以及scan,通常存放于/usr/share目录下,顺着相关文件直接删除(最好能在删除之前看一下运行的脚本,以防删除的不干净)

rm -rf /usr/share/*crypto* rm -rf /usr/share/*scan* 

查看用户组以及crontab

通常挖矿病毒会使用一个新的用户进行部分操作,我的服务器被新注册了一个名为lsb的用户,同时需要查看脚本是否新增了其他守护进程

cat /etc/passwd cat /etc/group  crontab -l 

删除用户组以及crontab相关

我服务器中的病毒脚本编写者比较厉害,给绝大多数文件以及可执行命令都用chattr进行了隐藏权限的添加,添加后直接删除了chattr这个命令,并且破坏了apt安装的逻辑,导致要使用chattr需要安装e2fsprogs,但是e2fsprogs的安装必须修复apt,修复apt则必须修改用户组,但是用户组已经被添加权限无法操作(哪怕是root用户也不行),但是修改用户组又必须使用chattr去掉隐藏权限的逻辑闭环

这个闭环的解决方案是从其他任何一个正常的机器中从usr/bin/路径下面复制出chattr可执行文件,并拷贝入服务器中,使用chmod 777 /path/to/your/chattr修改文件属性,并使用这个可执行文件去进行操作,最好是直接采用chattr -Riae /path/to/lockedfiles这种递归的方式直接一次性去除某个文件夹下的所有被加了权限的目录以及可执行文件(以root用户执行任何常用命令但是显示operation not permitted都可以用这个方式解决)

最后使用userdel xxx以及crontab -e删除相关被病毒脚本添加的内容,注意光删除用户是不够的,用户目录仍然会保留,所以需要手动删除/home/xxx这个目录.

以root用户执行cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}来查看其他用户下面是否还有其他的crontab进程

删除masscan

病毒脚本会安装masscan(可能你的机器已经安装过)并使用他来对其他公网ip进行扫描(也就是让你的服务器变成了中转站)

因为部分病毒文件删除过早,我没有找到相关的masscan配置文件,但是可以确认的是不删除/usr/bin/masscan或者masscan的配置文件,你的机器就会一直被作用于扫描其他人的服务器的端口,因此我直接选择了删除masscan

删除/etc/.httpd/…/*以及/var/.httpd/…/* 以及/etc/newinit.sh等相关文件

使用rm -rf命令进行删除

注意以/etc/new*命名的有好几个是病毒脚本相关文件,但是也不全是,注意区分删除

删除相关进程

通常包括systemd-journal以及/bin/bash /etc/.httpd/.../var/.httpd/…

ps:本人在做到这一步的时候哪怕删除了上述后两个进程也会自动再起来,但是crontab又已经确认删干净了,之后不知道又做了什么操作这两个进程就不会再打开了

检查authorized_keys是否异常并做删除

最后

最好是以crypto scan ddns .httpd为关键词直接全盘扫描 甄别后删除

看过网上其他资料 还有docker被创建了其他镜像或者命令被修改为其他名字的案例,需要注意

ps:找不到什么进程在使用文件夹可以通过fuesr -uv /path的命令进行查看