いくつかの基本的なWebサイトをホストするために実行したubuntuVPSは、ビットコインマイニングのためにApacheがハッキングされたようです。
Apache error.logに、次のように表示されます。
[Sun Dec 15 06:27:58 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.9 with
Suhosin-Patch configured -- resuming normal operations
[Sun Dec 15 06:27:58 2013] [info] Server built: Jul 12 2013 13:38:21
[Sun Dec 15 06:27:58 2013] [debug] prefork.c(1023): AcceptMutex: sysvsem (default: sysvsem
[Sun Dec 15 09:14:16 2013] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 0 idle, and 18 total children
curl: try 'curl --help' or 'curl --manual' for more information
./tmp.sh: 1: ./tmp.sh: ^M: not found
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
^M 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0^M100 165k 100 165k 0 0 402k 0 --:--:-- --:--:-- --:--:-- 460k
./tmp.sh: 2: ./tmp.sh: ^M: not found
./tmp.sh: 3: ./tmp.sh: ^M: not found
./tmp.sh: 4: ./tmp.sh: ^M: not found
./tmp.sh: 5: ./tmp.sh: ^M: not found
./tmp.sh: 6: ./tmp.sh: ^M: not found
[2013-12-15 10:06:35] Starting Stratum on stratum+tcp://mine.pool-x.eu
[2013-12-15 10:06:35] 1 miner threads started, using 'scrypt' algorithm.
[2013-12-15 10:06:36] Stratum detected new block
[2013-12-15 10:11:05] Stratum detected new block
[2013-12-15 10:12:46] Stratum detected new block
[2013-12-15 10:13:15] Stratum detected new block
計画はVPSを再構築することですが、最初にこれがどのように起こっているかを正確に理解したいと思い、いくつかの行き詰まりに近づいています。これが私が気づいた/試したいくつかのことです:
VPSを再起動できますが、数時間後までマイニングが再開されないようです。これはCRONジョブですか? (毎日午前10時頃に再開するようです)。
wordpressの脆弱性ではないようです
Lastcommを設定しましたが、www-dataユーザーの場合、次のように表示されます。これは明らかに攻撃が行われていることです。何が起こって実行されているかについて、どうすればより多くの情報を得ることができますか?
$ Sudo lastcomm www-data
Apache2とhttpdプロセスの違いは何ですか?
次のアクセスログエントリに気づきましたが、マイニングのバックアップの開始と同時に発生することはありません。
177.10.216.85 --- [15/Dec/2013:14:19:01 +0000] "POST/cgi-bin/php4?%2D%64 +%61%6C%6C%6F%77%5F%75%72 %6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E +%2D%64 +%73%61%66%65%5F%6D%6F%64%65%3D% 6F%66%66 +%2D%64 +%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C $
プロセスに対してpwdxも実行しましたが、次のように返されました。
4529:/
一方、MySQLプロセスは次を返しました。
2298:/ var/lib/mysql
更新:
Apacheが404を返しているので(正しく?!)、これはpleskのエクスプロイトではないと思います。これは、隠されたCRONジョブか何かであると確信しています。たぶん隠されたプロセスですら。彼らが最初にどのように参加したのか、私は本当にわかりません!
46.137.41.30 - - [26/Dec/2013:13:25:26 +0000] "POST /cgi-bin/php4?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 404 493 "-" "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26(KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"
アクセスログでその奇妙な文字列をデコードしようとしましたか?
この文字列を貼り付けます:
%2D%64 +%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E +%2D%64 + %73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66 +%2D%64 +%73%75%68%6F%73%69%6E%2E%73 %69%6D%75%6C $
このサイトでは:
http://www.url-encode-decode.com
デコードされたASCIIテキストをグーグルですばやく検索すると、Pleskの脆弱性が悪用されていることがわかります。
おそらく私と同じ問題はないでしょうが、私のVPSはJBossの脆弱性を使用して悪用され、Webシェル(pwn.jsp)をインストールし、それを使用してPerlバックドアシェルをダウンロードしました。
攻撃者が残した可能性のある追加のバックドアに注意を向けたいと思いました。奇妙な名前のWARファイルを含むJBoss管理コンソールディレクトリを見つけました。これをデプロイすると、攻撃者は自分の選択したアプリケーションをJBossインストールにデプロイできます。
私は別の stackoverflow投稿 と ブログ投稿でさらにもっと にいくつかの詳細があります
cronジョブ定義は、テキストファイルとして次の可能な場所のいずれかに配置されます。
最初の5つはシステムベースのcronフォルダーであり、通常はすべてルートレベルで実行され、最後はユーザーごとのcronを含むディレクトリです(たとえば、crontab -e
またはcrontab -l
を実行すると、各ユーザーはそのディレクトリからロードされます作成されたcronジョブを持つアカウントには、このフォルダーにファイルがあります
そこを見てください。次のcron定義で始まるcronタスクがある可能性があります。
6 10,22 * * * ....