服务器被挖矿病毒入侵后,挖矿病毒会消耗服务器的资源、降低生产效率、影响系统稳定性,对受感染的个人或企业用户构成严重的威胁。被入侵后,您需要及时响应并处理挖矿病毒,加固系统安全。本文介绍如何处理挖矿病毒。
背景信息
挖矿程序的特征
挖矿程序会占用CPU进行超频运算,导致CPU严重损耗,并且影响服务器上的其他应用。
挖矿程序还具备蠕虫化特点,当安全边界被突破时,挖矿病毒会向内网渗透,并在被入侵的服务器上持久化驻留,以获取最大收益。
挖矿程序具有联动作用,在清理过程中会存在处理不及时或清理不干净导致挖矿病毒反复发生、出现恶意脚本替换系统命令的现象,从而导致执行系统命令时触发恶意脚本执行(例如:xorddos)。因此,需要在挖矿程序的一个执行周期内,尽快将被入侵服务器上的木马程序和持续化后门清理干净,否则容易导致挖矿病毒频繁复发。
如何判断资产中是否存在挖矿威胁
如果您服务器的CPU使用率明显升高,例如达到80%以上,并且出现未知进程持续向外发送网络包的情况,可以判定您的服务器中存在挖矿威胁。
已安装云安全中心客户端的服务器,可以在云安全中心控制台安全告警处理页面,查看是否存在挖矿程序告警。
更多信息,请参见如何判断资产中是否存在挖矿威胁?。
方案一:使用云安全中心处理挖矿程序
该方案中的步骤为建议您操作的顺序,这些操作可以从快速止血、深度查杀、全盘扫描的角度层层递进,以便全面地发现并处理风险。您也可以根据实际情况调整顺序或选择某些功能进行使用。
前提条件
执行步骤一:处置告警结束恶意进程和步骤二:深度查杀病毒,需已购买云安全中心防病毒版、高级版、企业版或旗舰版。您也可以通过云安全中心免费试用,获取对应安全能力。更多信息,请参见购买云安全中心、开通7天免费试用。
执行步骤三:全盘扫描病毒,需开通无代理检测按量付费。具体操作,请参见无代理检测。
步骤一:处置告警结束恶意进程
使用云安全中心安全告警处理功能,可以终止恶意进程的运行,并隔离病毒文件,快速阻断挖矿程序运行。
登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国或全球(不含中国)。
在左侧导航栏,选择 。
单击挖矿告警AI分析列的图标,查看该告警的解释、溯源信息、告警主机存在的其他告警情况等信息。
您也可以单击详情页签,查看该告警的基础信息、风险资产、事件说明、处置建议等信息。
重要根据控制台提供的告警信息、事件说明等信息,您可以找到挖矿程序的位置,以及确认是否存在其他告警或可疑文件。您需要自行判断导致挖矿告警的文件是正常业务文件,或为攻击者运行的文件。如果确认为攻击事件,建议您处理挖矿程序告警后,一并处理该服务器上其他告警和可疑文件。
返回安全告警列表,单击目标挖矿程序告警操作列的处理。
在告警处理对话框,处理方式选中病毒查杀,然后选中结束该进程的运行或结束进程并隔离源文件,并单击立即处理,防止该程序再次启动。
如果您确认导致挖矿告警的文件为非业务文件,建议您选中结束进程并隔离文件,以避免病毒文件进一步感染您的服务器。
云安全中心支持同时处理相同告警功能,如果您想批量处理相同规则或类型触发的告警,您可以选中同时处理相同告警来使用此功能。
对挖矿事件产生的其他衍生告警(例如:矿池通信行为),执行阻断操作。
云安全中心通过生成对应的策略防止服务器访问矿池,确保您有充足的时间对安全事件进行处理。您也可以手动将矿池IP加入安全组禁用。
查看进程行为异常告警,确认是否存在异常的计划任务,并处理对应告警。
步骤二:深度查杀病毒
结束恶意进程的运行后,建议您使用云安全中心病毒查杀功能清理隐藏、持久化的恶意文件,例如:自启动项、定时任务。更多信息,请参见病毒查杀。
登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国或全球(不含中国)。
在左侧导航栏,选择 。
在病毒查杀页面,单击立即扫描或重新扫描。
在扫描设置面板,设置扫描模式和扫描范围,并单击确定。
扫描模式选择快速扫描,扫描范围选择被挖矿程序攻击的服务器。
在病毒查杀页面,单击目标告警操作列的处理。
在告警处理面板,选择深度查杀,单击下一步。
系统开始处理告警。处理完成后,您可以查看处理结果和告警状态。
步骤三:全盘扫描病毒
您可以使用云安全中心无代理检测功能,对云服务器ECS的系统盘和数据盘进行全面的安全检测。该功能仅支持检测,不支持修复;您需要根据风险详情页的说明,自行处理风险项。更多信息,请参见无代理检测。
登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国或全球(不含中国)。
在左侧导航栏,选择 。
在无代理检测页面,单击创建检测任务。
在创建检测任务面板,选中要检测的主机,并单击下一步。
选择扫描范围并设置快照/镜像保存时间,单击下一步。
等待检测任务完成后,查看检测出的漏洞风险、基线检查、安全告警和敏感文件结果。
建议您根据风险详情页的说明及时处理对应风险项。
方案二:手动处理挖矿程序
挖矿程序为了最大程度获取利益,会存放大量的持久化后门,导致病毒杀不死或难以清理。如果您在未购买云安全中心服务的情况下遇到挖矿病毒,可以采取如下措施排查和处理。
Linux系统
下文以伪装成阿里云进程的恶意进程AliyunDuns导致的挖矿入侵事件为例介绍手动处理挖矿程序的具体操作。
执行以下命令查看挖矿进程的执行文件链接。
grep -rlE "\\-\\-donate\\-level|xmrig|\\/opt\\/sysetmd" /etc/systemd/system/*
为了防止进程名称变化,您可以通过执行下述命令,检查系统中占用大量CPU的进程,通过CPU占用情况排查可疑进程。
top -c ps -ef
如果发现类似下图,非业务相关的服务内容,则您需要删除对应的服务项和服务启动的恶意文件。
分别执行以下命令删除对应的服务项和服务启动的恶意文件。
rm -f /etc/systemd/system/sysetmd.service rm -f /etc/systemd/system/monero.service
说明如果已删除服务项
sysetmd.service
和monero.service
,云安全中心仍检测到对应的挖矿告警,您需要在服务器中执行sudo systemctl daemon-reload
命令,重新加载缓存,即可解决重复告警的问题。分别执行以下命令找到对应的进程。
ps -aux | grep xmrig ps -aux | grep sysetmd
分别执行下述命令,强制停止进程并删除进程文件。
kill -9 24381 kill -9 28347 rm -f /root/xmrig-6.21.1/xmrig rm -f /opt/sysetmd
排查并处理异常用户。
执行下述命令查询系统用户列表,锁定异常用户名称。
cat /etc/passwd
执行下述命令查看异常系统用户的信息。异常系统用户以
shaojiang99
为例。cat /etc/passwd | grep shaojiang99 cat /etc/shadow | grep shaojiang99
执行下述命令删除异常系统用户。
chattr -i /etc/passwd chattr -i /etc/shadow sed -i '/^shaojiang99:/d' /etc/shadow sed -i '/^shaojiang99:/d' /etc/passwd
检查并清除您服务器的防火墙中存在挖矿程序的矿池地址。
执行以下命令查看是否存在业务范围之外的可疑通信地址和开放端口。
iptables -L -n
执行以下命令清除恶意矿池地址。
vi /etc/sysconfig/iptables
执行以下命令排查是否存在定时任务。
crontab -l
您可以根据排查的结果,对可疑的定时任务文件进行处理,防止二次入侵。
执行以下命令检查SSH公钥中是否存在挖矿病毒,防止出现持续后门。
cat .ssh/authorized_keys
在其他服务器中执行下述命令,查看CPU占用情况,排查可疑进程,确认是否存在挖矿行为,防止挖矿病毒重复感染内网中的其他服务器。
top -c ps -ef
Windows系统
在PowerShell中执行以下命令,通过CPU占用情况排查可疑的挖矿进程。
ps | sort -des cpu While(1) {ps | sort -des cpu | select -f 15 | ft -a; sleep 1; cls}
执行以下命令,查看挖矿进程的磁盘文件、进程启动命令的参数。
wmic process where processid=xxx get processid,executablepath,commandline,name //xxx表示进程pid
结束挖矿进程,清除挖矿文件。
执行以下命令,检查主机连接的可疑网络端口。
netstat -ano | findstr xxx // xxx表示可疑的网络端口
执行以下命令,检查服务器中hosts文件是否存在挖矿程序的矿池地址。
type C:\Windows\System32\drivers\etc\hosts
执行以下命令,排查是否存在挖矿程序设定的计划任务。
schtasks /query
其他方案
如果病毒入侵较深,关联到系统底层组件,很难手动排查和清除。强烈建议您在备份重要数据后,重置服务器的系统,以确保完全清理挖矿程序。具体操作步骤如下:
方案三:购买应急响应服务
阿里云提供安全应急响应服务,由专业的安全技术人员来帮助您解决被病毒感染等问题。应急响应提供的服务内容如下:
帮您全面清理系统中存在的木马、病毒、异常账号、异常文件、WebShell、暗链等。
分析黑客入侵手法,查找入侵原因。
指导用户进行安全加固。
更多信息,请参见应急响应服务。
加固建议
开启恶意主机行为防御
针对无法及时清理服务器上残留的挖矿程序或清理不干净导致复发的情况,云安全中心提供的恶意主机行为防御功能可对挖矿程序进行精准拦截,从而在事前抑制挖矿事件的发生。更多信息,请参见主动防御。
开启恶意主机行为防御的操作入口如下所示:
下图是被云安全中心自动拦截的挖矿程序告警详情页:
提升主机安全性
重装系统:服务器被挖矿后,由于系统可能存在遗留的安全威胁,往往系统文件会被更改和替换,此时系统已经变得不可信,最好的方法就是重新安装系统;
减少攻击暴露面:使用ECS安全组、SLB白名单、云防火墙等服务来限制非必要的服务端口暴露在外网,仅对必要的服务端口开放访问权限,并且只允许信任的IP地址进行访问;
主机系统安全加固:对数据库系统或文件系统(MySQL、PolarDB、MaxCompute、Redis、NAS、OSS)、服务管理后台(宝塔面板BT、Nacos服务等)、操作系统用户密码(SSH、RDP等)配置复杂密码,限制错误密码重试次数,防止密码被爆破入侵;
常见漏洞修复:关注安全漏洞情报,及时修复应用漏洞、应急漏洞和操作系统漏洞,部分原因是系统使用的应用程序软件版本较老,存在较多的漏洞没有修复,导致被入侵;
业务安全加固:对业务代码上线前,进行代码安全测试或接入Web应用防火墙,来防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,防止业务系统漏洞被利用导致被入侵。
凭据的安全使用方案
凭据一旦发生泄露,会给云上资源和用户业务带来很大的安全隐患。建议您安全的使用凭据。更多信息,请参见凭据的安全使用方案。