web-dev-qa-db-ja.com

ビットコインマイニングに悪用されたVPS。欠陥を特定する方法は?

いくつかの基本的な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を再構築することですが、最初にこれがどのように起こっているかを正確に理解したいと思い、いくつかの行き詰まりに近づいています。これが私が気づいた/試したいくつかのことです:

  1. VPSを再起動できますが、数時間後までマイニングが再開されないようです。これはCRONジョブですか? (毎日午前10時頃に再開するようです)。

    • これはCRONジョブで起動しますか? crontabで何も見つからないようですが、他に確認できる場所はありますか?
    • 彼らは私のVPSのIPアドレスを持っていて、私のサーバー上の何かを悪用していますか?これをどのように検出すればよいですか、エラーログとアクセスログは決定的ではありません。
  2. wordpressの脆弱性ではないようです

  3. Lastcommを設定しましたが、www-dataユーザーの場合、次のように表示されます。これは明らかに攻撃が行われていることです。何が起こって実行されているかについて、どうすればより多くの情報を得ることができますか?

    $ Sudo lastcomm www-data enter image description here

  4. Apache2とhttpdプロセスの違いは何ですか?

    enter image description here

  5. 次のアクセスログエントリに気づきましたが、マイニングのバックアップの開始と同時に発生することはありません。

    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 $

  6. プロセスに対して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"
5
JonB

アクセスログでその奇妙な文字列をデコードしようとしましたか?

この文字列を貼り付けます:

%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の脆弱性が悪用されていることがわかります。

http://about-threats.trendmicro.com/RelatedThreats.aspx?language=au&name=The+Perils+of+the+Plesk+Zero-Day+Exploit

3

おそらく私と同じ問題はないでしょうが、私のVPSはJBossの脆弱性を使用して悪用され、Webシェル(pwn.jsp)をインストールし、それを使用してPerlバックドアシェルをダウンロードしました。

攻撃者が残した可能性のある追加のバックドアに注意を向けたいと思いました。奇妙な名前のWARファイルを含むJBoss管理コンソールディレクトリを見つけました。これをデプロイすると、攻撃者は自分の選択したアプリケーションをJBossインストールにデプロイできます。

私は別の stackoverflow投稿ブログ投稿でさらにもっと にいくつかの詳細があります

1
Pedro Rio

cronジョブ定義は、テキストファイルとして次の可能な場所のいずれかに配置されます。

  • /etc/cron.d/
  • /etc/cron.daily/
  • /etc/cron.hourly/
  • /etc/cron.monthly/
  • /etc/cron.weekly/
  • / var/pool/cron/crontabs

最初の5つはシステムベースのcronフォルダーであり、通常はすべてルートレベルで実行され、最後はユーザーごとのcronを含むディレクトリです(たとえば、crontab -eまたはcrontab -lを実行すると、各ユーザーはそのディレクトリからロードされます作成されたcronジョブを持つアカウントには、このフォルダーにファイルがあります

そこを見てください。次のcron定義で始まるcronタスクがある可能性があります。

6 10,22 * * * ....

0
anthonysomerset