_______ __ __ _______
| ___ || |_| || |
| | | || || ___|
| |___| || || |___ Webshell finder,
| ___|| || ___| kiddies hunter,
| | | ||_|| || | website cleaner.
|___| |_| |_||___|
Detect potentially malicious PHP files.
Pencari malware PHP melakukan yang terbaik untuk mendeteksi kode yang dikaburkan/cerdik serta file menggunakan fungsi PHP yang sering digunakan di malware/webshell.
Daftar encoder/obfuscator/webshell berikut juga terdeteksi:
Tentu saja sepele untuk mengabaikan PMF, tetapi tujuannya adalah untuk menangkap anak-anak dan idiot, bukan orang-orang dengan otak yang bekerja. Jika Anda melaporkan bypass bodoh yang dirancang khusus untuk PMF, kemungkinan besar Anda termasuk dalam salah satu (atau keduanya), dan harus membaca kembali pernyataan sebelumnya.
Deteksi dilakukan dengan meng-crawl sistem file dan menguji file berdasarkan serangkaian aturan YARA. Ya, sesederhana itu!
Daripada menggunakan pendekatan berbasis hash , PMF mencoba semaksimal mungkin menggunakan pola semantik, untuk mendeteksi hal-hal seperti "variabel $_GET
didekodekan dua kali, dibuka ritsletingnya, dan kemudian diteruskan ke beberapa fungsi berbahaya seperti system
".
git clone https://github.com/jvoisin/php-malware-finder.git
cd php-malware-finder && make
atau ganti 2 langkah terakhir dengan go install github.com/jvoisin/php-malware-finder
, yang akan langsung mengkompilasi dan menginstal PMF di folder ${GOROOT}/bin
Anda.
$ ./php-malware-finder -h
Usage:
php-malware-finder [OPTIONS] [Target]
Application Options:
-r, --rules-dir= Alternative rules location (default: embedded rules)
-a, --show-all Display all matched rules
-f, --fast Enable YARA's fast mode
-R, --rate-limit= Max. filesystem ops per second, 0 for no limit (default: 0)
-v, --verbose Verbose mode
-w, --workers= Number of workers to spawn for scanning (default: 32)
-L, --long-lines Check long lines
-c, --exclude-common Do not scan files with common extensions
-i, --exclude-imgs Do not scan image files
-x, --exclude-ext= Additional file extensions to exclude
-u, --update Update rules
-V, --version Show version number and exit
Help Options:
-h, --help Show this help message
Atau jika Anda lebih suka menggunakan yara
:
$ yara -r ./data/php.yar /var/www
Harap diingat bahwa Anda harus menggunakan setidaknya YARA 3.4 karena kami menggunakan hash untuk sistem daftar putih, dan regexp serakah. Harap dicatat bahwa jika Anda berencana membangun yara dari sumber, libssl-dev harus diinstal pada sistem Anda agar mendapat dukungan untuk hash.
Oh, dan omong-omong, Anda dapat menjalankan testsuite komprehensif dengan make tests
.
Jika Anda tidak perlu menginstal Go dan libyara, Anda juga dapat menggunakan image buruh pelabuhan kami dan cukup memasang folder yang ingin Anda pindai ke direktori /data
container:
$ docker run --rm -v /folder/to/scan:/data ghcr.io/jvoisin/php-malware-finder
Periksa file whitelist.yar. Jika Anda malas, Anda dapat membuat daftar putih untuk seluruh folder dengan skrip generate_whitelist.py.
Karena:
Pencari malware PHP dilisensikan di bawah GNU Lesser General Public License v3.
Proyek YARA yang luar biasa ini dilisensikan di bawah lisensi Apache v2.0.
Patch, daftar putih, atau sampel tentu saja diterima dengan baik.