
YARA-сканер, обнаруживающий обфусцированные PHP-вредоносы и веб-шеллы с помощью семантического сопоставления шаблонов вместо хешей файлов, с системой белых списков и многопоточным обходом.
_______ __ __ _______
| ___ || |_| || |
| | | || || ___|
| |___| || || |___ Webshell finder,
| ___|| || ___| kiddies hunter,
| | | ||_|| || | website cleaner.
|___| |_| |_||___|
Detect potentially malicious PHP files.
PHP-malware-finder делает всё возможное для обнаружения обфусцированного/подозрительного кода, а также файлов, использующих функции PHP, часто применяемые в вредоносных программах/веб-шеллах.
Также обнаруживаются следующие кодировщики/обфускаторы/веб-шеллы:
Конечно, обойти PMF тривиально, но его цель — ловить детишек и идиотов, а не людей с работающим мозгом. Если вы сообщаете о глупом специализированном обходе PMF, вы, вероятно, относитесь к одной (или обеим) категориям и должны перечитать предыдущее утверждение.
Обнаружение выполняется путем сканирования файловой системы и проверки файлов на соответствие набору правил YARA. Да, это так просто!
Вместо использования подхода на основе хешей, PMF по возможности использует семантические шаблоны для обнаружения таких вещей, как "переменная $_GET декодируется дважды, распаковывается, а затем передается в опасную функцию, например 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.
Проект amazing YARA лицензирован по лицензии Apache v2.0.
Патчи, белые списки или образцы, конечно, приветствуются.