我已经在我的 CentOS 7 服务器中安装了 Linux Malware Detect 和 ClamAV,看起来一切正常,因为它会命中EICAR 恶意软件测试文件并且可以毫无问题地进行预定扫描。
当我上传一个真正的恶意软件 PHP 文件时,问题就出现了,该文件是我在旧的共享网络服务器中的先前攻击中保留的。Maldet 不将其视为恶意文件。
我知道所有的 AV 都会漏掉一些威胁,但在这种情况下是一个非常明显的受感染文件,IMO。
//footer.php
<?php
function nBMj($NrG)
{
$NrG=gzinflate(base64_decode($NrG));
for($i=0;$i<strlen($NrG);$i++)
{
$NrG[$i] = chr(ord($NrG[$i])-1);
}
return $NrG;
}
eval(nBMj("Some_base64_encoded_text"));
?>
这是一个非常常见的 Wordpress hack,甚至没有混淆可疑功能。
特征
- 用于检测混淆威胁的统计分析组件(例如:base64)
- 删除 base64 和 gzinflate(base64 注入恶意软件)的更清晰规则
这是一个有 10 到 20 个站点的 Web 服务器,运行流行的 CMS,如 drupal 和 wordpress,因此绝大多数攻击都与这种文件感染有关。
所以,问题是:我错过了什么?base64/gzinflate 脚本是否有任何特殊配置,或者这是正常行为?也许带有 ClamAv 的 Maldet 不是网络服务器的最佳工具?