rootkiTED/graylog-cve-2024-24824-exploit

GitHub: rootkiTED/graylog-cve-2024-24824-exploit

该项目是针对 Graylog CVE-2024-24824 任意类加载漏洞的概念验证漏洞利用程序,展示了将类加载原语转化为远程代码执行的完整研究过程。

Stars: 0 | Forks: 0

# 利用 JVM 上的任意类加载 本仓库包含我在演讲中展示的概念验证漏洞利用程序: 如果你感兴趣,可以在这里观看:[Youtube](https://www.youtube.com/watch?v=QTkNK1IUWgA) 该漏洞利用针对 **CVE-2024-24824**(幻灯片中有轻微拼写错误),这是一个影响 **2.0.0 至 5.2.3** 版本 Graylog 的任意类加载漏洞。 这项研究并未将任意类加载作为最终目标,而是探讨了如何通过分析可用的 JVM classpath,将该原语用于发现并构建越来越强大的漏洞利用技术。 ## 概述 假设能够使用攻击者控制的数据实例化任意类,挑战就变成了: 答案完全取决于目标应用程序的 classpath 中存在哪些类。 ## 概述 相关研究探讨了如何将任意类加载原语转化为多种漏洞利用原语,包括: - 本地文件读取 - 进程枚举 - 信息泄露 - 任意文件写入 - SSRF - XXE - 内部端口扫描 - 远程代码执行 本仓库重点关注在演讲中演示的**远程代码执行漏洞利用**,以及在漏洞分析过程中使用的研究、辅助脚本和工具支持。 以下是在易受攻击的实例上运行该漏洞利用程序的预期结果: ![运行漏洞利用程序](https://static.pigsec.cn/wp-content/uploads/repos/cas/7e/7ea431033ed47910250f5425c4a9aed8cd19dbaede78e4499d35a88a76874650.png) ## 仓库内容 ``` exploit/ Exploit source docs/ Slides ``` ## 研究方法 相关演讲从头到尾详细介绍了漏洞利用的过程: 1. 发现任意类加载原语。 2. 了解 Jackson 的反序列化行为。 3. 枚举候选类。 4. 使用 Joern 减少数以千计的构造函数。 5. 识别有用的漏洞利用原语。 6. 将这些原语链接成具有更大破坏性的攻击。 7. 实现远程代码执行。 目的是展示漏洞利用开发背后的*思考过程*,而不仅仅是抛出一个漏洞利用程序。 ## 要求 - 易受攻击的 Graylog 实例 - 具有编辑集群配置权限的有效凭证 - 与所演示的漏洞利用链兼容的 Java 版本 ## 免责声明 发布此代码仅用于教育目的、安全研究和授权的安全测试。 仅对你拥有或获得明确授权评估的系统进行测试。 ## 参考 - [CVE-2024-24824](https://nvd.nist.gov/vuln/detail/CVE-2024-24824) - 演讲:[利用 JVM 上的任意类加载](https://www.youtube.com/watch?v=QTkNK1IUWgA)
标签:CVE-2024-24824, JS文件枚举, JVM, PoC, RCE, XXE攻击, 暴力破解