Java-Chains 是一个 Java Payload 生成与漏洞利用 Web 平台,便于广大安全研究员快速生成 Java Payload,以及对 JNDI 注入、MySQL JDBC 反序列化、JRMP 反序列化等漏洞进行方便快速测试,能够在一定程度上提高测试效率。
Java-Chains包含以下功能但不限于
Java 反序列化原生 Payload 生成
Hessian 1/2 反序列化 Payload 生成
Shiro 数据生成(自定义 KEY 使用 GCM 混淆字符等)
AMF3 数据生成(基于原生数据多种进阶组合)
XStream 数据生成(基于原生数据多种进阶组合)
BCEL 字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
Class 字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
数据库Payload (Derby/H2/PostgreSQL/Sqlite)
Fastjson/SnakeYAML/SpringBeanXML/Velocity/OGNL/MVEL/SPEL/JS/GROOVY
JavaNativePayload: 生成 Java 反序列化Payload (例如 CB/CC/Fastjson/Jackson/JRMP/FindClassd 等链)
Hessian1Payload: 生成 Hessian1 版本的反序列化Payload (例如 SwingLazyValue/Xslt 等链)
Hessian2ToStringPayload: 生成 Hessian2 exception toString Payload
Hessian2Payload: 生成 Hessian2 版本的反序列化Payload
BytecodePayload: 生成各种字节码(例如 读写文件/命令执行/Sleep/内存马/回显)
ShiroPayload: 生成Shiro Payload
ExpressionPayload: 生成各种表达式 Payload
JDBCPayload: 生成各种 JDBC Payload
OtherPayload: 生成 SpringBeanXml、Groovy、charsets.jar 等 Payload
...
JNDI Control: JNDI 控制面板,使用以下功能前需要提前打开相关端口
JNDIBasicPayload: JNDI LDAP 远程加载字节码
JNDILDAPDeserializePayload: JNDI LDAP 反序列化
JNDIResourceRefPayload: JNDI LDAP BeanFactory 利用姿势,例如TomcatEL表达式执行
JNDIReferencePayload: JNDI LDAP 其他ObjectFactory利用姿势,例如通过各种DataSourceFactory实现Jdbc的加载
JNDIRMIDeserializePayload: JNDI RMI 反序列化,适用于较高的JDK版本中
JNDIRefBypassPayload: 属于 JNDIReferencePayload 的绕过版本,适用于 javaSerializedData 无法反序列化Reference对象的场景,即高版本JDK场景下
JNDIShowHandPayload: 梭哈链,涵盖了常见的利用链
JNDI注入 payload支持
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
高级功能
自定义类名/定义字节码版本
选择 Commons Beanutils 链的多种 comparator 类型
支持生成 TemplatesImpl 格式
支持生成 SnakeYaml Jar 格式
支持生成 Fastjson Groovy 格式
支持生成 JavaWrapper 格式
支持生成 charsets.jar 格式
支持增强魔改版 JMG/JEG 格式 (java echo generator, java memshell generator)
方法一: Docker
您可以java-chains
使用单个命令启动项目docker
(这是推荐的方法)。
docker run -d
--name java-chains
--restart=always
-p 8011:8011
-p 58080:58080
-p 50389:50389
-p 50388:50388
-p 3308:3308
-p 13999:13999
-p 50000:50000
-p 11527:11527
-e CHAINS_AUTH=true
-e CHAINS_PASS=
javachains/javachains:1.4.0
方法二:通过 Jar包
启动命令:
java -jar java-chains-[version].jar
每次启动时都会默认打印随机生成的密码。
默认监听0.0.0.0,登录页面:http://your-ip:8011
4、资源获取
原文始发于微信公众号(小白爱学习Sec):【工具分享】Chains漏洞生成&利用 Web 平台
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论