ayanhackss/ShieldScan
GitHub: ayanhackss/ShieldScan
面向 aaPanel 的实时恶意软件检测插件,集成特征码匹配、YARA 规则、熵分析机器学习和 WordPress 深度扫描,为 Web 服务器提供企业级安全防护。
Stars: 0 | Forks: 0
# ShieldScan — 用于恶意软件检测的 aaPanel 插件
适用于 aaPanel 的实时恶意软件检测插件,内置 55+ 特征码、YARA 规则、熵分析、WordPress 核心验证和自动隔离功能。



## 概述
ShieldScan 是一款免费的 aaPanel 插件,可为您的服务器提供企业级恶意软件扫描功能。
| | |
| -------------- | ------------------------------------------------- |
| **特征码** | 55+ 正则表达式模式、YARA 规则、哈希匹配 |
| **ML 引擎** | Shannon 熵 + 统计分类器 |
| **实时防护** | Inotify 监控与自动隔离 |
| **WordPress** | 核心校验和、插件 CVE、数据库扫描、自动更新 |
| **完整性** | 基线差异对比用于篡改检测 |
| **报告** | PDF 导出、扫描历史记录、仪表盘 |
## 安装说明
### 通过 aaPanel 安装(推荐)
1. 将插件下载为 `.zip` 文件
2. 登录您的 aaPanel 控制面板
3. 从左侧边栏进入 **App Store**
4. 点击右上角的 **Import**
5. 上传 `.zip` 文件
6. 点击 **Install** — 完成
### 环境要求
全部为可选项 — 扫描器可单独使用正则表达式特征码运行:
| Package | Purpose |
| ----------- | -------------------- |
| yara-python | YARA 规则引擎 |
| requests | WP API,Webhook |
| reportlab | PDF 报告 |
| pymysql | WP 数据库扫描 |
| inotify | 实时监控 |
| WP-CLI | 插件自动更新 |
## 检测能力
### 分类
| Category | Count | Covers |
| -------------------- | ----- | ----------------------------------------------------------------- |
| Webshell | 10 | eval 注入、已知 shell (c99, r57, b374k, WSO, Alfa) |
| Backdoor | 5 | RFI/LFI、反向 shell、上传漏洞利用 |
| Obfuscation | 8 | base64/hex/chr 链、gzinflate、pack() |
| Malware | 6 | 挖矿脚本、邮件滥发脚本、钓鱼工具包、信用卡窃取脚本、键盘记录器 |
| WordPress | 20+ | 伪造插件、cron 后门、REST 漏洞利用、WooCommerce 信用卡窃取脚本 |
| Evasion | 4 | 字符串拼接、可变变量、反射 API |
| Privilege Escalation | 2 | 符号链接攻击、敏感文件读取 |
| Exfiltration | 2 | DNS 数据外发、WebSocket 窃取 |
### ML 分类器
为每个文件提取 8 项统计特征:
- Shannon 熵
- 卡方分布
- ASCII 比例
- 不可打印字节比例
- 最长行长度
- 压缩率
- 关键字密度
- 行长度方差
分类结果为:`clean` / `suspicious` / `malicious` / `legitimate_obfuscated`
识别合法工具:ionCube, SourceGuardian, Zend Guard, phpSHIELD。
## WordPress 扫描器
| Check | Method |
| -------------- | ----------------------------------------------------------------- |
| 核心完整性 | 根据 WordPress.org 校验和 API 验证文件 |
| 插件 CVE | 对照漏洞数据库检查版本 |
| 数据库扫描 | 检测 wp_options、wp_posts 中注入的 JS/iframe |
| 配置审计 | 调试模式、文件编辑、表前缀、密钥强度、权限 |
| 上传目录 | uploads 目录中的 PHP 文件、嵌入了 PHP 的图片 |
| mu-plugins | 自动加载的后门 |
| .htaccess | 外部重定向、uploads 目录中的 PHP 执行 |
| 管理员审计 | 列出管理员用户,标记近期创建的账号 |
| 自动更新 | 通过 WP-CLI 更新带有漏洞的插件 |
## 实时防护
- 通过 Linux inotify 监控已配置的路径
- 即时扫描新建/修改的 PHP 文件
- 自动隔离模式(可选)
- Webhook 告警:Telegram, Discord, Slack
## 文件结构
```
malwarescan/
├── info.json
├── install.sh
├── malwarescan_main.py # Core engine (60 API methods)
├── ml_classifier.py # ML entropy classifier
├── realtime_watcher.py # Inotify file watcher
├── report_generator.py # PDF report generator
├── wp_advanced.py # WordPress advanced scanner
├── index.html # 10-tab UI
└── ico-malwarescan.png # Plugin icon
```
## 用户界面
| Tab | Function |
| ---------- | ------------------------------------------------ |
| Dashboard | 统计数据、上次扫描、功能概览 |
| Scan | 带有实时进度的后台扫描 |
| Integrity | 基线创建、变更检测 |
| Quarantine | 恢复或永久删除隔离文件 |
| Schedule | 定期扫描(6小时 / 12小时 / 每天 / 每周) |
| Reports | 历史记录、PDF 导出 |
| Whitelist | 路径排除 |
| WordPress | 深度扫描、校验和、CVE、数据库扫描、自动更新 |
| Realtime | 文件监控、自动隔离、Webhook 配置 |
| ML Scan | 熵分类、特征分析 |
## API
所有端点:`POST /plugin?action=a&name=malwarescan&s={method}`
**扫描** — `scan_path`, `scan_status`, `scan_file`
**WordPress** — `wp_scan`, `wp_verify_checksums`, `wp_check_vulns`, `wp_scan_database`, `wp_auto_update`
**ML** — `ml_classify_file`, `ml_classify_path`, `ml_train`
**实时防护** — `watcher_start`, `watcher_stop`, `watcher_status`, `watcher_events`, `watcher_config`
**隔离** — `quarantine_file`, `restore_file`, `delete_quarantined`, `list_quarantine`
**报告** — `generate_pdf_report`, `list_pdf_reports`, `delete_pdf_report`
**完整性** — `integrity_create_baseline`, `integrity_check`
**计划任务** — `schedule_add`, `schedule_list`, `schedule_remove`, `schedule_toggle`
## 配置
### 定时扫描
每小时执行一次 cron 以检查到期的扫描任务(安装时自动配置):
```
0 * * * * cd /www/server/panel && python3 -c "..." >> logs/cron.log 2>&1
```
### 实时监控
通过 UI 或 API 进行配置:
```
{
"watch_paths": ["/www/wwwroot/site1.com", "/www/wwwroot/site2.com"],
"auto_quarantine": true,
"alert_webhook": "https://hooks.slack.com/services/..."
}
```
### 自定义 YARA 规则
将 `.yar` 文件放入 `/www/server/panel/plugin/malwarescan/rules/` 目录
## 安全性
- 以 root 用户运行(aaPanel 环境下)
- 隔离目录权限:`chmod 700`
- Python 模块权限:`chmod 600`
- 默认禁用自动隔离
- 白名单支持文件和目录路径
- 未经明确的 Webhook 配置,不会向外部传输数据
## 开源许可证
MIT
### 关键词
`aapanel` `aapanel-plugin` `malware-scanner` `webshell-detection` `wordpress-security` `php-malware` `server-security` `file-integrity` `yara-rules` `real-time-protection` `baota` `bt-panel` `security-plugin`
标签:aaPanel, AMSI绕过, Apex, Claude, CVE检测, DNS信息、DNS暴力破解, inotify, PB级数据处理, Python, Shannon熵, TypeScript, Webshell检测, WordPress安全, x64dbg, YARA规则, 入侵检测系统, 后门检测, 基线对比, 威胁检测, 字典生成, 安全插件, 安全数据湖, 安全运维, 宝塔面板, 操作系统监控, 无后门, 机器学习, 核心文件校验, 熵分析, 自动化防御, 自动隔离, 逆向工具