Adrees-Basheer/wp2shell-vulnerability-scanner
GitHub: Adrees-Basheer/wp2shell-vulnerability-scanner
WP2Shell Scanner 是一个 Bash 编写的只读安全审计工具,通过本地版本比对快速检测 WordPress 安装是否存在 wp2shell 漏洞链,帮助管理员批量识别需要紧急修补的站点。
Stars: 0 | Forks: 0
# WP2Shell Scanner
一款只读、非破坏性的安全审计工具,用于扫描 WordPress 安装环境以查找 **wp2shell** 漏洞链。
## 概述
WP2Shell Scanner 是一个 bash 实用程序,它递归搜索目录树以查找 WordPress 安装环境,并检查每个站点运行的内核版本是否存在 **wp2shell** 漏洞(CVE-2026-63030 + CVE-2026-60137)。
该工具专为系统管理员和安全团队设计,旨在快速识别需要紧急修补的 WordPress 实例。
## 扫描内容
扫描程序通过在目标目录及所有子目录中定位 `wp-includes/version.php` 文件来识别 WordPress 安装环境。对于发现的每个安装环境,它会:
- 提取 WordPress 版本号
- 检查该版本是否落在已知的漏洞范围内
- 对漏洞类型和严重程度进行分类
- 生成控制台输出和可选的 CSV 报告
## 漏洞版本
该工具可检测三种漏洞严重程度级别:
### 完整 RCE(未授权远程代码执行)
- **WordPress 6.9.0 – 6.9.4**:包含两个 CVE(SQL injection + REST API 批量路由混淆)
- **修复**:升级至 6.9.5 或更高版本
- **紧急程度**:🔴 严重 – 立即修补
- **WordPress 7.0.0 – 7.0.1**:包含两个 CVE(SQL injection + REST API 批量路由混淆)
- **修复**:升级至 7.0.2 或更高版本
- **紧急程度**:🔴 严重 – 立即修补
### 仅 SQL Injection
- **WordPress 6.8.0 – 6.8.5**:存在 SQL injection 漏洞 (CVE-2026-60137),但没有 REST API 路由混淆
- **修复**:升级至 6.8.6 或更高版本
- **紧急程度**:🟡 高 – 需要修补,但优先级低于 RCE 版本
- **注意**:无法通过完整的未授权 RCE 链被利用,但依然是真实存在的漏洞
### 安全
- 所有其他版本均被视为安全,似乎不受影响
## 设置
在使用扫描程序之前,请将该脚本设为可执行:
```
chmod +x wp2shell-scanner.sh
```
## 用法
### 基础扫描
```
./wp2shell-scanner.sh /path/to/scan
```
扫描指定目录及所有子目录以查找 WordPress 安装环境,并将结果显示在控制台上。
### 生成 CSV 报告
```
./wp2shell-scanner.sh /path/to/scan --csv report.csv
```
执行相同的扫描,但还会将结果保存到 `report.csv` 中,以便进一步分析或与其他工具集成。
### 常见示例
```
# 扫描整个 web root
./wp2shell-scanner.sh /var/www
# 扫描并导出 CSV
./wp2shell-scanner.sh /home/users --csv wordpress-audit.csv
# 使用 sudo 扫描 web server 目录(如果需要权限)
sudo ./wp2shell-scanner.sh /home
```
## 输出
### 控制台输出
该工具会显示带有颜色编码状态指示器的结果:
- **[!] VULNERABLE - FULL RCE**(红色):检测到完整的 RCE 链 – 请立即修补
- **[!] VULNERABLE - SQLi only**(黄色):仅存在 SQL injection – 请尽快修补
- **[OK]**(绿色):版本安全
- **[?]**(黄色):无法确定版本
**示例:**
```
Scanning for WordPress installs under: /var/www
----------------------------------------------------------------------
[!] VULNERABLE - FULL RCE /var/www/site1 -> WP 6.9.3 (patch to 6.9.5 or 7.0.2 immediately)
[!] VULNERABLE - SQLi only /var/www/site2 -> WP 6.8.4 (patch to 6.8.6; no full RCE chain on this branch)
[OK] /var/www/site3 -> WP 7.1.0
[?] /var/www/site4 -> could not determine version
----------------------------------------------------------------------
Scan complete.
Sites found: 4
Vulnerable (RCE): 1
Vulnerable (SQLi): 1
Safe: 1
Unknown: 1
```
### CSV 输出
使用 `--csv` 时,将创建一个具有以下格式的文件:
```
path,version,status
"/var/www/site1",6.9.3,VULNERABLE (RCE)
"/var/www/site2",6.8.4,VULNERABLE (SQLi)
"/var/www/site3",7.1.0,SAFE
"/var/www/site4",unknown,UNKNOWN
```
此格式适合导入电子表格、安全仪表板或自动补救工作流。
标签:Bash, CISA项目, Cutter, Ubuntu, WordPress, 密码管理, 应用安全, 远程代码执行检测