帶有 ClamAV 的 Maldet 缺少 PHP base64_decode() 和 eval() hack
我已經在我的 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 不是網路伺服器的最佳工具?
我將PHP 惡意軟體簽名(來自https://malware.expert/signatures/)添加到 ClamAV 中,並在 WordPress 網站中成功檢測到其中一些威脅。
我錯過了什麼?
基本上是的。工具喜歡但不具備為您提供 100% 檢測率和惡意軟體保護的關鍵
maldet
點clamav
。即使是企業級的防病毒解決方案也可能會失敗——但是,根據我的經驗(其中一些)比這兩個要好得多。
maldet
並clamav
在這裡讓您擺脫一大堆惡意軟體 - 相信我,其中有很多。您問題的第二部分是關於缺少一些非常知名的惡意軟體。不幸的是,它發生了。這是討論的主題。對我來說,這兩個未能檢測到b374k Shell令人震驚。但再次發生並證明,即使檢測率為 99.9%,也不應該依靠反惡意軟體掃描程序的質量來規劃安全策略。
只需在這個答案中多加 2 美分:帶有問題程式碼的文件肯定會被Shell Detector
PHP
標記為可疑。但是,為可能出現的許多誤報做好準備。您必須仔細檢查並將它們列入白名單。