【WebChains】Java 安全研究领域的瑞士军刀

admin 2025年1月22日19:46:32评论32 views字数 2385阅读7分57秒阅读模式
工具介绍

Web-Chains 项目,又名 Java-Chains 项目,我们站在巨人肩膀上,致力于打造最强的 Java 安全研究领域的瑞士军刀

Web 版 Java Payload 生成与利用工具,提供 Java 反序列化、Hessian 1/2 反序列化等Payload生成,以及 JNDI、Fake Mysql、JRMPListener 等利用|The web version of Java Payload generation and utilization tool provides Payload generation such as Java deserialization and Hessian 1/2 deserialization, as well as JNDI, Fake Mysql, JRMPListener, etc

Web-Chains 含有六大模块:

  1. Generate
    : 生成模块
    • 自定义类名/定义字节码版本,支持使用 Class-Obf 进行字节码混淆
    • 选择 Commons Beanutils 链的多种 comparator 类型
    • 支持生成 TemplatesImpl 格式
    • 支持生成 SnakeYaml Jar 格式
    • 支持生成 Fastjson Groovy 格式
    • 支持生成 JavaWrapper 格式
    • 支持生成 charsets.jar 格式
    • 支持增强魔改版 JMG/JEG 格式 (java echo generator, java memshell generator)
    • 随机集合混淆
    • 垃圾类插入
    • 去除字节码符号信息
    • TC_RESET
       填充,仅适用于Java反序列化
    • UTF-8 Overlong Encoding
       混淆
    • Java
       反序列化原生 Payload 生成
    • Hessian1/2
       反序列化 Payload 生成
    • Hessian1
       支持生成 HessianServlet 格式反序列化数据
    • Shiro
       数据生成(自定义 KEY 使用 GCM 混淆字符等)
    • AMF3
       数据生成(基于原生数据多种进阶组合)
    • XStream
       数据生成(基于原生数据多种进阶组合)
    • BCEL
       字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
    • Class
       字节码生成(直接执行命令,内存马生成,回显生成,探测字节码,读写文件)
    • 多种数据库 JDBC Payload 生成(Derby | H2 | PostgreSql | Sqlite
    • SnakeYAML/SpringBeanXML/Velocity/OGNL/MVEL/SPEL/JS/GROOVY
    • Java反序列化、Hessian反序列化支持以下混淆方式:
    • 一些高级选项:
  2. JNDI
    : JNDI 注入利用模块
    • JndiBasicPayload
      : LDAP 远程加载字节码
    • JndiDeserializationPayload
      : LDAP 中基于 javaSerializedData 字段实现的反序列化
    • JndiResourceRefPayload
      : LDAP 基于 BeanFactory 的 Tomcat EL、Groovy等利用
    • JndiReferencePayload
      : LDAP 基于其他 ObjectFactory 的Reference利用,例如各种DataSource JDBC利用
    • JndiRMIDeserializePayload
      : LDAP 高版本 JDK 绕过之RMI反序列化
    • JndiRefBypassPayload
      : LDAP 高版本 JDK 绕过之ReferenceBypass
    • JndiShowHandPayload
      : JNDI梭哈链,一键测试常规利用链,提高测试效率
  3. Fake MySQL
    • FakeMysqlPayload
      : 经典 MySQL JDBC 反序列化利用姿势
    • FakeMysqlShowHandPayload
      : FakeMySQL梭哈链,一键测试常规反序列化链,提高测试效率
  4. JRMPListener
    • 可配合 JRMPClient 反序列化链实现RMI低版本的绕过
  5. TCP Server
    • 一个简易的 TCP Server,可以将生成的Payload文件挂载到TCP端口服务上
    • 适用于 Derby 反序列化 RCE 场景,可直接通过tcp端口获取反序列化数据
  6. HTTP Server
    • 一个简易的HTTP服务器,将生成的Payload文件挂载到HTTP端口服务上
    • 适用于 postgresql 远程加载 SpringBeanXML 文件等场景
工具使用

方式一

docker run -d   --name web-chains   --restart=always   -p 8011:8011   -p 58080:58080   -p 50389:50389   -p 50388:50388   -p 13999:13999   -p 3308:3308   -p 11527:11527   -p 50000:50000   -e CHAINS_AUTH=true   -e CHAINS_PASS=   javachains/webchains:1.2.4

方式二

使用 java -jar web-chains.jar 即可启动,每次启动后会打印出随机生成的密码默认监听 0.0.0.0 ,登录页面:http://your-ip:8011 (使用这里的用户名密码登录)可通过环境变量设置web登录密码,例如:Linux:export CHAINS_PASS=[your_password] && java -jar web-chains.jarWindows:set CHAINS_PASS=[your_password] && java -jar web-chains.jar

【WebChains】Java 安全研究领域的瑞士军刀

下载链接

https://github.com/Fi1ix/WebChains
https://github.com/Java-Chains/web-chains/
https://github.com/Java-Chains/web-chains/releases

 

原文始发于微信公众号(贝雷帽SEC):【红队】Java 安全研究领域的瑞士军刀

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月22日19:46:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【WebChains】Java 安全研究领域的瑞士军刀https://cn-sec.com/archives/3661231.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息