web-dev-qa-db-ja.com

ClamAVが欠落しているMaldet PHP base64_decode()&eval()ハック

Linux MalwareDetectとClamAVをCentOS7サーバーにインストールしましたが、 EICARマルウェアテストファイル にヒットし、スケジュールされたスキャンを問題なく実行できるため、問題はないようです。

問題は、古い共有Webサーバーで以前の攻撃から保持した実際のマルウェア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ハッキングであり、疑わしい関数も難読化されていません。

から Maldet開発者のページ

特徴

  • 難読化された脅威を検出するための統計分析コンポーネント(例:base64)
  • base64とgzinflate(base64で注入されたマルウェア)を削除するためのよりクリーンなルール

これは、drupalやwordpress)のような人気のあるCMSを実行している10〜20のサイトを持つWebサーバーであるため、攻撃の大部分はこの種のファイル感染によるものです。

だから、質問:私は何かが欠けていますか? base64/gzinflateスクリプトに特別な構成はありますか、それとも通常の動作ですか?たぶん、ClamAv付きのMaldetはWebサーバーに最適なツールではありませんか?

1
campsjos

PHP Malware Signatures(from https://malware.expert/signatures/ )をClamAVに追加し、いくつかを正常に検出しましたWordPress Webサイトでのこれらの脅威の.

2
jawira

私は何かが足りないのですか?

基本的にはい。 maldetclamavのようなツールは、100%の検出率とマルウェア保護を提供するために存在しないという点です。エンタープライズクラスのウイルス対策ソリューションでさえ失敗する可能性がありますが、私の経験から(それらのいくつか)はこれら2つよりもはるかに優れています。

maldetclamavは、大量のマルウェアを駆除するためにここにあります-そして、私を信じてください、それはたくさん そのうちの。あなたの質問の2番目の部分は、いくつかの非常によく知られているマルウェアの欠落に関するものです。残念ながら、それは起こります。これは議論の対象です。

私にとって、これら2つがb374kシェルを検出できないことは衝撃的です。しかし、繰り返しになりますが、検出率が99.9%であっても、マルウェア対策スキャナーの品質に依存してセキュリティ戦略を計画するべきではないことが証明されています。


この回答にさらに2¢を追加するだけです。問題のコードがPHPであるファイルは、 Shell Detector で疑わしいとマークされます。しかし、おそらく多くの誤検知に備えてください。それらを目で確認してホワイトリストに登録する必要があります。

1