Centos

帶有 ClamAV 的 Maldet 缺少 PHP base64_decode() 和 eval() hack

  • April 13, 2018

我已經在我的 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,甚至沒有混淆可疑功能。

Maldet 開發者頁面

特徵

  • 用於檢測混淆威脅的統計分析組件(例如:base64)
  • 刪除 base64 和 gzinflate(base64 注入惡意軟體)的更清晰規則

這是一個有 10 到 20 個站點的 Web 伺服器,執行流行的 CMS,如 drupal 和 wordpress,因此絕大多數攻擊都與這種文件感染有關。

所以,問題是:我錯過了什麼?base64/gzinflate 腳本是否有任何特殊配置,或者這是正常行為?也許帶有 ClamAv 的 Maldet 不是網路伺服器的最佳工具?

我將PHP 惡意軟體簽名(來自https://malware.expert/signatures/)添加到 ClamAV 中,並在 WordPress 網站中成功檢測到其中一些威脅。

我錯過了什麼?

基本上是的。工具喜歡但不具備為您提供 100% 檢測率和惡意軟體保護的關鍵maldetclamav。即使是企業級的防病毒解決方案也可能會失敗——但是,根據我的經驗(其中一些)比這兩個要好得多。

maldetclamav在這裡讓您擺脫一大堆惡意軟體 - 相信我,其中有很多。您問題的第二部分是關於缺少一些非常知名的惡意軟體。不幸的是,它發生了。這是討論的主題。

對我來說,這兩個未能檢測到b374k Shell令人震驚。但再次發生並證明,即使檢測率為 99.9%,也不應該依靠反惡意軟體掃描程序的質量來規劃安全策略。


只需在這個答案中多加 2 美分:帶有問題程式碼的文件肯定會被Shell DetectorPHP標記為可疑。但是,為可能出現的許多誤報做好準備。您必須仔細檢查並將它們列入白名單。

引用自:https://serverfault.com/questions/817687