ysoSimple工具是基于ysoserial-for-woodpecker和JNDIMap二开的Java利用工具,主要是方便自己学习漏洞利用和方便自己整理漏洞利用。
(1)Java反序列化
当黑盒测试Java反序列化漏洞时,从环境探测到漏洞利用思路:
-
URIDNS/FindClassByBomb测试Java反序列化漏洞是否存在 -
FindClassByDNS/FindGadgetByDNS/FindClassByBomb测试目标环境利用链,中间件,操作系统,jdk版本 -
CommonsBeautils/CommonsCollections/C3P0漏洞利用(dnslog测试,sleep延迟,回显测试,内存马,反弹Shell) -
dirt-data-length/UTF8-Overlong Encoding对抗WAF
(2)Hessian反序列化
当黑盒测试Hessian反序列化漏洞时,从环境探测到漏洞利用思路:
-
LazyValue-InetAddress测试Hessian反序列化漏洞是否存在(用Hessian1和Hessian2协议都打下) -
LazyValue-BCELLoader/LazyValue-Jndi/LazyValue-XSTL漏洞利用(dnslog测试,sleep延迟,回显测试,内存马,反弹Shell) -
dirt-data-length/UTF8-Overlong Encoding对抗WAF
(3)XStram反序列化
-
FindClassByBomb测试XStreasm反序列化漏洞是否存在 -
.....
(4)SnakeYaml反序列化
-
FindClassByDNS测试SnakeYaml反序列化漏洞是否存在 -
FindClassByDNS探测目标环境中间件,操作系统,jdk版本 -
JdbcRowImpl/ScriptEngineManager/C3P0链漏洞利用
(5)JNDI注入
JNDI系列打法分为RMI注入和JNDI注入:
-
JDK低版本远程工厂类加载(dnslog测试,sleep延迟,回显测试,内存马,反弹Shell) -
JDK高版本本地工厂类利用(BeanFactory单参数RCE打法,JDBC Factory数据库连接打法...) -
JRMPListener JRMP层的攻击
-
JDK低版本远程工厂类加载(dnslog测试,sleep延迟,回显测试,内存马,反弹Shell) -
JDK高版本本地工厂类利用(BeanFactory单参数RCE打法,JDBC Factory数据库连接打法...) -
ldap打Java反序列化(用的多),这部分就和上面Java反序列化漏洞利用思路一样了
(6)SSTI模板注入
Java系列的模板:Freemarker,Velocity,Pebble。模板注入都是间接操作JavaAPI,通常没有探测环境的步骤,直接测试漏洞利用,利用时同样是先测试(dnslog测试,sleep延迟)保证利用链可以被利用。
-
内建函数?new:Execute命令执行,JythonRuntime命令执行,ObjectConstructor实例化对象 -
内建函数?api:调用对象的方法 -
StaticModel:静态方法调用 -
dataModel:数据模型(FreeMarker<2.3.30绕过沙箱) -
springMacroRequestContext Request上下文RCE
(7)JdbcAttack数据库利用
在系统管理后台,包括Fastjson/Java反序列化都可能涉及到JDBCAttack。JDBCAttack整理出来有俩种利用方式: 连接串利用,执行SQL语句利用。
-
H2 CreateAlias 执行Java代码 -
H2 RunScript 远程加载SQL文件 -
H2 StaticMethod 执行Java静态语法 -
H2 Groovy 执行Groovy表达式 -
H2 JavaScript 执行JS表达式
-
直接加载java字节码RCE -
远程加载jar包 -
落地jar包加载
-
socketFactory/socketFactoryArg 单参数构造方法实例化 -
loggerLevel/loggerFile 日志文件写入
-
ReadFile:读文件 -
detectCustomCollations:触发Java反序列化,测试步骤和上面一样 -
ServerStatusDiffInterceptor:触发Java反序列化,测试步骤和上面一样
-
Java原生反序列化:YsoAttack -
Hessian反序列化:HessianAttack -
XStram反序列化:XStramAttack -
SnakeYaml反序列化:SnakeYamlAttack -
Shiro550反序列化:YsoAttack -
JSF反序列化:YsoAttack -
JdbcAttack模块:JdbcAttack -
SSTI模板注入:SSTIAttack -
JNDI服务器:JNDIAttack -
字节码生成模块:ThirdPartyAttack
java -jar ysoSimple.jar -m YsoAttack
java -jar ysoSimple.jar -m YsoAttack -g CommonsBeanutils2 -a "Templateslmpl:dnslog:whoami.dnslog.cn"
java -jar ysoSimple.jar -m JNDIAttack
04 工具下载
原文始发于微信公众号(黑白之道):ysoSimple:简易的Java漏洞利用工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论