Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
php-malware-finder — 检测潜在恶意的PHP文件 | Kitploit
工具/GitHubGitHub/jvoisin/php-malware-finder
静态分析漏洞扫描器代码分析Web安全恶意软件分析Archived
GitHubjvoisin/php-malware-finder

php-malware-finder

检测潜在恶意的PHP文件

查看仓库
1.5k27772年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Test Suite

PHP 恶意文件查找器

root@kitploit:~
 _______  __   __  _______
|  ___  ||  |_|  ||       |
| |   | ||       ||    ___|
| |___| ||       ||   |___   网站后门查找器,
|    ___||       ||    ___|   脚本小子猎手,
|   |    | ||_|| ||   |		网站清理器。
|___|    |_|   |_||___|

检测潜在的恶意 PHP 文件。

它能检测什么?

PHP-malware-finder 尽全力检测经过混淆/可疑的代码,以及那些使用恶意软件/后门中常见 PHP 函数的文件。

同时也会检测以下编码器/混淆器/后门列表:

  • Bantam
  • Best PHP Obfuscator
  • Carbylamine
  • Cipher Design
  • Cyklodev
  • Joes Web Tools Obfuscator
  • P.A.S
  • PHP Jiami
  • Php Obfuscator Encode
  • SpinObf
  • Weevely3
  • atomiku
  • cobra obfuscator
  • nano
  • novahot
  • phpencode
  • tennc
  • web-malware-collection
  • webtoolsvn
  • Kraken-ng

当然,绕过 PMF 是微不足道的, 但它的目标是抓住脚本小子和傻瓜, 而不是那些有正常头脑的人。 如果你报告一个愚蠢的针对 PMF 的定制绕过方法,你很可能属于上述一个(或两个)类别,并且应该重新阅读前面的声明。

它是如何工作的?

通过遍历文件系统并将文件与一个YARA规则集进行测试来执行检测。是的,就是这么简单!

PMF 没有采用基于哈希的方法, 而是尽可能使用语义模式来检测诸如“一个 $_GET 变量被解码两次、解压, 然后传递给像 system 这样的危险函数”之类的情况。

安装

从源码安装

  • 安装 Go >= 1.17(使用你的包管理器,或手动安装)
  • 安装 libyara >= 4.2(使用你的包管理器,或从源码安装)
  • 下载 php-malware-finder:git clone https://github.com/jvoisin/php-malware-finder.git
  • 构建 php-malware-finder:cd php-malware-finder && make

或者用以下命令替换最后两步:go install github.com/jvoisin/php-malware-finder, 这将直接编译并安装 PMF 到你的 ${GOROOT}/bin 文件夹中。

如何使用?

root@kitploit:~
$ ./php-malware-finder -h
Usage:
  php-malware-finder [OPTIONS] [Target]

Application Options:
  -r, --rules-dir=      替代规则位置(默认:内嵌规则)
  -a, --show-all        显示所有匹配的规则
  -f, --fast            启用 YARA 的快速模式
  -R, --rate-limit=     最大每秒文件系统操作数,0 表示无限制(默认:0)
  -v, --verbose         详细模式
  -w, --workers=        用于扫描的工作线程数(默认:32)
  -L, --long-lines      检查长行
  -c, --exclude-common  不扫描常见扩展名的文件
  -i, --exclude-imgs    不扫描图像文件
  -x, --exclude-ext=    要排除的其他文件扩展名
  -u, --update          更新规则
  -V, --version         显示版本号并退出

Help Options:
  -h, --help            显示此帮助信息

或者如果你更愿意使用 yara:

root@kitploit:~
$ yara -r ./data/php.yar /var/www

请记住,你应该至少使用 YARA 3.4,因为我们在白名单系统中使用了哈希以及贪婪的正则表达式。请注意,如果你打算从源码构建 yara,则必须在系统上安装 libssl-dev 以支持哈希。

哦,顺便说一句,你可以用 make tests 运行全面的测试套件。

Docker

如果你想避免安装 Go 和 libyara,也可以使用我们的 docker 镜像,只需将要扫描的文件夹挂载到容器的 /data 目录:

root@kitploit:~
$ docker run --rm -v /folder/to/scan:/data ghcr.io/jvoisin/php-malware-finder

白名单

检查 whitelist.yar 文件。 如果你比较懒,可以使用 generate_whitelist.py 脚本为整个文件夹生成白名单。

为什么我应该用它而不是其他工具?

因为:

  • 它不采用每个样本一条规则的方法,因为它只关心查找恶意模式,而不是特定的后门
  • 它有一个完整的测试套件,以避免回归
  • 它的白名单系统不依赖于文件名
  • 它不依赖于(慢速的)熵计算
  • 它使用街头风格(ghetto-style)的静态分析,而不是依赖文件哈希
  • 多亏了上述伪静态分析,它尤其适用于混淆过的文件

许可证

PHP-malware-finder 采用 GNU Lesser General Public License v3 许可。

出色的 YARA 项目采用 Apache v2.0 许可证。

当然,非常欢迎补丁、白名单或样本。

下载工具