VPS利用比特币挖掘。 如何识别缺陷?

我运行一个Ubuntu VPS来托pipe几个基本的网站,似乎有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 

计划是重新build立我的VPS,但首先我想明白这是如何发生的,我正在走向死胡同。 以下是我注意到/尝试的一些事情:

  1. 我可以重新启动我的VPS,直到几个小时后才开始采矿。 这是一个CRON的工作? (似乎每天早上10点左右重启)。

    • 这是CRON的工作吗? 似乎无法在crontab中find任何东西,但是我还有其他地方可以检查吗?
    • 他们有我的VPS的IP地址,并利用我的服务器上的东西? 我将如何检测到这一点,错误和访问日志是不确定的。
  2. 似乎不是一个WordPress的漏洞

  3. 我已经设置了lastcomm和www数据用户,我看到以下 – 这显然是发生的攻击。 我如何获得更多关于正在进行和正在运行的信息?

    $ sudo lastcomm www-data 在这里输入图像说明

  4. apache2和httpd进程有什么区别?

    在这里输入图像说明

  5. 我现在已经注意到了下面的访问日志条目,但从来没有一次与采矿开始时一致:

    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

更新:

我不认为这是plesk利用,因为apache是​​返回一个404(正确?!)我现在非常确定这只是一个隐藏的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" 

你有没有尝试解码访问日志中的奇怪的string?

粘贴这个string:

%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

快速的谷歌search解码ASCII文本表明,这是一个Plesk漏洞被利用。

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

你可能没有像我一样的问题,但我的VPS被利用了JBoss漏洞,他们安装了一个web shell(pwn.jsp),然后用它下载了一些perl后门shell。

我只是想说,要警惕攻击者可能已经离开的其他后门程序。 我发现我的JBosspipe理控制台目录中有一个奇怪的WAR文件,在部署时会允许攻击者在我的JBoss安装中部署他select的任何应用程序

我有更多的细节在另一个stackoverflowpost , 甚至更多的博客文章

cron作业定义将会在这些可能的位置中的任何一个文本文件中:

  • /etc/cron.d/
  • /etc/cron.daily/
  • /etc/cron.hourly/
  • /etc/cron.monthly/
  • /etc/cron.weekly/
  • 的/ var /线轴/ cron的/ crontabs中

前5个是基于系统的cron文件夹,一般都在根目录下运行,最后一个是包含每个用户crons的目录(例如,当你运行crontab -e或者crontab -l ,它将从该目录加载每个用户帐户创build的cron作业将在此文件夹中有一个文件

看看那里,它可能会有一个cron任务,从以下cron定义开始

6 10,22 * * * ....