_______ __ __ _______
| ___ || |_| || |
| | | || || ___|
| |___| || || |___ Webshell finder,
| ___|| || ___| kiddies hunter,
| | | ||_|| || | website cleaner.
|___| |_| |_||___|
Detect potentially malicious PHP files.
PHP-malware-finder は、難読化された/怪しいコードや、マルウェア/ウェブシェルでよく使われる PHP 関数を使用しているファイルを検出するために最善を尽くします。
以下のエンコーダー/難読化ツール/ウェブシェルのリストも検出されます:
もちろん、PMF を回避するのは 簡単 ですが、 その目的はキディやバカを捕まえることであって、 まともな人間を捕まえることではありません。 もし、PMF に対する馬鹿げたカスタマイズされた回避方法を報告するなら、あなたはおそらくそのどちらか(あるいは両方)のカテゴリーに属しており、前の文を読み直すべきです。
検出は、ファイルシステムをクロールし、ファイルを YARA ルールのセットに対してテストすることで行われます。そうです、とてもシンプルです!
ハッシュベースのアプローチではなく、
PMF は可能な限りセマンティックパターンを使用して、「$_GET 変数が2回デコードされ、解凍され、
そして system のような危険な関数に渡される」といったことを検出しようとします。
sudo apt-get install yarayum install yara(EPEL リポジトリが必要です)ソースからコンパイルすることもできます:
git clone [email protected]:VirusTotal/yara.git
cd yara/
YACC=bison ./configure
make
git clone https://github.com/jvoisin/php-malware-finder.git$ ./phpmalwarefinder -h
Usage phpmalwarefinder [-cfhtvl] <file|folder> ...
-c Optional path to a rule file
-f Fast mode
-h Show this help message
-t Specify the number of threads to use (8 by default)
-v Verbose mode
または、yara を使用したい場合:
$ yara -r ./php.yar /var/www
少なくとも YARA 3.4 を使用する必要があることに注意してください。ホワイトリストシステムと貪欲な正規表現のためにハッシュを使用しているためです。yara をソースからビルドする場合は、ハッシュをサポートするために libssl-dev がシステムにインストールされている必要があります。
そうそう、make tests で包括的なテストスイートを実行できます。
whitelist.yar ファイルを確認してください。 面倒な場合は、generate_whitelist.py スクリプトを使用してフォルダ全体のホワイトリストを生成できます。
なぜなら:
PHP-malware-finder は GNU Lesser General Public License v3 の下でライセンスされています。
素晴らしい YARA プロジェクトは Apache v2.0 ライセンスの下でライセンスされています。
パッチ、ホワイトリスト、サンプルはもちろん大歓迎です。