
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 (requires the EPEL repository)소스에서 컴파일할 수도 있습니다:
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 라이선스에 따라 라이선스가 부여됩니다.
패치, 화이트리스트 또는 샘플은 언제나 환영합니다.