服务器挖矿病毒该如何处理

阿里云解决教程
https://help.aliyun.com/zh/security-center/use-cases/best-practices-for-handling-mining-programs

方案二:手动处理挖矿程序
挖矿程序为了最大程度获取利益,会存放大量的持久化后门,导致病毒难以清理或无法杀死。如果您在未购买云安全中心服务的情况下遇到挖矿病毒,可以采取如下措施排查和处理。
Linux系统
阻断恶意网络通信。

在发现主机存在挖矿行为后,由于完整地处理整个挖矿事件的周期比较长,所以为了及时控制挖矿影响,需要首先阻断挖矿木马的网络通信行为。

执行以下命令,查看当前系统网络连接状态。
netstat -antp
将以下命令中c2地址替换为正常业务不会使用的可疑远程地址(Foreign Address),然后执行下述命令添加防火墙规则,阻断服务器与该可疑地址之间的所有网络连接。
iptables -A INPUT -s c2地址 -j DROP
iptables -A OUTPUT -d c2地址 -j DROP
清除计划任务。

挖矿木马常通过计划任务实现定期下载(更新)并启动挖矿木马,如果仅清理挖矿进程、挖矿木马文件,并不能根治挖矿程序,且会出现挖矿反复的情况。

排查以下计划任务文件,删除计划任务中的挖矿木马下载和启动任务。

查看当前用户或指定用户(username)的计划任务。

crontab -l
crontab -u username -l
主机所有计划任务文件。
/etc/crontab
/var/spool/cron/
/etc/anacrontab
/etc/cron.d/
/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
清除自启动服务项。

执行以下命令,排查系统所有自启动服务。
systemctl list-unit-files | grep enabled
找到对应可疑服务的单元文件,排查服务详细信息。

将命令中*替换为服务名称,<service_unit_name>替换为服务的单元文件名称。

ls -al /etc/systemd/system/.service
ls -al /usr/lib/systemd/system/
.service

查看服务详细信息(服务启动的进程文件)

cat /etc/systemd/system/<service_unit_name>.service
如果发现恶意的自启动服务项,使用以下命令禁用服务,删除对应单元文件。

将命令中替换为服务名称,<service_unit_name>替换为服务的单元文件名称。

systemctl disable
rm /etc/systemd/system/<service_unit_name>.service
rm /usr/lib/systemd/system/<service_unit_name>.service
排查以下服务路径是否有自启动服务,然后参考以上步骤进行清理。
/etc/rc.local
/etc/inittab
/etc/rc.d/
/etc/init.d/
清除SSH公钥。

挖矿木马通常会将黑客SSH公钥写入/.ssh/authorized_keys文件中,以便黑客可以通过SSH免密登录受害主机,重新植入恶意文件。您需要排查/.ssh/authorized_keys文件,如果发现可疑公钥,立即删除。

清除.so劫持。

通过/etc/ld.so.preload文件设定预加载的.so文件,可以劫持常见的系统命令,例如top/ps/netstat等,达到隐藏挖矿进程的目的。

执行以下命令,排查预加载的.so文件。
cat /etc/ld.so.preload
执行以下命令,删除预加载劫持。
echo > /etc/ld.so.preload
清除恶意账号。

部分挖矿木马家族会创建新的后门账号,以达到长期控制受害主机的目的。执行以下命令,查看恶意账号,然后手动删除相关账号信息。

通过日志查看近期是否有创建账号行为。

cat /var/log/audit/audit.log | grep useradd

或者

cat /var/log/secure | grep 'new user'
通过/etc/passwd文件查看是否有可疑账号。

cut -d: -f1 /etc/passwd
通过账户的home目录查看可疑账户的创建或最近活跃时间,需特别关注近期创建的home目录。

stat /home/guest/
防修改对抗。

部分挖矿木马在写入计划任务、自启动等持久化文件后,会为对应文件设置一个不可更改的属性,防止对应持久化任务被删除。
chattr -i /etc/passwd
chattr -i /etc/crontab
清除挖矿木马进程。
挖矿进程通常占用较高的CPU,通过以下命令可以排查可疑的挖矿进程。
排查占用主机大量CPU的进程。
top -c

ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more

排查异常网络连接行为。
netstat -antp

获取可疑进程的文件路径。
ls -al /proc/$PID/exe
计算对应进程文件的MD5信息,在阿里云威胁情报平台查询对应文件信息。
md5sum /proc/$PID/exe

执行以下命令,终止挖矿进程,并清理挖矿文件。
kill -9 $PID

删除 ls -al /proc/$PID/exe 获取的进程路径

rm /path/to/executable

posted on 2024-11-03 10:56  木林coder  阅读(18)  评论(0编辑  收藏  举报

导航