java-chains 是 Vulhub 团队开发的一款专注于 Java 反序列化漏洞利用链(Gadget Chains) 的安全测试工具
java-chains
是 Vulhub 团队开发的一款专注于 Java 反序列化漏洞利用链(Gadget Chains) 的安全测试工具,主要用于自动化生成和验证 Java 反序列化漏洞的利用载荷(Payload)。以下是对该工具的详细解析:
- 工具背景
- 反序列化漏洞:Java 应用在反序列化不可信数据时可能触发远程代码执行(RCE),典型场景如 FastJSON、Jackson、XStream 等库的漏洞。
- Gadget Chains:利用目标环境中存在的依赖库(如 commons-collections、groovy、jdbc等)构造恶意对象链,绕过防御实现攻击。
- 工具定位:自动化生成多场景下的利用链,简化渗透测试过程。
- 核心功能
(1)支持的主流漏洞链
- 经典库漏洞:
- Commons Collections (3.1/4.0)
- Groovy (CVE-2015-3253)
- Spring (CVE-2018-1273)
- FastJSON (CVE-2017-18349)
- JDBC 反序列化(MySQL/FakeJNDI)
- 协议扩展:
- JNDI 注入(RMI/LDAP)
- HTTP 请求伪造(配合 DNSLog 回显)
(2)核心操作模式
- Payload 生成:根据目标环境选择依赖链,动态生成序列化后的攻击数据。
- 流量代理:拦截和修改 Java 应用的序列化流量(如 RMI、HTTP 请求中的 Base64 数据)。
- 漏洞检测:通过 DNSLog 或 HTTP 回调验证目标是否存在漏洞。