linux挖矿处置

2023-02-12,,

挖矿的类型

    主动挖矿:用户在个人电脑或服务器使用挖矿程序进行CPU,GPU计算,获取虚拟货币。
    被动挖矿:挖矿病毒通过系统漏洞,恶意程序,弱口令等方式入侵服务器,设备感染挖矿病毒后会开始挖掘虚拟货币。
    前端挖矿:JS挖矿,挖矿病毒嵌入到王爷的javascript中,用户访问网页时浏览器执行挖矿命令,现在比较少。不稳定,用户关闭浏览器挖矿程序可能就停止运行了。

常见挖矿事件的行为

    访问恶意域名
    CPU GPU占用率高
    端口扫描行为

挖矿的排查思路

总体思路就是:隔离被感染主机   进程确认和系统排查   清除挖矿木马  加固与防范

一:初步判断:是否遭受挖矿攻击,攻击时间,传播范围,网络环境等。

二:异常进程与文件:隔离被感染的主机后,就要确定挖矿的恶意进程及其关联的恶意样本,以便后续进行清楚工作。

三:系统排查:挖矿木马会创建恶意的进程连接矿池,利用计算机CPU,GPU资源来挖矿。同时会利用系统的功能来实现持久化,例如创建用户,计划任务,启动项,注册表等。

四:日志排查:登录日志,服务器日志,安全设备日志,做一下根因分析,避免加固后再次出现同类问题。

具体的排查操作

异常进程与文件

    使用top 命令查看占用CPU最高的进程

 2.ps命令也可以定位高CPU占用的进程。

  ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -n 5    cpu占用前5的信息

网络连接排查 netstart

netstart -anltp  查看到可疑ip可以到威胁情报上去确认是否为矿池域名或恶意地址

查看可疑的进程文件

经过上面排查,基本获取到进程的pid,可以依据pid去查找相关恶意文件

lsof -p pid

ls -al /proc/[pid]/exe   定位程序的实际路径

结束进程清除文件

kill -9 pid

rm 删除可疑的程序文件

rm -rf 文件路径

有些时候无法通过上述排查定位pid,可能是将/proc/pid进行了隐藏,可以通过以下方式隐藏

mkdir .hidden

mount -o bind .hidden /proc/pid

这种情况可以使用  cat /proc/$$/mountinfo

恶意程序为了持久化驻留,还会创建计划任务 ,启动项,用户账号等

计划任务排查

1.使用计划任务命令查询   crontab -u root -l 查看root用户计划任务

2.查看/etc下计划任务文件

ls /etc/cron*  查看/etc目录下所有计划任务文件

常见的定时任务文件

/var/spool/cron/*    #centos的

/var/spool/cron/crontabs/*    #ubantu的

/etc/anacrontab*   异步定时

/etc/cron.hourly/*

/etc/cron.daily/*

/etc/cron.weekly/*

/etc/cron.monthly/*

启动项排查

chkconfig    查看开机启动项目

cat /etc/init.d/rc.loacal  查看init.d文件夹下的rc.local文件内容

cat /etc/rc.local    查看rc.local文件内容

ls -alt /etc/init.d  查看init.d文件夹下所有文件的详细信息

不同的linux发行版查看开机启动项的文件不大相同,Debian系linux一般查看/etc/init.d目录最近有无修改和异常的开机启动项;Redhat系一般查看/etc/rc.d/init.d或者/etc/syetemd/syetem等目录。

可疑账号排查

查找可登录账号:  cat /etc/passwd | grep -E "/bin/bash$" | awk -F: '{print $1}'

查找超级用户:  awk -F: '$3==0 {print $1}' /etc/passwd

查找公钥文件

  cat /root/.ssh/*.pub

  cat /root/.ssh/authorized_keys

日志排查

登录成功  more /var/log/secure* | grep "Accepted password"

登录失败 more /var/log/secure* | grep "Failed password"

空口令登录  more /var/log/secure* | grep "Accepted none"

新增用户  more /var/log/secure* | grep "new user"

历史命令   history        cat /root/./bash_history

系统日志排查无果的话,可以排查其他服务的日志,如web 中间件等

Linux的库文件劫持

  排查时命令如果无法正常显示效果,可能是文件被劫持或做了替换,这种情况可以使用busybox来查看

linux挖矿处置的相关教程结束。

《linux挖矿处置.doc》

下载本文的Word格式文档,以方便收藏与打印。