一、问题发现
最新在使用腾讯云部署项目应用,具体方式为docker部署。今天早上发现腾讯云发来一条报警信息:
看到信息中说到攻击行为,怀疑是否中了病毒,决定排查一下问题。
二、排查过程
首先登录腾讯云服务器控制台,发现cpu占用率处于较高水平,接下来登录服务器排查。
1.使用last查看最近登录信息,没有发现什么特别信息;
2.使用history查看历史指令
此时发现所有的histroy都被清空,然而本人并没有更改过设置,昨天使用history还正常,此时立马引起了我的警惕。
3.查看/etc/passwd下的账户信息
此时发现多了一个叫hilde的用户。
此时尝试使用 usermod -L hilde锁定hilde用户,发现并没有权限。
稍后对此问题进行解决。
4.查看日志文件/var/log/secure
less /var/log/secure|grep ‘Accepted’
5.查看日志文件/var/log/message,发现有大量的关键词扫描“scan”
6.使用top查看进程运行信息
其中pnscan进程可以确定是挖矿病毒,rshim为centos系统自带进程。至此可以判断服务器被挖矿病毒挟持。
7.使用netstat查看端口信息
发现此时也没有执行权限,和锁定用户同样的现象,心中默想,这个病毒太猖獗了,居然端口权限也给修改,简直不能忍。
8.使用docker ps -a 查看容器运行情况
因为昨天使用docker安装jenkin容器,此时决定去看看容器运行情况,果然发现了两个并不是自己安装的容器,此时进行了容器的关闭。
9.使用docker images 查看镜像
10.crontab -l查看定时作业,正常
三、解决方案
1.杀进程
杀pnscan进程时突然发现,进程号一直在变化,真是狡猾!于是决定先删除文件;
2.删文件
文件删除后,并重启服务器,pnscan进程消失,但是又多了[scan]进程,于是使用kill -9杀除此进程,发现这玩意杀完之后马上又起一个进程,根本杀不死!
此时觉得应该查看一下系统日志,于是打开/var/log/message,顺着日志中的路径打开文件夹,发现[scan]和[ext4]几乎是同一时间段创建的,百度了一下config_background.json,果不其然,monero:门罗币(此处参考文章:做一次“黑客“,入侵一次自己的服务器)
顺着文章的意思,去查看authorized_keys,果然多了一个puppet的公钥
3.删秘钥
此处参考Linux服务器发现挖矿病毒(crypto和pnscan)导致CPU爆满100的详细解决方法
后续需要进行一系列操作,如修改权限、删用户、删除镜像以及容器、具体解决办法大家可以自行百度
后续参考:
苍了个天,记一次Linux(被)入侵…
阿里云服务器被恶意程序攻击解决详情:您有服务器因攻击被限制访问部分目的端口