阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录

前景介绍

接收到阿里云服务器CPU持续爆满告警,提示被挖矿病毒入侵
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录插图

开始排查

1.使用top命令查看,服务器负载很高,top和ps无法查看到高占用进程,进程排查困难
2.使用unhide 搜索隐藏进程,最后发现是修改加载的so文件来实现隐藏进程,大致原理如下:

先说下ps、top等工具的工作原理
以ps工作原理为例说明这些进程信息查看工具的原理
我们知道/proc是一个虚拟文件系统,是VFS的一个实现形式,/proc中包含了内核信息,硬件信息,进程信息等
ps、top等工具就是通过分析/proc文件系统中进程相关目录的信息获取进程信息汇总。
HooK系统调用型的进程隐藏方式都是通过拦截或者迷惑ps等工具从/proc获取分析结果的过程
而不是针对/proc/文件系统生成本身。

修改方式有以下几种:
I、修改内核调用,比如getdents 的源码
II、修改libc库中readdir 函数的源码
III、利用环境变量LD_PRELOAD 或者配置ld.so.preload文件 以使的恶意的动态库先于系统标准库加载
以达到架空系统标准库中相关函数的目的,最终实现对特定进程的隐藏

3.此次入侵方式即为入侵者修改ld.so.preload文件,实现对进程的隐藏,经过实践,不删除httpd的话cpu利用率也是居高不下,故此判断,此图中httpd也为伪装病毒,详细如下:
cat /etc/ld.so.preload
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录插图1
4.并且通过netat命令查到一个美国IP通过80端口长时间进行了连接netstat -anp|grep ESTAB

处理过程

1.查看病毒位置
whereis pnscan
whereis xmrigMiner
whereis xmrigDaemon
whereis httpd
2.查出路径后首先直接删除文件,再杀进程,查出位置后使用chattr删除权限
cd 文件路径
因为病毒已经锁定了chattr,所以需执行如下操作
yum -y install e2fsprogs

3.开始删除

cd /usr/local/lib
chattr -ia pnscan.so
chattr -ia  xmrigMiner.so
chattr -ia xmrigDaemon.so
chattr -ia httpd.so
rm -rf xmrigMiner: /usr/lib/xmrigMiner
rm -rf xmrigDaemon: /usr/lib/xmrigDaemon
rm -rf httpd: /usr/lib/httpd
rm -rf xmrigMiner: /usr/local/lib/xmrigMiner
rm -rf xmrigDaemon: /usr/local/lib/xmrigDaemon
rm -rf httpd: /usr/local/lib/httpd
cd /usr/share/scripts/
rm -rf *

删除后会有如下报错:
ERROR: ld.so: object '/usr/local/lib/pnscan.so' from /etc/ld.so.preload cannot be preloaded: ignored.

继续执行
chattr -i /etc/ld.so.preload
rm /etc/ld.so.preload

执行完毕后,使用top查看进行PID并进行Kill-9杀掉进程,重启服务器

开机输入unhide proc,直到如下图所示即杀毒完成
阿里云服务器被xmrigMiner及pnscan及伪装httpd的病毒入侵排查记录插图2

再次查看CPU利用率"99id空闲率"

阅读剩余
THE END
诺言博客